Gu
A quiet, private notebook for the recipes and cooking ideas I want to keep.

A place for the recipes I come back to
Gu is a personal recipe notebook for the dishes, links and half-formed ideas that otherwise end up scattered across notes and browser tabs. I wanted somewhere calm to collect them, then find them again when it is time to cook.
Each person signs in to their own notebook. They can add a recipe with a title, a short description, categories, tags and photos. The recipe itself is written in Markdown, with an editor and preview for ingredients and method. A recipe can stay a brief idea or grow into full instructions. The list can be searched by title, description, category or tag, and filtered by category.
How I built it
The interface is built with Next.js, React and TypeScript. Prisma stores recipes, categories and photo records in PostgreSQL. Supabase handles production sign-in and private photo storage; server routes check who owns a recipe or photo before returning or changing it. People can also make their own categories and give them a picture.
For the sign-in page, I used Paolo Veronese’s public-domain painting The Wedding at Cana. Its busy banquet is a playful opening to an otherwise quiet, pared-back app. The painting in this page’s cover is the same one used behind Gu’s login form.