๐Ÿ’ก Inspiration

My friend and I run an after-school program and had a backlog of bills to enter into QuickBooks. Doing it manually was ๐Ÿ˜ฉ tedious; so I built a tool to speed it up and make bookkeeping feel effortless.


โš™๏ธ What it does

Billing Extension lets you highlight bill info right inside your email and turn it into a QuickBooks-ready CSV in seconds. AI (Gemini Nano) extracts the details, vendor, date, line items, etc, and stores them locally.


๐Ÿ› ๏ธ How we built it

Built with the WXT Chrome Extension Framework, Vue + Atomic Design for the UI, and Chromeโ€™s built-in Prompt API (Gemini Nano) for AI extraction.
Local-first architecture means no cloud setup, everything runs right in your browser.


๐Ÿงฉ Challenges we ran into

  • The limited context of the Prompt API made it tricky to get consistent extractions across multiple emails.
  • Teaching the extension to auto-recognize new bills after the first one was tougher than expected.

๐Ÿ† Accomplishments that we're proud of

  • Turned this around super fast ๐Ÿš€ especially after struggling to get started last year.
  • Got AI extraction working fully offline using Gemini Nano.
  • Created a scalable extension based on domain-driven design (DDD), complete with event sourcing!

๐Ÿ“š What we learned

  • The built-in AI in Chrome has improved dramatically; itโ€™s now genuinely helpful for local-first AI projects.
  • Good UX matters even in dev tools โ€” the โ€œMark as Billโ€ right-click flow made a big difference in usability.

๐Ÿ”ฎ What's next for Billing.ext

  • ๐Ÿค– Auto-detect bills based on ones already marked
  • ๐Ÿ“Ž Enrich bills with PDFs and attachments from emails

Built With

  • vue
  • wxt
Share this project:

Updates