Dutch It
Split the bill. Keep the friendship. Check every rupee.
- React.js
- JavaScript
- Node.js
- Express.js
- MongoDB
- Mongoose
- Gemini AI
- Zod
- JWT
Measured
- Receipt parsing
- 95%+
- Resume-reported accuracy; evaluation set and sample size pending.
- Validation tolerance
- INR 0.01
- Resume: backend mathematical validation checks.
What it is
Problem — A shared restaurant bill rarely means an equal split. Different orders, quantities, taxes and dietary preferences make the final settlement awkward. Manually transcribing a receipt adds another chance to get it wrong.
Approach — Build an end-to-end MERN application that automates receipt itemization and group transaction settlements. Gemini vision extracts itemized lines, quantities and taxes; strict JSON schema enforcement and mathematical checks validate the result before it feeds the split workflow.
Architecture — React interface → authenticated Express APIs → Gemini receipt extraction → schema and arithmetic validation → customizable split calculation → MongoDB persistence. JWT-based sessions and API request handling keep group state associated with authenticated users.
Outcome — The platform is live and remains in active development. The resume reports 95%+ receipt-parsing accuracy and an INR 0.01 validation tolerance. The evaluation dataset and sample size have not been supplied, so accuracy is a resume-reported result rather than an independently reproduced benchmark.
Decisions worth defending
- Engineered a full-stack React.js and Node.js platform for expense splitting, automated group settlements and receipt itemization.
- Integrated Gemini vision APIs with strict JSON schema enforcement to extract receipt lines, quantities and taxes; resume-reported parsing accuracy is 95%+.
- Built a backend validation engine with strict mathematical checks at INR 0.01 tolerance and multiple customizable, real-time split modes to catch and resolve data-integrity issues.
- Implemented JWT-based session authentication and API request handling, maintaining reliable cross-group state management across the application.
Not built yet
Planned work, with the reason it is next. None of this exists today.
Publish a reproducible receipt evaluation set
Make accuracy traceable to receipt types, sample sizes and failure cases.
Expand automated tests around totals and rounding
Keep taxes, quantities and settlement balances correct as split modes evolve.
Improve extraction feedback and recovery
Help users review uncertain lines and correct malformed receipts without losing work.
