Mobile + Web · Cooking● Live on Google Play and web

Marigold · Cookbook & Recipe Box

What they needed

Recipes end up in bookmarks and screenshots, the shopping list in Notes, and the week's meals on a whiteboard on the fridge. Marigold puts all three in one private app, and sharing is with friends only, never a public feed.

What I built

A React Native app built with Expo, running on Android and the web from one codebase, on Firebase. Importing reads the recipe data a page publishes and falls back to an AI step when a page has none; a photo or screenshot is read by a vision model. Recipes are private by default and work offline. The shopping list files each item under its aisle, the week board holds the plan, and cook mode turns the times in each step into timers. The AI features run in Cloud Functions, and a paid Pro plan runs through RevenueCat.

Tech Stack

React Native 0.83Expo SDK 55FirebaseCloud FunctionsRevenueCatLLM integration

What it does now

Live on Google Play, and on the web at marigold.joholz.app
Import from a link, pasted text or a photo
A week board, with tonight's dinner on the home screen
A shopping list sorted by aisle
Cook mode with timers taken from the steps
Private by default, and works offline

Inside the app

real screens · sample recipes

Captured from Marigold itself, signed in to a sample cookbook. The recipes are made up; every screen is the real app.

The first screen, before you sign in
The first screen, before you sign in
The cookbook, with tonight's dinner and the week on top
The cookbook, with tonight's dinner and the week on top
A recipe, with scaling and unit conversion
A recipe, with scaling and unit conversion
Cook mode, with timers taken from the steps
Cook mode, with timers taken from the steps
The week's meals, crossed off as they're cooked
The week's meals, crossed off as they're cooked
The shopping list, sorted by aisle
The shopping list, sorted by aisle
Import from a link, pasted text or a photo
Import from a link, pasted text or a photo

Have a project like this?

Tell me about your project