From 0 to 100. Sounds like the kind of growth you dream about.
In my case, it was the hosting bill. From €0 to almost €100 a month. In one go, with no warning. The cause? Success, oddly enough.
This is the story of how a growing side project suddenly started costing me real money, and how I fixed it by building a piece of infrastructure myself. The result: from €99 down to €9 a month.
What happens when you save a recipe
First, some background. When you save a recipe in Parsely, the real work doesn't happen on your screen. In the background, Parsely fetches the page, extracts the recipe, and has AI clean up the ingredients, steps, nutrition facts, and translations. That can take tens of seconds, and no user wants to sit and wait for it.
That kind of work is called a background job: a task that runs outside your screen and finishes whenever it finishes.
And that's where my problem lived. Parsely runs on Vercel, and Vercel can't run background jobs. Only simple scheduled tasks. For anything that takes longer, or needs to be retried when something goes wrong, you need something else.
Inngest: a fine way to start
For that I used Inngest, a service that does exactly this. You say "run this task", and Inngest makes sure it happens. Even when a website is slow, even when something crashes, even when it's a thousand tasks at once.
And credit where it's due: Inngest worked great. It got me up and running fast, and the free tier — up to 50,000 task runs a month — was plenty. Or so I thought.
The invoice
Then I wanted more recipes in Parsely. I built an import pipeline: a system that pulls recipes in from the web, validates them, and enriches them. Every import is a chain of background jobs. Fetch, parse, enrich, translate, verify.
You can see it coming. The import pipeline started running, and in a single month I blew way past those 50,000 task runs.
Above the free tier there's no small surcharge — there's the next tier: €99 a month. From €0 to €99, in one invoice.
That's the odd thing about these services: you don't pay for what you use on top, you jump to the next step. And for a side project, that step was steep.
Doing the math
In an earlier post about Parsely's costs I wrote: "if you self-host on a VPS, you're looking at just a few euros a month." Time to follow my own advice.
So I did the math. What was I actually using from Inngest? Three things: putting tasks in a queue, retrying when something fails, and picking up where things left off after a crash. That's it.
That's very buildable. I wrote my own workflow engine: a program that accepts tasks, runs them, retries on failure, and recovers cleanly when the server restarts mid-task. I tested it thoroughly — including deliberately crashing it in the middle of a job to see if everything carried on properly. It did.
The result now runs on my own €9-a-month server.
From 0 to 100 — and back to 9
The savings are nice, but the bonus might be even better: the engine is mine. My next projects connect to the same server for free. Where every new app on an external service costs money all over again, with your own infrastructure you build once and reuse.
And the honest caveat, because it belongs here: building it yourself isn't always the answer. Maintenance is now my problem. When something breaks, there's no support department — I am the support department. Inngest got me moving fast back when I didn't yet know exactly what I needed, and that was worth it.
But that's exactly the point: after a year, I did know what I needed. Three features, not a hundred. And for three features you fully understand, €99 a month is a calculation with only one outcome.
What I learned
Two things stick with me.
First: start with a service, build it yourself once you understand it. Services like Inngest are worth gold while you're still figuring things out. But once you know exactly which small slice you use, building it yourself suddenly becomes feasible — and often much cheaper.
Second: success comes with a price tag, and it arrives unannounced. More users, more recipes, more tasks. Costs that scale with usage are fine, but tiers that jump in one step can catch you off guard. Know the limits of your free tiers.
Facing this trade-off yourself?
Build it yourself or keep paying for a service — it's a trade-off every growing product runs into eventually. The answer depends on what you use, what you can build, and what your time is worth.
That's exactly the kind of problem I work on. I build as an agentic developer: I use AI deliberately to get to something working fast, and bring the craftsmanship for sound decisions on architecture and costs — from first idea to live platform.
Want to talk through a trade-off like this in your own project? Feel free to get in touch. Happy to think along.
Try Parsely yourself
Curious what all those background jobs are running for? Try Parsely for free and save your first recipe — no pop-ups, no life stories, no hassle.