Crown Invoice
Crown Invoice is a sleek, user-friendly web application designed to make invoice creation quick and stress-free. The interface allows users to customize sender and recipient details, add as many line items as needed, set tax rates, and include personal notes — all in a single, intuitive form. The app automatically calculates subtotals, tax, and the final total in real time as you type.
When you're done, simply click Download PDF to instantly generate a professional invoice, powered by html2pdf.js, right from the browser — no accounts or back-end storage needed. Everything stays local, making it both fast and privacy-friendly.
The app also includes modals for privacy policy, terms of service, and a contact section to provide transparency and support.
Whether you’re a freelancer, small business owner, or just need to send the occasional invoice, Crown Invoice offers a smooth, no-fuss experience that looks great and works beautifully.
Tech Stack: HTML, CSS, Javascript, html2pdf.js, Vercel
Development Notes
A key challenge in building this app was ensuring that all invoice calculations (subtotal, tax, and total) updated accurately and instantly as the user edited line items. Managing deeply nested state for sender, recipient, and a dynamic list of items required careful state updates to avoid accidental overwrites or stale data.
Another important piece was integrating html2pdf.js to reliably convert the dynamic, styled invoice into a downloadable PDF. Handling asynchronous imports and ensuring the PDF output matched the on-screen design took extra fine-tuning.
Finally, keeping everything client-side (without a backend) meant focusing on privacy but also required careful handling of form resets, validation, and download feedback so the experience felt complete and smooth even without server-side support.