I just shipped a new portfolio project: a Free Invoice & Document Generator that runs entirely in the browser.
I wanted to challenge myself to build a complex form-handling application without relying on a backend database. The goal was to create something useful for freelancers that respects user privacy by design.
🚀 The Project
The app allows users to generate professional Invoices, Quotes, and Receipts instantly. Because it uses Local Storage, users can close the tab and come back later without losing their work, but no data is ever sent to a server.
🔗 Live Demo: Invo
🛠️ The Stack
- Framework: React (Vite) for speed.
- State: Zustand (for handling complex nested form data).
- Styling: Tailwind CSS (specifically utilizing @media print to ensure pixel-perfect A4 outputs).
- Icons: Lucide React.
🔮 Future Roadmap
While the app is functional now, I have a few features on the roadmap:
- Cloud Backup: Integrating Supabase/Firebase for users who want to sync across devices.
- PDF Export: Improving the native download functionality.
- Authentication: Optional login for saving client lists permanently.
🙏 Request for Feedback
I built this to demonstrate my skills for freelance clients on Upwork.
- How is the UX? Is the form flow intuitive?
- Are there any "must-have" features for invoicing that I missed?
- Any code organization tips for large Zustand stores?
I appreciate any feedback or code reviews!
Thanks for reading. Happy coding!

Top comments (0)