The Problem
Every freelancer needs invoices. Most "free" tools aren't really free — they limit you to 5 invoices/month, require an account, or add watermarks. I wanted to build the simplest possible invoice tool with zero ongoing costs.
The Architecture
The entire application runs client-side in the browser:
No backend — all logic runs in JavaScript
No database — form state lives in the DOM
No auth — no accounts to manage
No server costs — Firebase Hosting free tier handles everything
Key Technical Decisions
PDF Generation: I used jsPDF to generate invoices client-side. The PDF is created entirely in the browser and downloaded directly — no server round-trip needed.
Offline Support: The app is a Progressive Web App (PWA) with a service worker. Once loaded, it works without an internet connection.
Privacy: Since there's no backend, user data never leaves the browser.…