Inspiration
Splitting bills with friends is always messy — from “who owes what?” to “just send me your UPI ID.” We wanted a lightweight way to make settling bills fun, fast, and less awkward.
What it does
- Lets users create/join a group and split bills easily.
- Handles authentication and user management via Clerk.
- Tracks balances per person in the group.
How we built it
- Frontend: Next.js App Router with Tailwind for a sleek dark UI.
- Backend: MongoDB + Mongoose for user and expense data.
- Auth: Clerk for sign-in/sign-up, JWTs & sessions.
- Extras: UPI deeplink format (
upi://pay?pa=…&pn=…&am=…) integrated into the flow.
Challenges we ran into
- Integration of clerk with mongodb took a lot time and was not easy
- Aiming for a clean ui was tough in such small amount of time
- Designing of the models and how it should work took effort and it has a shape for the future updates
Accomplishments that we're proud of
- A smooth auth + protected route system using Clerk.
- Clean, intuitive UI that feels like a real app.
What we learned
- How to integrate Clerk seamlessly into Next.js.
- Proper user session handling and protected routes.
- How to mange complex db
What's next for Split Bill Wisely
- Spin Wheel with UPI deeplinks — let chance decide who pays.
- Visual balance charts.
- PWA support so it feels like a native app.
- Notifications when someone hasn’t paid yet.
Log in or sign up for Devpost to join the conversation.