Inspiration
Managing club finances can get messy; between spreadsheets, endless emails, and constant reimbursements, it’s easy to feel overwhelmed. We wanted to make the process seamless and intuitive by creating a virtual treasurer for clubs and organizations. That’s how TallyUp was born: a club accounting app that helps users settle dues, track reimbursements, and visualize their financial standing, all in one place.
What it does
TallyUp helps users easily see how much they owe (or are owed) within any club or organization they’re a part of. It efficiently categorizes each group and subgroup and displays clear breakdowns of dues, reimbursements, and balances, ensuring users stay organized and up-to-date at a glance.
How we built it
We used the MERN stack – MongoDB, Express.js, React, and Node.js – to build TallyUp. Through MongoDB, we store transaction histories, user profiles, group structures, and subgroup details. Express.js and Node.js power our backend server and APIs, connecting the dots between users and their financial data. We paired React with TailwindCSS to create a responsive, clean, and intuitive frontend for a seamless user experience.
Challenges we ran into
One of the main challenges we faced was understanding how to seamlessly integrate the frontend and backend components to ensure a cohesive user experience. We also spent significant time brainstorming how to design a user-friendly and slick interface that would foster intuitive navigation between different pages. Detailing the functionality of our website – from creating an account to making and tracking transactions within groups, subgroups, and sub-subgroups – required careful planning and collaboration. Additionally, it was important to ensure that all teammates were on the same page in all tasks, from planning to coding to testing. This required clear communication and delegating tasks evenly to maintain steady progress throughout the project.
Accomplishments that we're proud of
On the frontend side, we are proud of creating an intuitive and visually appealing user interface, with Tailwind animations and a professional but calming color palette. We successfully designed a layout that supports easy navigation and lets users create groups and subgroups specific to their organizations. We also built a slick, polished login experience.
On the backend side, we are proud of meticulously planning each functionality of the web app and integrating each post request with the backend to capture all user IDs, group IDs, and transaction data reliably in MongoDB. We are especially proud of the level of attention to detail we maintained throughout the process, ensuring that every piece of user and transaction information was properly captured, stored, and retrievable, forming a strong and reliable foundation for the app for scaling in the future.
What we learned
Throughout the hackathon, as we brainstormed, prototyped, and developed, we learned the importance of over-communicating and constantly checking in to ensure everyone was aligned on the end goal and their role at every step. We also learned firsthand the importance of developing incrementally, especially when integrating frontend and backend components. Technically, we deepened our understanding of full-stack development, database structuring in MongoDB, and building clean API connections. Most importantly, we learned how to adapt quickly, troubleshoot creatively, and collaborate efficiently under pressure.
What's next for TallyUp
In the future, we plan to integrate a Venmo/PayPal API into our application to allow users to pay dues or receive reimbursements with a single click without having to even leave the app. We also plan on creating a user-facing interface, perhaps using React Native, to clearly differentiate between the admin page and the user view. This makes the application easier to understand for general users who do not need to see the extra administration capabilities to create groups and subgroups, manage members, and process reimbursements. Another case to consider is allowing a non-member user or guest to pay a club they are not a member of, such as for a fundraiser. Finally, we hope to remove the current two-level limit so admins can create any number of nested subgroups to match their real-world club structures.
Log in or sign up for Devpost to join the conversation.