https://youtu.be/oK-aVB7FG0g <-- correct link
Inspiration
Our inspiration for this project came as we just recently moved off-campus ourselves this year and are dealing with budgeting and tracking money for our own groceries and bills. We realized that current budget tracking apps don't align with the standard college student income. Current budget tracking apps expect you to input a consistent monthly income, which does not align with how we make money.
Often, students receive a lump salary at the end of their summer from their internship or other opportunity. They then continue to partake in on-campus jobs where the hours tend to change every week. SemesterLimit addresses this and creates a better budgeting experience for students overall.
What it does
SemesterLimit turns a lump sum and costs unique to student life into a single number: what you can spend today.
Onboarding asks four things: what landed in August, what you earn on campus, what you already owe, and anything you're saving for. Rent, fees and savings goals get subtracted, so the daily number is only ever money that's genuinely yours to spend. From there the app gives:
- A run-out date until which you have budget to last you.
- Point the camera at a receipt. Gemini reads the merchant, the total and the line items, and tells you what the charge does to today before you confirm. No receipt (a vending machine, a Venmo split) and manual entry lands the same charge in the same envelope.
- AI-Powered advisor: lets you ask before you buy. "If I buy the AirPods for $249?" comes back priced in days of runway, with cheaper routes.
- Campus jobs have their own rate, hours and pay cadence, so you can drag your hours and your date and spending amount move.
- Goals and streaks, for saving up for group trips or cutting out habits. Set how much everyone is set to pledge for that Japan trip, or how many days you (or your friends) can go without doordash/boba/sweet treats!
- Semester Wrapped (like Spotify Wrapped). Seven story cards at the end of term where every figure is something the ledger can prove. Narrated aloud in a story-telling, engaging narration with ElevenLabs API.
How we built it
- Expo and React Native for the codebase that takes in the inputs about the user's income and outputs how much money they can spend, the dates, and the various costs.
- Supabase is the backend: Postgres with row-level security, email auth by magic link or a 6-digit code, real cross-user invites, and a scheduled job that advances streaks server-side once a day.
- Gemini reads receipts, and answers what-ifs. ElevenLabs narrates Wrapped from a script Gemini writes off the real app data. ## Challenges we ran into
- Implementing the Gemini API. We learned that the best and most effective way to use an AI API was to have it act as an orchestrator, that calls deterministic tools. Having the AI do a lot of the aspects of work was not efficient or always accurate, so having it call various tools based on intent is something that we learnt. ## Accomplishments that we're proud of We're proud of creating something that we would genuinely use in our daily life. The most useful and applicable features of: logging expenses, scanning receipts, trying to set financial goals by breaking bad habits, and calculating if we can, realistically, go out for dinner on a certain day. We're also proud of our use of AI (Gemini API) to create a chatbot that answers the user's what-if questions ("Can I buy the Airpod Pros for $249, if I also pick up 2 more Fondy shifts this week?", "My friends are planning a spring break trip, what's a budget I can actually afford in March?") because those are thoughts that we encounter during our time at Rice. We were also able to utilize Gemini to scan a receipt using the in-app camera and extract the total $ spent, and classify the buy into a category (like Eating out).
What we learned
- We learned a lot about using Supabase, as we weren't familiar with SMTP before and also row-level security. Also using pg_cron to run a daily job inside Postgres, which helped us as we didn't have to stand up a separate server just to advance a streak once a day. ## What's next for Semester Runway
- Add push notifications
- Splitting costs
- Growing the social features with friends
Built With
- elevenlabs
- expo.io
- gemini
- react-native
- supabase
- typescript
Log in or sign up for Devpost to join the conversation.