Inspiration

UO-Me was inspired by the everyday hassle of splitting bills and tracking shared expenses among friends, roommates, and travel groups. We wanted to create a tool that makes these interactions seamless, transparent, and fair—eliminating awkward reminders and confusion about who owes what.

What it does

UO-Me is a web application that allows users to:

  • Create and manage users for shared expenses
  • Add payments and automatically split costs among members
  • Track who owes whom, with clear summaries and balances
  • View payment history and settle up easily
  • Manage user profiles with secure authentication

How we built it

  • Frontend: Built with React, TypeScript, and Tailwind CSS using the Next.js framework for a fast, modern UI.
  • Backend: Developed with FastAPI (Python) for robust, asynchronous APIs.
  • Database: SQLite for lightweight, easy-to-manage data storage.
  • Authentication: JWT-based authentication for secure user sessions.

Challenges we ran into

  • Designing a fair and flexible expense-splitting algorithm that handles edge cases (e.g., uneven splits, partial payments).
  • Integrating the frontend and backend efficiently, especially with CORS and environment configuration.

Accomplishments that we're proud of

  • Implemented secure authentication and user management.
  • Automated the most tedious parts of expense tracking, reducing manual calculations and misunderstandings.
  • Achieved a modular codebase that is easy to extend and maintain.

What we learned

  • The importance of clear data modeling for financial applications.
  • How to leverage Next.js and FastAPI together for rapid development.
  • Best practices for secure authentication and environment management.

What's next for UO-Me

  • Adding support for recurring expenses and reminders.
  • Enhanced group management features (roles, notifications).
  • More robust analytics and reporting for users.

Built With

Share this project:

Updates