Inspiration

As a student in Maputo, food prices are unpredictable and budgets are tight. I often cook with whatever is in the kitchen — but most meal planners assume you buy everything new. PocketBite fixes that: start with your real ingredients and your real budget.

What it does

PocketBite is a web app that lets students:

  • Select ingredients they already have
  • Set a weekly budget
  • Generate a personalized 7-day meal plan with costs, prep times, and a shopping list
  • Export the plan to TXT for easy sharing

It adapts to any situation — from Maputo kitchens to US dorms.

How we built it

Built solo with Python + Streamlit:

  • Multi-step wizard using session_state
  • Ingredient multi-select + custom add
  • Budget slider with per-meal estimate
  • Filtered recipes with dynamic cost calculation
  • Pandas tables + custom CSS for clean UI
  • Deployed on Streamlit Community Cloud

Challenges we ran into

  • Strict filtering: early versions mixed unrelated recipes. Solved with subset matching + smart fallback.
  • Repetition in plans: added shuffle, weighted variety, and last-recipe avoidance.
  • Git merge conflicts during push: resolved with git pull --allow-unrelated-histories.
  • Streamlit progress bar crash (value >1): clamped with min(max(perc/100, 0), 1).

Accomplishments that we're proud of

  • Fully adaptive to limited ingredients (even single-item lists work well)
  • Real prices & accurate per-meal cost
  • Beautiful multi-step UI with progress bar and alerts
  • Live deployed app with TXT export
  • Built and polished in under 10 days

What we learned

  • Streamlit is incredibly fast for interactive apps
  • Prioritizing user constraints (few ingredients, tight budget) beats fancy features
  • Git conflicts are normal — good messages and --allow-unrelated-histories save time
  • MVP mindset: focus on core value first

What's next for PocketBite

  • AI recipe generation (Grok/Gemini for custom meals)
  • Nutrition estimates (calories/protein)
  • Multi-currency (MT/USD toggle)
  • Save/load plans (JSON or localStorage)
  • Mobile PWA + dark mode

Built With

  • git
  • git-+-github-(version-control)
  • github
  • pandas
  • pandas-(tables)
  • python
  • streamlit
  • streamlit-community-cloud-(free-deploy)-?-pure-python
Share this project:

Updates