Inspiration

I was looking for a place to save the recipes I collected from social media and recipe book PDFs. They were scattered everywhere, and I wanted one app that kept them all in one place. Apps like this already exist, but I wanted to make my own. While brainstorming, I asked: what if a recipe worked like a GitHub repo? Every time you cook it is a commit, with your tweaks, notes and a photo, and a version you love can become its own recipe.

The second idea came from eating itself. Every diet I tried was a list of things to cut out, and none of them lasted. I wanted an app that asks a friendlier question: what can I add to this plate? No calories, no macros, no tracking.

What it does

Flourish is a recipe book that remembers every time you cook, plus a gentle guide to balanced eating.

  • Recipes with history. Save recipes by hand or import them from photos of a cookbook page or a handwritten card. Every cooking attempt is saved with its changes, stars, a photo, how long it took and how full you felt afterwards. You can compare an attempt with the original and save it as a new recipe.
  • Hands-free cooking mode. Checklists for ingredients and steps, several timers at once, and edits as you cook. The screen stays awake.
  • Balanced plate. Recipe lines are linked to an ingredient catalog built on USDA FoodData Central. Each recipe shows three dots for protein, fiber and healthy fat. If one is missing, it suggests what to add ("Add a healthy fat: olive oil, avocado, walnuts").
  • Add what you ate. Log a meal or snack from anywhere with a photo, a few words and "How did you feel after?" No numbers on screen.
  • Your week. The week's meals in photos and a bouquet with one flower per meal. A balanced plate grows a sunflower. One sentence says what showed up often and what to add next.
  • Pro. Photo import uses an AI model and costs money per use, so it is the one feature behind a Pro purchase. It runs on RevenueCat's Test Store. Balance and eating guidance are always free.

How we built it

I built it with Claude Code. I had prior experience with React Native, but not with building using AI. I set up specialized agents: a product architect to plan the data model, scope and screen flows with me, plus agents for unit tests, end-to-end tests and realistic demo data. Everything was planned in phases before any code was written.

  • Mobile: React Native CLI (bare, no Expo) + TypeScript
  • Backend: Node.js, Express, PostgreSQL and Prisma
  • Auth: Better Auth (email/password), with the session token in the device keychain
  • Photo import: Gemini through an OpenAI-compatible API, checked against a set of 20 recipe photos (handwritten cards, typewritten pages, dim light, two-column layouts)
  • Purchases: RevenueCat
  • Nutrient data: USDA FoodData Central (public domain)

Challenges we ran into

  • Reading real recipe photos. Handwritten cards, faded pencil, recipes split over two photos, and pages with non-recipe content. I built a test set of 20 photos and tuned the prompt until the results were reliable.
  • Comparing versions of a recipe. Showing exactly what changed between an attempt and the recipe (a line added, removed or edited), even after the recipe itself changed later.
  • Matching ingredients. "Egg" shouldn't match "eggplant", and "olive" isn't "olive oil". Plurals and aliases needed care too.
  • Staying additive. Designing nutrition feedback that never shows a number, never feels like a score and never makes you feel guilty took many iterations.
  • Time. Deciding what to cut so the core ideas shipped polished.

Accomplishments that we're proud of

I managed to bring my idea to life in such a limited time, and I'm proud of that. I think I used Claude Code very efficiently: around 1,500 unit and component tests were written along the way, plus API and end-to-end tests. That let me keep changing things quickly without breaking the app. I'm also proud that the nutrition side stays kind: it tells you what to add, not what to cut.

What we learned

  • Planning with an AI "product architect" before writing code saved a lot of rework. Decisions and rejected alternatives were written down, so I never had to argue with myself twice.
  • Specialized agents with clear roles (tests, demo data, E2E) work better than one general assistant.
  • Tests are what make fast AI-assisted development safe.
  • In nutrition, how you say something matters as much as what you say.

What's next for Flourish

  • Fridge from a receipt: Snap a receipt to fill your fridge, then ask "What can I make with what I have?"
  • Plan my week: Pick recipes for the week and get a grocery list with check-off.
  • Family: A "who ate it" field for parents cooking for kids.
  • Smarter suggestions: "What should I make today?" based on what you ate lately and the time you have.
  • Polish: Animated flowers, recipe cover photos, timer alarms in the background, onboarding.
  • Release: iOS support and a real store release.

Recipe card: SJW, CC BY-SA 4.0 (Wikimedia Commons). Flower images: Microsoft Fluent Emoji (MIT). Nutrient data: USDA FoodData Central.

Built With

  • betterauth
  • claudecode
  • express.js
  • postgressql
  • reactnative
Share this project:

Updates

Submission history