Skip to content

The Cook Book Club

The Cook Book Club is a members-only community cookbook designed to preserve recipes and the stories behind them.

Core trick

A vision model transcribes a photographed recipe card into structured fields, which the member reviews before it publishes.

Tags

Description

The Cook Book Club is a members-only community cookbook designed to preserve recipes and the stories behind them. Recipes often live in scattered notes, screenshots, family messages, and old documents, making them difficult to organize and share. With The Cook Book Club, members can upload a photo or paste recipe text from any source. AI automatically transcribes, translates, and structures the content into a clean recipe format, generating ingredients, instructions, servings, and dietary information for review before publishing. Members can browse recipes by category, cuisine, or dietary preference, search by ingredient, watch cooking videos, discover where to buy ingredients nearby, and connect with the community members who contributed each dish. The result is a living collection of recipes, memories, and traditions that can be preserved and shared across generations.
sunnyhsu-growth/-the-cook-book-club★ 00 forksTypeScriptCreated Jun 13, 2026 · last push Jun 13, 2026

README excerpt

# 🍳 Our Recipe Book

A personal, customizable recipe-book website. Snap a photo of a handwritten card,
a screenshot, or a cookbook page — or paste text — and Claude transcribes it into a
clean, structured recipe you review and publish. Anyone signed in can contribute, and
everything is searchable by keyword, ingredient, and tag.

## Stack
- **Client:** React 19 + Vite + TypeScript + Tailwind v4, React Router, Supabase JS.
- **Server:** Express + TypeScript holding the Anthropic key (`/api/extract`).
- **Data/Auth/Storage:** Supabase (Postgres + Auth + Storage).
- **AI:** Claude (vision + text → structured recipe via forced tool use).

```
recipe-book/
  client/   # Vite SPA
  server/   # Express + Claude extraction
  .env.example
  vercel.json
```

## One-time setup

### 1. Supabase project
1. Create a project at https://supabase.com.
2. **Database:** open the SQL editor and run `server/database_migrations.sql`.
3. **Storage:** from `server/`, run `npm run setup-storage` (after step 3 env below),
   or create two **public** buckets manually: `recipe-images`, `recipe-sources`.
4. **Auth:** Authentication → Providers → enable **Email** (magic link is on by default).
   Add `http://localhost:5173` and your production URL to the allowed redirect URLs.
5. Grab your **Project URL**, **anon key**, and **service_role key** (Settings → API).

### 2. Environment files
```bash
cp .env.example .env                 # repo root — used by the SERVER
cp client/.env.example client/.env   # us

Team