← Back to all projects
Project·TypeScript

MealShelf

A clean, personal recipe book app with AI-powered import, cook mode, and public profiles, built on AWS Amplify Gen 2.

MealShelf is a personal recipe book I built to keep my own cooking organised without resorting to bookmarks, screenshots, or yet another note-taking app.

The core idea is simple: store recipes properly, make them quick to follow in the kitchen, and let me share the ones I want to without putting everything behind a wall. Recipes can be public or private, and public ones live on a profile at /u/:username so friends can browse what I’ve actually cooked rather than what an algorithm thinks they should see.

The feature I use most is the AI-powered import. I paste a URL or a chunk of text from a recipe blog and an OpenAI-backed Lambda extracts the ingredients, steps, timings, and tags into a clean structured recipe. It strips out the life-story preamble that every recipe site insists on.

Cook mode turns a recipe into a step-by-step interface with an ingredient checklist, which is much easier to use on a phone propped up next to a chopping board than scrolling through a wall of text.

Technically it is a good excuse to push AWS Amplify Gen 2 fairly hard. The backend uses Amplify Data on top of DynamoDB, Cognito for auth, S3 for recipe images, and Lambda functions for the import pipeline. The frontend is React with Vite, Tailwind, and shadcn/ui, with Zustand for UI state and React Query for server state.

It is private source for now, but the live site is open to browse.