Projects

Digital Cookbook

A full-stack recipe management platform with structured recipe authoring, publishing workflows, and cooking-focused interactions.

Digital Cookbook Screenshot

Overview

Built a digital cookbook experience focused on preserving and managing recipes through structured content workflows. The application includes a responsive recipe experience, protected administration, drag-and-drop editing, image management, and serving-size scaling. It combines Nuxt, Vue, TypeScript, PostgreSQL, and Prisma to deliver a complete full-stack product.

A private family recipe vault for preserving and publishing tried-and-tested recipes through structured authoring and cooking-focused interactions.

Category browsing that survives a refresh

The public recipe list supports both category filtering and search, applied together. Category selection is reflected in the URL, so a filtered view is shareable and restores correctly after a page refresh.

  • Search text is currently local to the page rather than URL-synced — a deliberate scope line for this MVP rather than an oversight.
Digital Cookbook recipe collection filtered by category

Serving-size scaling without changing the source recipe

Recipe quantities scale live in the reading view at ½×, 1×, 2×, or 3× — recalculated for display only, with nothing written back to the stored recipe.

  • Common cooking units (cups, tablespoons, teaspoons) are formatted as friendly fractions; other units fall back to decimals, which is a known trade-off rather than a full unit-conversion system — grams don't convert to kilograms, for instance.
  • 'To taste' ingredients and quantities embedded in free text are intentionally left unscaled, since they can't be reliably recalculated.
Digital Cookbook recipe detail view on desktop
Digital Cookbook recipe detail view on mobile

Recipes as structured content, not blocks of text

Ingredients and steps aren't stored as flat text — each ingredient is a structured object with quantity, unit, name, and category, and each step can be grouped and broken into sub-steps. The admin editor supports drag-and-drop reordering both within a category and between categories.

  • Structured data is what makes the recipe page's grouped ingredient lists, multi-part methods, and serving-size scaling possible without parsing formatted text.
Digital Cookbook recipe editor with grouped ingredients and method steps

A clear boundary between editing and publishing

Every recipe carries an explicit draft or published status, enforced on both public endpoints: the list query filters by status directly, while the detail endpoint returns a 404 for anything that isn't published.

  • Admin authentication is fully separate from the public browsing experience, so drafts are never exposed by simply guessing a URL.
Digital Cookbook admin recipe table showing draft and published recipes