Inspiration
The crushing weight of student loans is a near-universal experience for college students. We wanted to reimagine repayment—not as a daunting, distant burden—but as something incremental, manageable, and even motivating.
Our idea was rooted in behavioral psychology: combine micro-investing habits (like round-ups) with incentivized productivity (study goals, reduced screen time). The goal? Help students build better habits and financial stability at the same time.
What it does
Tassel is a "Study-to-Save" digital wallet and savings platform designed to help students passively pay down student loans. It features two core mechanics:
- Smart Round-Ups: Users upload their bank statements or receipts, and Tassel automatically extracts the total and rounds the transactions up to the nearest $5, and deposits the difference into a dedicated loan-payoff savings account.
- Productivity Sponsorships: Students can set academic or productivity tasks (like limiting screen time or hitting study milestones). Upon successful completion, they generate a unique, shareable link to send to parents or sponsors who can financially "match" their hard work with a deposit.
How we built it
We built the backend API using Python and Flask, utilizing SQLite for lightweight, relational database management to track users, transactions, tasks, history, and sponsorships.
The core of our receipt and bank statement processing is powered by Google's Gemini AI (Gemini Flash). By passing document images directly to Gemini's multimodal API, we built an OCR pipeline that reads financial documents and extracts transaction totals. We then used Regular Expressions (Regex) and Python's decimal and math modules to safely parse the AI's output and calculate our custom $5 round-up logic.
Challenges we ran into
Designing a system that seamlessly connects behavioral habits with financial transactions brought several hurdles:
- Financial Data Precision: Handling currency natively in Python required us to strictly avoid standard floating-point inaccuracies. We had to implement rigorous type casting and use the Decimal library to ensure every cent of a student's round-up was calculated perfectly.
Accomplishments that we're proud of
We are incredibly proud of designing a clean, RESTful API architecture that effortlessly bridges the gap between student habits and financial tools. Engineering a system that can accurately process transaction data and calculate micro-savings on the fly was a massive win for us. We are also incredibly proud of the "Sponsorship" matching system, which creates a meaningful, and provides great opportunity for families to support a student's academic journey.
What we learned
We leveled up our skills in backend system design. We also learned a great deal about structuring relational databases with SQLite, building robust REST APIs with Flask, and structuring JSON responses for a seamless frontend integration.
What's next for Tassel
Our immediate next step is to build out the mobile frontend (using Flutter or React Native) to utilize native device APIs for strict screen-time tracking for the productivity tasks. From a backend perspective, we plan to replace the manual statement upload with direct banking APIs (like Plaid) for real-time, automated round-ups, and integrate actual payment gateways (like Stripe or deep-linked Venmo APIs) to process the parent sponsorship matches securely.
Log in or sign up for Devpost to join the conversation.