Most internal SaaS is a per-seat subscription you pay forever. The price goes up over time, features move behind higher tiers, and you adapt your process to whatever the vendor decided to build.
I’ve been moving my internal tools off SaaS and onto software I write and host myself. This is the cost math and the part that matters more than cost: I can change anything I want.
What changed
Building a small internal tool used to cost too much of my own time to justify against a $10/month subscription. That math has changed.
With Claude Code writing most of the code, a focused internal tool is a few build sessions, not a few weeks. The recurring cost drops to hosting, which is flat and doesn’t scale with seats.
So the comparison is no longer “free time vs a cheap subscription.” It’s “a one-time build I own vs a recurring subscription that gets more expensive over time.”
A note on the numbers below. All competitor pricing is current as of June 20, 2026, for one seat on annual billing. My hosting figures are estimates from published Sevalla and Linode rates, flat regardless of seats, and most of these tools share infrastructure I already run.
Calendar tool vs Calendly and zcal
I run my own scheduling tool instead of a hosted booking page.
| Option | Monthly | Annual (1 seat) | Notes |
|---|---|---|---|
| Calendly Free | $0 | $0 | 1 event type, 1 calendar |
| Calendly Standard | $12 ($10 annual) | $120 | Unlimited event types, integrations |
| Calendly Teams | $20 ($16 annual) | $192 | Routing, round-robin |
| zcal Free | $0 | $0 | Generous free tier |
| zcal Pro | $9.50 ($7 annual) | $84 | Teams, round-robin, custom branding |
| My calendar tool | est. ~$10 | est. ~$120 | Sevalla app pod, owned code |
To be fair, on a one-seat dollar basis this is the weakest case. zcal’s free tier does most of what a scheduling page needs, so there’s no money to save against it.
The win here isn’t the monthly cost. It’s that I can build booking logic the hosted tools don’t offer,and wire it straight into my Trello and Slack pipeline. I also never get a price-increase email.
TimeTracker vs Toggl
I built TimeTracker (Laravel and PostgreSQL) to replace Toggl, mainly because I needed concurrent timers across client sessions and better invoicing integrations.
| Option | Monthly | Annual (1 seat) | Notes |
|---|---|---|---|
| Toggl Free | $0 | $0 | Up to 5 users, no billable rates |
| Toggl Starter | $10 ($9 annual) | $108 | Billable rates, invoicing |
| Toggl Premium | $20 ($18 annual) | $216 | Profitability, approvals, SSO |
| My TimeTracker | est. ~$15 | est. ~$180 | App pod plus managed Postgres |
Realistically, for one seat, hosting an always-on app and database costs about the same as Toggl Starter. This isn’t a money-saver for a solo operator looking only at the invoice.
It’s a capability I couldn’t buy. Concurrent timers across overlapping client work don’t exist in Toggl at any tier, and a QuickBooks integration that I control is a win.
Client knowledgebase vs Notion, Confluence, and Guru
My Clients KB runs cron-based enrichment through Claude, a GitHub repo per client, Trello as the write interface, and a read-only dashboard. The closest commercial tools are knowledge bases with AI search.
| Option | Monthly | Annual (1 seat) | Notes |
|---|---|---|---|
| Notion Free | $0 | $0 | Limited history and uploads |
| Notion Plus | $10 | $120 | Unlimited uploads, 30-day history |
| Notion Business | $20 | $240 | Bundled AI, agents, enterprise search |
| Confluence Free | $0 | $0 | Up to 10 users |
| Confluence Standard | ~$5 to $6 | ~$65 | Per-user, annual |
| Confluence Premium | ~$10 to $11 | ~$125 | Adds analytics and AI |
| Guru Self-Serve | $25/seat, 10-seat min | $3,000 floor | Can’t buy a single seat |
| My Clients KB | est. ~$0 added | est. ~$0 added | Runs on a Linode box I already pay for |
This is the clearest win. Guru, the tool most like what I built, has a 10-seat minimum, so the floor is $3,000 a year whether you’re one person or ten.
Notion and Confluence have real free tiers, but neither runs the scheduled enrichment and per-client repos I rely on. My version costs effectively nothing to host because it shares a box I already pay for, and the AI enrichment runs on API calls I control.
Trello replacement (in progress) vs Trello
I use Trello as the write surface for the KB and I’m building a replacement. The board-per-client model means I pass the free plan’s 10-board cap quickly.
| Option | Monthly | Annual (1 seat) | Notes |
|---|---|---|---|
| Trello Free | $0 | $0 | 10 boards per workspace |
| Trello Standard | $6 ($5 annual) | $60 | Unlimited boards, custom fields |
| Trello Premium | $12.50 ($10 annual) | $120 | Calendar, timeline, dashboard views |
| My Trello replacement | est. ~$10 | est. ~$120 | App pod, work in progress |
Honestly: a modest dollar difference against Standard, and roughly even against Premium for one seat.
The reason to build it is the same as the others. I want the exact board model and automations my workflow needs, the data in my own database, and a direct connection to the KB pipeline instead of a Power-Up.
Conclusion
For a single seat, the dollar savings on most of these are small. The free and entry tiers of mature SaaS are genuinely cheap, and I’m not going to pretend otherwise. The exception is anything with a seat minimum, like Guru, where the floor is thousands a year for one person.
The case is the combination, not any single line item. Flat hosting instead of per-seat billing, no exposure to price increases or features moving up a tier, data in my own database, and the ability to change any behavior with a code edit instead of a feature request the vendor might never build.
There’s a real cost in return. I maintain these, I’m the support team, and I handle the security and uptime. That only works because the build cost dropped far enough that owning my own tools is a reasonable trade.








