Inspiration
We noticed students frequently run out of dining dollars before semester’s end. Bitestream was inspired by the need for a simple, automated way to track spending and generate budget-aware meal plans.
What it does
Bitestream ingests receipt emails, extracts totals and menu items, updates a user’s balance, and generates meal plans that fit the remaining budget and time. It uses a price list context plus AI to optimize nutrition and variety.
How we built it
We built a Flask backend with SQLite for users, order history, and meal plans. A browser extension parses receipt emails and posts structured data to the backend. The frontend is a React TUI-style web app. We scraped Grubhub for campus dining price data and VT Dining Services’ website for nutritional data, then aggregated both into a single source. Budget calculations distribute balance across remaining days and meals per day.
Challenges we ran into
Gathering price data was difficult as it required intercepting requests from the GrubHub app via a proxy through an emulator and exploring its private API. Email parsing was brittle due to varied formats. Prompt design needed to balance budget constraints with nutrition and variety.
Accomplishments that we're proud of
Reliable receipt parsing with total extraction Automatic balance decrementing per order Meal plan storage and retrieval by user Aggregated price + nutrition data into one source
What we learned
We learned how to build a resilient ingestion pipeline, design data models for user-centric history, and turn noisy data into actionable budget guidance.
What's next
Real-time balance sync from the primary balance source (Integration with Hokie Passport API or GrubHub app session) Analytics on spending patterns Calendar-integrated meal planning
Built With
- chrome
- extension
- flask
- grubhub
- javascript
- openrouter
- python
- react
Log in or sign up for Devpost to join the conversation.