← back to previous page
varied veggie icon

varied veggie

apps

an ios app that helps you break out of your meal rut by tracking what you cook and suggesting new ingredients.

varied veggie screenshot 1varied veggie screenshot 2varied veggie screenshot 3varied veggie screenshot 4
scroll for more

varied veggie is a meal planning app that helps you eat a wider variety of food. i built it because i kept cooking the same few meals on repeat and wanted something to nudge me towards ingredients i hadn’t used in a while.

what i built

you pick a protein, a vegetable, and a carb, and the app suggests cuisine-matched recipes for that combo. ingredients you haven’t cooked recently get pushed to the top of the list, so you’re always trying something new. there’s also a “surprise me” button that picks a random cuisine-aware meal when you can’t decide.

since launch, i’ve added a bunch of new features:

  • meal planner - plan your meals for the week with breakfast, lunch, and dinner slots, and auto-generate a shopping list from your plan
  • insights dashboard - a variety score that tracks what percentage of available ingredients you’ve eaten this month, plus cuisine breakdowns, neglected ingredients, and streaks
  • recipe import - save your own recipes alongside the built-in suggestions
  • meal history - log meals with photos, ratings, and prep methods, with search and favourites filtering
  • apple health integration - optionally log meals to apple health
  • vegan mode - toggle to filter for plant-based proteins only

the app is built in swiftui with swiftdata for local storage. everything stays on-device, no backend needed.

what i learnt

  • designing a sorting algorithm that deprioritises recently used ingredients to encourage variety
  • working with swiftdata for local persistence
  • building a cuisine-matching system so protein, veg, and carb combinations actually make sense together
  • integrating with healthkit and handling opt-in permissions gracefully
  • building a weekly planner ui with drag-and-drop meal slots
  • shipping and iterating on a live app store app