This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle.
What I Built
ChaoticSplitter is an open-source, multimodal AI-powered bill-splitting application that transforms restaurant receipts and natural-language instructions into accurate, itemized settlements.
Ever gone out for dinner or on a trip with friends, only to spend more time calculating the bill than enjoying the experience?
Someone shared the pizza, someone ordered a separate drink, another person arrived late, and there are taxes, discounts, and service charges to account for. Manually calculating everyone's share is frustrating, and rounding errors can leave the final bill unbalanced.
I built ChaoticSplitter to make this process effortless.
Key Features
- ๐ธ AI Receipt Scanning: Upload or capture a receipt, and Gemma 4 Vision extracts line items, quantities, prices, taxes, and service charges.
- ๐๏ธ Voice-Powered Splitting: Describe how the bill should be divided in natural language. ElevenLabs Scribe converts voice recordings into text, and Gemma interprets the instructions.
- ๐ง Intelligent Item Allocation: Assign dishes to participants using instructions such as, "Alice and Bob shared the pizza, Charlie had the soup, and split the drinks equally."
- โ๏ธ Zero-Leakage Financial Calculations: A deterministic Python
decimal.Decimalengine calculates shares, distributes taxes, and reconciles rounding differences so the allocated total matches the receipt total. - ๐ฑ Instant UPI Settlement: Generate personalized UPI payment QR codes and payment links for participants who owe money.
- ๐ฌ WhatsApp-Ready Summaries: Share the complete payment breakdown with your group in one click.
- ๐ญ Production Observability: Sentry tracing helps monitor AI pipeline operations, settlement calculations, and errors.
Who Would Pay for It?
ChaoticSplitter is designed for groups of friends, travelers, roommates, and anyone who regularly shares expenses. It could also serve restaurants, travel organizers, and event planners looking to simplify group settlements.
The vision is to turn a tedious financial chore into a quick, transparent, and reliable experience.
Demo
๐ Live Application: https://chaotic-splitter.vercel.app/
Try it live: upload a receipt, describe how the bill should be split, verify each person's share, and generate UPI payment QR codes.
- Frontend โ Vercel: https://chaotic-splitter.vercel.app/
- Backend โ Render: https://chaoticsplitter-backend.onrender.com
Code
๐ป GitHub Repository: rajanikant04/chaoticSplitter
The project is available under the MIT License. Explore the implementation, report issues, suggest improvements, or contribute new features.
How I Built It
I built ChaoticSplitter using a hybrid AI architecture that combines an open-weight AI model, speech recognition, deterministic financial logic, and production observability.
Tech Stack
- Open-weight AI model: Google Gemma 4, accessed through Ollama Cloud
- Speech-to-text: ElevenLabs Scribe
- Backend: Python, FastAPI, Pydantic
- Frontend: React 19, TypeScript, Vite
-
Financial calculations: Python
decimal.Decimal - Payments: UPI QR codes and payment deep links
- Observability: Sentry distributed tracing
- AI-assisted development: GitHub Copilot as an AI coding agent
- Frontend deployment: Vercel
- Backend deployment: Render
How the Pipeline Works
1. Capture the group and receipt
Users create a group through voice or text and upload a restaurant receipt. ElevenLabs Scribe transcribes voice recordings, while Gemma 4 Vision extracts structured information from the receipt.
2. Understand the splitting instructions
Users explain who consumed which items. Gemma interprets the instructions and produces structured item-to-participant allocations.
For example:
"Alice and Bob shared the pizza, Charlie had the soup, and split the drinks equally."
The AI converts this instruction into structured allocations that the backend can process.
3. Calculate every share deterministically
This is the most important engineering decision in the project.
Never let an LLM do arithmetic.
LLMs are excellent at understanding ambiguous instructions, but they can make mistakes when performing precise calculations. A financial application cannot afford unexplained rounding errors or mismatched totals.
Gemma handles receipt understanding and semantic reasoning. Python's decimal.Decimal engine handles the actual financial calculations, including proportional taxes, discounts, rounding, and residual reconciliation.
Any remaining rounding difference is systematically reconciled so the sum of individual shares matches the printed receipt total.
This separation makes the financial logic independently testable and prevents the language model from being responsible for the final arithmetic.
4. Verify and settle
Users review and adjust the allocations through an interactive interface. The backend recalculates the settlement, reconciles rounding residuals, and generates personalized UPI QR codes and payment links.
Finally, users can share a formatted payment breakdown directly with their group through WhatsApp.
Deployment and Observability
The React frontend is deployed on Vercel, while the FastAPI backend runs on Render.
I integrated Sentry for observability, with tracing across key pipeline stages, including speech transcription, receipt OCR, language-model reasoning, and settlement calculations. This helps identify failures and understand where problems occur.
I also used GitHub Copilot as an AI coding agent during development to assist with implementation and the development workflow.
The result is a deployed, end-to-end application that combines AI reasoning with reliable backend calculations.
Why Does Open Innovation Matter?
Open innovation made it possible to build ChaoticSplitter around an open-weight model instead of depending entirely on a closed, general-purpose LLM API.
Google's Gemma model provides the core intelligence for understanding receipts and interpreting natural-language instructions. Accessing it through Ollama Cloud made it practical to integrate the model without having to host the inference infrastructure myself.
The architecture also separates probabilistic AI reasoning from deterministic financial calculations. This means the model can be evaluated or replaced as better open-weight models become available, while the settlement engine remains independently testable.
Open innovation is not just about using a different model. It gives developers more flexibility to experiment, adapt their architectures, and build specialized applications around real-world problems.
ChaoticSplitter also uses ElevenLabs Scribe for speech transcription and hosted infrastructure for deployment. The entire stack is therefore not exclusively open source, but the project demonstrates how an open-weight AI model can be combined with other tools to create a practical application.
My biggest takeaway:
AI should handle what it is good at, while deterministic software should handle what must be exact.
Prize Categories
I'm entering the following partner categories based on the technologies used in ChaoticSplitter:
- Best Use of Gemma: Gemma 4 powers multimodal receipt OCR, participant extraction, and natural-language bill-splitting instructions.
- Best Use of Render: The FastAPI backend is deployed on Render and serves the application's core APIs.
- Best Use of ElevenLabs: ElevenLabs Scribe provides speech-to-text transcription for voice-based group setup and bill-splitting instructions.
- Best Use of GitHub Copilot: GitHub Copilot was used as an AI coding agent during project development.
- Best Use of Sentry Agent Tracing: Sentry provides observability across the AI pipeline and deterministic settlement engine.
Note: These are the categories I'm targeting based on my implementation. Final eligibility depends on the challenge's official rules and judging criteria.
Join the Project
ChaoticSplitter is an ongoing open-source project, and contributions are welcome!
If you're interested in AI engineering, multimodal applications, Python, React, or reliable financial calculations, check out the repository and help make group expense splitting better.
๐ป GitHub: https://github.com/rajanikant04/chaoticSplitter
๐ Live Demo: https://chaotic-splitter.vercel.app/
โ๏ธ Backend API: https://chaoticsplitter-backend.onrender.com
Let's build AI applications that are not just intelligent, but reliable. ๐งพโก
Top comments (0)