I've been a freelancer for most of my career, and I've written and sent something like a thousand invoices. For years I used whatever free generator was top of Google that month. The pattern was always the same.
I'd land on the homepage. There'd be a hero with a screenshot and a "Get started for free" button. I'd click it. I'd be asked for my email. I'd fill in an invoice. I'd try to download. I'd be asked for my email again, this time really. I'd give up, paste my invoice into a Google Doc, and export that as PDF.
This kept happening, so I built a thing.
What "free" usually means
On the modern web, "free" almost always has a hidden cost. For most invoice generators, that cost is one of four things:
Your email. Used to qualify you as a lead, drop you into a drip campaign, and try to sell you a paid plan. The tool is free because it's actually a sales funnel for a different product.
Your data. Stored on the company's servers, theoretically to make the tool work, practically as a moat. The day you want to leave, your invoice history goes with the platform.
Your attention. Every screen has an upsell tooltip, a banner, a modal, a sidebar. The tool works, but you have to wade through marketing to use it.
A watermark on your output. "Made with BillFlow Pro" stamped across the footer of a PDF you're about to send a client. Free as in "your client now knows you couldn't be bothered to pay for an invoice tool."
None of these are evil, exactly. People building free tools have to eat. But all four are friction the user didn't agree to when they typed "free invoice generator" into Google.
The architectural choice that removes all four
There's a simple trick that eliminates every item on that list: don't have a backend.
This tool is a static site. There is no database. There's no server that knows who you are. When you click Download PDF, your browser runs about 60 kilobytes of JavaScript that turns your form into a PDF locally, then hands it to you. Your invoice never leaves your machine — there's no place for it to go.
Because there's no database, there's no account. Because there's no account, there's no email collection. Because there's no email, there's no upsell email. Because we never see your data, there's no lock-in.
It also makes the site much faster than the alternatives. There isn't a server doing work — the work happens in your browser, in milliseconds, on the device already in front of you.
What about saving invoices then?
Your browser has a feature called localStorage — a small private database that lives inside the browser itself, scoped to this site. Saved invoices go there. They survive when you close the tab and come back later. They're still gone if you clear your browser data or switch devices.
For most freelancers this is enough. You finish an invoice, you download the PDF, you send it. The browser copy is a convenience — the PDF is the real artifact. If you want to keep a structured backup, the History panel has Export and Import buttons that move your data in and out as a JSON file. Put that file in iCloud or Dropbox if you want cross-device.
What about the money?
Eventually, content pages on this site — the blog, the guides, the template articles — will carry small ads served by Google AdSense. They never appear on the generator itself, and they never appear on your PDF. That's the deal. The tool stays free forever; if people read enough of the articles, hosting pays for itself.
I'm not going to pretend this is a charity. But the unit economics of a backend-free tool are different from a SaaS app. I don't need you to convert. I don't need to grow ARR. I just need to keep a Vercel project alive, which costs roughly the price of a coffee per month, and the ads cover that several times over.
The slightly grumpy conclusion
There's a strain of modern software design that treats every interaction as the start of a relationship. The user shows up to do a thing; the software wants to know who they are, retain them, measure them, market to them.
Most of the tools I love don't work this way. Sublime Text. The Unix command line. The Wayback Machine. Wikipedia. They're useful because they're anonymous. They do one thing well, they don't ask for anything, and they're still here years later.
I wanted an invoice tool like that. So I built one.
— Muhammad Saad, indie developer. More about me · Email