What Nobody Posts on Twitter
The startup cost conversation online is dominated by two camps: "I built it for $0 on free tiers" and "we raised $2M before writing code." Neither is true for most bootstrapped SaaS platforms. The reality is in the middle — and the costs are rarely where you expect them.
I started writing this post the morning a $200 charge from a service I'd half-forgotten landed in our account. It wasn't a surprise that the service existed. It was a surprise that the bill had jumped. That's most cost management at this stage: not "what does it cost," but "what just changed."
Start Free. Expand Only Where You Have To.
Before I spend a dollar on a tool, I ask four questions:
- Does this solve a problem I have right now? Not next quarter. Not "when we scale." Right now.
- Is there a free or good-enough alternative? Most categories have one — a free tier of a paid product, an open-source equivalent, or just doing the thing manually for the first ten times.
- What does this cost across six months? Annualize the subscription. Add the cost of switching away if it doesn't work.
- Does it accelerate progress, or just add complexity? A tool that requires a week of setup to save you a day later is a net loss.
The principle underneath the questions: buy tools that multiply your time. Skip tools that organize your time. A project board you already have works fine. A second project board doesn't add value just because it's prettier.
Stay on free tiers until you can't. Then upgrade before hitting the limit — getting cut off in the middle of a launch sprint is more expensive than the tier upgrade you delayed. Monitor weekly. Upgrade proactively.
Cloud Infrastructure: The Biggest Line Item
Cloud hosting is our largest recurring cost. Running a production platform requires compute, database, storage, CDN, and networking — each billed independently. Pre-production environments add to this: you need at least one staging environment to test safely, which means paying for a second set of most resources.
Cost management isn't just about choosing the cheapest tier. It's about understanding which services scale with usage and which are fixed. A database has a fixed monthly cost regardless of traffic. A CDN costs more as traffic grows. Communication APIs charge per message. Each has a different cost curve, and you need to understand all of them before a surprise bill arrives.
We built cost monitoring into our operational dashboard early — not as a nice-to-have, but as a survival tool. When you're bootstrapped, an unexpected $200 charge matters.
Identity and Authentication
Enterprise-grade identity isn't free. Many identity providers offer free tiers, but those tiers come with limits — user caps, feature restrictions, or branding constraints. A hiring platform supporting two distinct account types with role-based access blows past free-tier limits quickly.
The cost of identity isn't just the service itself. It's the engineering time to integrate it, debug it, and maintain it. Identity was the single most time-intensive piece of the build for us. Time is money, even when you're not paying yourself a salary — every hour spent debugging an authentication corner case is an hour not spent on features users will see.
Communication APIs and the Bounced-Email Lesson
A hiring platform sends emails (application confirmations, status updates, match notifications) and SMS messages (phone verification, security codes). Email is cheap individually but adds up at volume. SMS is expensive per message but critical for verification.
We learned an expensive lesson here. A single bounced message can throttle every other message you send — not just the one that bounced. One bad address in our test data nearly blocked verification codes for real users for hours. The fix wasn't technical; it was operational. We had to scrub test data, configure suppression handling, and accept that sender reputation is a shared resource across every message we send.
Choosing the right provider and understanding their pricing model isn't a technical decision. It's a business decision with operational consequences.
Domain, DNS, and SSL
Domain registration, DNS hosting, and SSL certificates are small line items individually but they're non-negotiable. A custom domain with business email adds legitimacy. SSL is required for any platform handling personal data. DNS configuration determines where your traffic goes and how fast it gets there.
Development Tools and AI Leverage
Source control, CI/CD pipelines, project management, and development environments all have costs. Many offer generous free tiers for small teams. As your codebase grows past 1,000 commits across multiple environments with automated testing, you start hitting limits.
AI-assisted development is the newer cost category and the one I have the most conviction about. The math is short: $30/month for ChatGPT Plus ($20) and GitHub Copilot Pro ($10). That's one meal delivery. Or two Starbucks a week. For a small team with limited focused hours, AI tooling isn't optional — it's the leverage that makes the math work.
I staged the adoption. ChatGPT Plus came first, during the planning phase — writing the PRD, scoping the MVP, drafting documentation. GitHub Copilot Pro was added once the coding phase started. Writing the first version of the PRD alone would have taken 8–10 hours. With AI assistance it took 2–3 hours and was better. That's the leverage in one number.
Budget tight? The free tiers work; you'll move slower. Copilot's free tier gives you 50 requests a month. ChatGPT free is fine for casual use. But $30/month for the paid versions is the highest-ROI line item on our entire cost sheet. (How AI integrates with the rest of the build is in the technical-track post on small-team velocity.)
The Hidden Costs
The costs that surprised us most weren't the services — they were the gaps between services:
- Data transfer — moving data between cloud services within the same provider isn't always free
- Log storage — telemetry and application logs accumulate fast, and retention policies have cost implications
- Security features — firewall rules, DDoS protection, and threat detection are often premium add-ons
- Testing environments — every feature tested in staging consumes real cloud resources
- Legal review — privacy policies and terms of service need refreshing whenever your data handling changes
Trade Skills for Skills
Money isn't the only currency a bootstrapped founder has. Time, skills, mentorship, access — these can buy things a check would otherwise buy, and they can buy something a check can't: a relationship that outlasts the transaction.
A few exchanges that worked for us:
- An intern over a contractor for the right work. A student gaining real platform experience is a fair exchange for help on testing and build tasks. The student gets a portfolio piece and references; you get focused help at a price point you can sustain. Knowing when to invest time versus money is a founder skill in itself.
- Mentorship for testing. Before our April launch, we needed real user-acceptance testing and couldn't pay for it at scale. We offered community students $50 or two hours of mentorship in exchange for a testing session. Every student who showed up chose the mentorship. They learned what UAT is and how to give useful product feedback; we got better testing than any automated suite could provide.
- Expertise traded both ways with partners. When a workforce partner shared a population-specific insight that sharpened a feature, we shared what we'd learned about platform design that helped their program. Neither side wrote a check.
The principle: if you don't have money, you have skills. Trade them deliberately. Done well, the trades pay back longer than money would have.
The Bootstrapping Discipline
Bootstrapping forces a discipline that funded startups can defer: every dollar spent has to be justified by the value it creates. We chose services based on what the platform needed today, not what it might need at scale. We used free tiers where they were sufficient and paid only when the free tier created actual friction.
The insight that changed how I think about this: the goal isn't to minimize cost. It's to maximize the ratio of value delivered to money spent. A $50/month service that saves ten hours of engineering time is a better investment than a free alternative that costs you a week of debugging.
What I'd Do Differently
I'd set up cost alerts on day one for every service, not the third or fourth month in when a bill surprised me. The two-minute setup costs nothing and pays for itself the first time it catches a runaway charge.