Inspiration
Small shop owners in India receive supplier bills as messy paper invoices, WhatsApp photos and PDFs. Every bill has to be read, typed into a payment app, double-checked and paid before its due date — for a one-person shop this is daily, error-prone busywork. One wrong digit sends money to the wrong place or misses a due date. BillBuddy turns that chore into a 30-second review: the AI reads the bill, the owner only approves.
What it does
Paste any supplier bill (text from a photo, PDF or WhatsApp forward). BillBuddy's AI extracts a structured payment draft — payee, amount, currency, due date, invoice number — and shows it as an editable card. The owner reviews, approves, and pays through a real PayPal checkout. The completed payment is captured and written to a local ledger, so the shop has a clean record of what was paid, when, and against which invoice.
How we built it
A single Node.js + Express app with a vanilla HTML/CSS/JS front end — no build step, no database. The extraction endpoint sends the bill text to Google Gemini with a strict JSON-only prompt and validates every field server-side. The payment endpoint creates a PayPal Orders v2 order in the sandbox, redirects the owner to PayPal to approve, then captures the order on return and records it in a JSON ledger. If the Gemini key or PayPal credentials are absent, the app degrades gracefully into clearly-labelled demo/simulated modes so anyone can run the full flow offline.
Challenges we ran into
- PayPal sandbox refuses INR orders, and two Indian sandbox accounts cannot transact in USD (domestic-payment rule) — solved by settling foreign-currency bills in USD at a transparent demo FX rate, and testing with a US buyer/seller sandbox pair.
- Gemini retired the model we started with for new users mid-hackathon — the model is now configurable, defaulting to the current Gemini Flash model.
- Keeping the demo honest: simulated results are always labelled, never disguised as real payments.
What we learned
Agentic payments work best as "AI prepares, human approves": the model does the reading and typing, the owner keeps the final say. We also learned the PayPal sandbox's currency and country rules the hard way — and documented them in the README so other builders don't have to.
What's next
Photo/OCR bill input, due-date reminders, UPI statement reconciliation for Indian shops, and a WhatsApp front end (shop owners live on WhatsApp).
Built With
- css3
- express.js
- google-gemini
- html5
- javascript
- json
- node.js
- paypal
- paypal-checkout
- rest-api