2026Web App

VeggieCorner

A recipe journal focused on plant-based cooking, integrated with Claude AI for recipe and image creation. VeggieCorner helps me keep track of favorite recipes and lets users explore vegetarian and vegan dishes with a clean, modern interface built for everyday use.

What it does

  • Browse, search, and filter a personal plant-based recipe collection by ingredient, category, or free text
  • Full recipe detail pages with ingredients, step-by-step instructions, nutritional information, and chef tips
  • Save favorites and manage personal collections across sessions
  • Admin panel for full recipe CRUD — create, edit, and delete entries with structured forms
  • Claude AI assists with recipe suggestions and ingredient substitutions on request
  • fal.ai generates food photography automatically for recipes without an image
  • Companion MCP server exposes the full recipe API as Claude tools — browse and save recipes mid-conversation

Why it matters

  • Recipe additions via Claude in one message — no form-filling, no dashboard switching
  • fal.ai food photography eliminates 10+ minutes of manual image sourcing per new recipe
  • Full recipe database accessible mid-conversation via MCP — browse and save without leaving the chat

Architecture

  • Next.js 15 App Router with Drizzle ORM + PostgreSQL for type-safe, schema-driven database access
  • REST API routes handle recipe CRUD, favorites, and filtered search — consumed by both the web UI and the MCP server
  • NextAuth handles user authentication; admin routes are server-side protected
  • Companion MCP server (local stdio process wired via Claude Code .mcp.json) exposes `list`, `save`, `edit`, `delete`, and `generate_image` as callable tools — the full fal.ai → Cloudinary pipeline runs inside this server, bypassing Vercel serverless timeouts and fal.media's server-to-server fetch block
  • Deployed at veggiecorner.mariansan.io

Philosophy

  • A recipe journal that works the way I actually cook — browse fast, add without friction
  • Claude can reach into the recipe database mid-conversation, so logging a new dish is one message
  • Owned data and owned interface — not locked into a third-party recipe platform
  • Next.js
  • Drizzle
  • PostgreSQL
  • Claude AI
  • fal.ai