DEV Community

Denis Zontak
Denis Zontak

Posted on AI-assisted

What it costs to start an open source project (my real numbers)

When I started working on UseHourly, I was just going to be the only user. But then somehow I decided it should be an open source project for other people to use. So in reality, since I'm hosting it, this project is no longer totally free for me. It's actually going to cost me money if people do start using it.

Here is what it actually costs me, line by line.

What I pay every month

What Cost a month Why
Cloudflare (hosting and database) $5 The minimum paid plan. It runs the app and stores the data.
Resend (email) $20 I upgraded to the Pro plan so I don't run into the email limits.
Domain (usehourly.app) $1 for the first year, about $12 a year after that (about $1 a month)
Continuous integration (CircleCI) $0 (free plan) Runs the checks and deploys when I merge.
AI coding assistant (Claude) $20 on the Pro plan, which should be enough for most people. I pay $100 for Max because I work on about five projects at the same time, so UseHourly is only part of that. It wrote most of the code.
Running it (hosting, email, domain) about $26 a month
Running it plus the assistant about $46 a month on the $20 plan (about $126 with the $100 plan I use for all my projects)

What was free

Things I use that cost me nothing:

  • GitHub for the code, in a public repository.
  • CircleCI, on its free plan, for running the checks and deploying.
  • Automatic checks on every pull request (GitHub Actions), a security scan (CodeQL) and dependency updates (Dependabot).
  • A bot-protection widget for sign-up (Cloudflare Turnstile), ready but switched off.
  • npm, dev.to and Medium for sharing it.

The thing that surprised me: running UseHourly costs about $26 a month. The most expensive part is not the servers. It's the AI assistant I used to build it: $20 a month for most people. I pay $100 for the bigger plan, but I use it for about five projects at the same time, not just this one.

What I think it will cost with more users

I wanted to know what happens if people really do start using it, so I looked up the prices and made an estimate. These are estimates, not measurements. I assumed every user is active, about 20 days a month, with a small number of requests per day.

Today 1,000 users 10,000 users
Cloudflare (hosting and database) $5 about $5 about $5 to $6
Email (Resend Pro) $20 $20 $20
Rough total a month about $25 about $25 about $25 to $30

I was surprised by this. I thought the $5 plan would only handle about 100 users. By my estimate it covers thousands of active users, because the free amounts that come with the plan are large. The email plan is the cost that is already real. The prices are from Cloudflare's and Resend's own pricing pages.

What worries me

What worries me when many people sign up is that I'm going to end up with a bill of more than $100 for this thing. I guess I can afford it, but I'd rather not. I'd rather this be sponsored, really.

What I'll do if it gets expensive

If it got very expensive, I'll probably have to hold some kind of fundraiser. Like if it's over $100. I already have sponsorship links on my site. Hopefully I would just start by posting a message to all users, asking if they can donate a little bit to cover the monthly cost, if it's too large.

I built a small notice for exactly this. It's off right now. If I switch it on, people see a short note on the Today page saying what hosting costs, with a link to my sponsors page. It only shows inside the app. I don't send marketing email, and I don't want to start.

Conclusion

So that's what it costs to start an open source project, in my case. It's free to use, and it's not free for me. Right now it's about $26 a month to run, counting hosting, email and the domain, and my estimate says it stays about that even with thousands of users. If I'm wrong and it ever gets past $100, I'll say so openly, and I'll ask for help.

If you use it and it helps you, you can sponsor it on GitHub: https://github.com/sponsors/Zontak-LLC. And if you've paid for a free project of your own, I'd like to hear what it cost you.

This article was dictated by me. Claude, an AI assistant, helped put it in order, looked up the prices, made the cost estimate and drafted a few sentences, which I edited. The numbers about what I pay are mine.

Top comments (2)

Collapse
 
posting-dude profile image
Posting Dude •

the estimate that the $5 cloudflare plan covers thousands of active users is the part that stood out to me. what request volume per user per day did you assume, and which limit do you think you'd hit first, database reads or worker requests?

Collapse
 
dzontak profile image
Denis Zontak •

Good question. Rough numbers, from how UseHourly is built and a load test on staging this week:

Assumption: an active user opens about 20 pages a day. Each page is one batched API request (we design for that), so roughly 30 Worker requests a day with saves, about 900 a month. Static files don't count as requests.

Against the $5 plan's included amounts:

  • Worker requests: 10M a month ÷ 900 ≈ 11,000 active users.
  • D1 rows written: 50M a month. Each time entry writes about 13 rows (the row plus its indexes and a sync log), so ~5 entries a day plus edits is ~3,000 rows a month per user ≈ 16,000 users.
  • D1 rows read: 25 billion a month is huge. Every page reads one account through an index, a few hundred rows, so reads come last.

So Worker requests run out first, then writes. Reads are not close.

Two caveats. These are estimates, not billing data from real traffic. And it's not a wall: past the included amounts it's pay-as-you-go ($0.30 per extra million requests, $1 per million rows written). The load test with 10,000 realistic accounts wrote about 30M rows and still fit in one month's allowance.