**SplitMate AI
Inspiration
We've all been in that situation after dinner with friends: one person pays the bill, everyone promises to send their share, and somehow the money never gets settled right away. It usually involves switching between a group chat, a calculator, and a payment app. For something so simple, the process can be surprisingly inconvenient. That experience inspired us to build SplitMate AI, a conversational expense splitting application that brings group communication, AI powered calculations, and PayPal payments into one place.
What it does
SplitMate AI allows users to manage shared expenses directly inside a group chat. Instead of manually entering amounts and calculating everyone's share, users can simply message our AI assistant: "@SplitMate I paid $96 for dinner with Alex and Sarah. Split equally." Powered by Google Gemini, the assistant interprets the request, identifies the participants, and calculates how much each person owes. Users can review the proposed split, adjust individual amounts when necessary, and confirm before any payment requests are created. Once confirmed, SplitMate generates individual payment requests that participants can open through PayPal Sandbox checkout. The application also helps users track outstanding payments and revisit previous expenses. We designed the experience around a familiar messaging interface, making expense management feel like part of an everyday conversation rather than a separate financial task.
How we built it
Our original idea was to integrate SplitMate directly into WhatsApp using the WhatsApp Business API. However, we encountered business verification and platform access requirements that made the integration difficult to complete within the hackathon timeline. Rather than abandoning the idea, we decided to build our own mobile friendly chat application. We developed SplitMate as a Progressive Web App (PWA), using JavaScript and Node.js for the application, SQLite for storing users, messages, and expense records, and Google Gemini API for understanding natural language payment requests. For payments, we integrated PayPal's Orders API and Sandbox environment to demonstrate the checkout process without transferring real money. We also implemented user authentication and payment status tracking to make the experience more complete. Finally, we deployed the application using Railway, allowing users to access it through a hosted website without running the backend locally.
Challenges we ran into
One of our biggest challenges was moving beyond a single user prototype. Initially, our expense splitting logic assumed that one default user was always responsible for paying. When another group member tried to initiate a split, the application sometimes failed to recognize the correct payer or participants. Fixing this required us to rethink how user identities, group membership, and AI generated results interact. We also encountered several technical challenges, including SQLite query errors, Gemini API configuration issues, authentication changes, and deployment problems involving server environments and request limits. Each issue pushed us to improve the application's architecture instead of simply adding more features.
What we learned
Building SplitMate taught us that creating an AI powered application involves much more than connecting an AI model to an interface.We learned how to combine natural language understanding with traditional application logic, manage user identities across conversations, integrate payment APIs, and troubleshoot a deployed application. More importantly, we learned that AI should simplify decisions without taking control away from users. Gemini helps interpret what someone wants to do, while SplitMate's backend validates the amounts and PayPal handles the payment process.
What's next for splitmate
We see SplitMate as a starting point for a more seamless social payment experience. In the future, we'd like to explore receipt scanning, more flexible expense allocation, recurring shared expenses, and improved payment reminders. We'd also like to investigate how the AI can be more human like without blunt tone
Built With
- app
- geminiapi
- html
- javascript
- json
- paypal
- sqlite
- typescript