Inspiration

The idea for BillCraft came from noticing how unnecessarily complicated GST invoicing still feels for many people in India. For students, freelancers, or small business owners, generating a simple, compliant invoice often means dealing with heavy accounting software that feels intimidating and overkill. I wanted to build something that removes that friction — a tool that focuses only on what’s essential, feels modern to use, and doesn’t require prior accounting knowledge just to raise an invoice.

What it does

BillCraft is a web-based GST invoicing platform that allows users to create, manage, and export professional GST invoices quickly and reliably. Users can store their business details once and reuse them, manage buyers as beneficiaries, add invoice items with individual discounts and GST rates, and see a real-time preview of the final invoice. The system automatically calculates GST components and generates a clean, legally formatted invoice that can be downloaded as a PDF. Past invoices are securely stored and can be viewed, edited, or deleted from a dashboard.

How we built it

One of the main challenges was designing the GST logic in a way that supports real-world scenarios, such as per-item discounts and varying tax rates, while keeping calculations accurate and transparent. Another challenge was maintaining a clear separation between editable business profiles and immutable invoice data so that past invoices remain legally consistent even if business details change later. Handling Supabase row-level security correctly and ensuring strict TypeScript checks passed during production builds also required careful debugging and architectural decisions.

Challenges we ran into

One of the main challenges was designing the GST logic in a way that supports real-world scenarios, such as per-item discounts and varying tax rates, while keeping calculations accurate and transparent. Another challenge was maintaining a clear separation between editable business profiles and immutable invoice data so that past invoices remain legally consistent even if business details change later. Handling Supabase row-level security correctly and ensuring strict TypeScript checks passed during production builds also required careful debugging and architectural decisions.

Accomplishments that we're proud of

I’m proud that BillCraft evolved beyond a simple demo into a production-ready application with a clean architecture. Features like reusable business profiles, beneficiary management, invoice editing, and PDF export came together in a way that feels cohesive and practical. The app follows real-world accounting principles while still being approachable and easy to use, which was the original goal from the start.

What we learned

Building BillCraft reinforced the importance of designing software around real user workflows rather than just features. I learned how small architectural decisions, such as separating master data from transactional data, can have a big impact on correctness and scalability. Working with Supabase also highlighted how critical proper authentication and row-level security are in real applications. Most importantly, I learned that simplicity in user experience often requires more thought, not less, on the engineering side.

What's next for BillCraft

Going forward, BillCraft can be extended with features like automatic IGST versus CGST enforcement based on buyer and seller states, financial year–based invoice numbering, invoice sharing via email or public links, and payment status tracking. The long-term vision is to keep BillCraft lightweight and intuitive while gradually adding features that genuinely reduce friction for small businesses and independent professionals.

Built With

  • auth
  • generation:
  • html2pdf.js
  • javascript-frontend:-react
  • languages:-typescript
  • pdf
  • rls)
  • vercel
  • vite-styling:-tailwind-css-backend-/-auth-/-db:-supabase-(postgresql
Share this project:

Updates