Varivo

AI recipe generator for everyday cooking

Varivo is a full-stack cooking product that turns a simple ingredient prompt into a structured recipe workflow: guest recipe generation, a registered-user dashboard, favorites and meal planning, credit-based billing, and AI-generated recipe images.

Project type

AI recipe generation platform + cooking dashboard

Role

Full-stack developer

Year

2026

Scope

Product UX, landing page, auth, dashboard, AI recipe generation, meal planning, credits system, PayPal + Paddle payments, Supabase schema and RLS, edge functions, image generation, PDF export, testing setup

Varivo shown across desktop, tablet, and phone in a kitchen setting, with the landing page, recipe library, and recipe list on screen
Generated recipe card for Mediterranean Honey Pancake Wraps, with photo, time, servings, difficulty, and cuisine, shown on a tablet while the dish is prepared
Phone showing the Honey Nut Yogurt Parfait recipe from the My Recipes dashboard view, held next to the finished dish
Weekly meal planner board on a desktop monitor, with breakfast, snack, lunch, dessert, and dinner slots per day

Summary

Built for

Home cooks who want fast meal ideas from ingredients they already have, plus a more structured personal recipe space once they create an account.

The problem

Most recipe apps are either static content libraries or generic AI demos. They don't handle the full product loop: guest conversion, usage limits, saved recipes, favorites, meal planning, credits, and a personal dashboard that makes AI output feel like an actual product.

Approach

Varivo was built as a layered cooking product. The public side gives guests an immediate "try it now" recipe-generation experience. The authenticated side expands that into a recipe workspace with saved content, meal-planner utilities, personalization, credits, and billing.

Showcase story

Varivo starts with a simple promise: type in what you have, and it turns it into dinner — recipe, photo, and all. The interesting part is everything around that core moment — guests can try the product once without registering, then the app converts them into full users with credits, personalization, favorites, and a richer dashboard experience. The name itself is part of the pitch: *varivo* is a Balkan stew made from whatever vegetables are on hand — no recipe, no shopping list, just what's already in the kitchen turned into dinner. That's exactly what the app does, and no competitor in the space (SuperCook, ChefGPT, CuliNova) has a name that carries meaning like that.

The problem

A recipe generator alone isn't enough to feel production-ready. A real product needs a fast public entry point, guest-to-user conversion logic, personal recipe history, favorites, a way to plan meals beyond one-off generations, and billing and credit control for AI usage.

What I built

  • Public landing page with hero CTA, recipe form, and generated recipe result card
  • Guest mode with one free recipe generation before an account is required
  • Full dashboard with recipe generation, my recipes, favorites, meal planner, and settings
  • Personalized recipe generation using ingredients, cuisine, time, difficulty, and servings
  • Background AI image generation for each recipe after text generation succeeds
  • Favorites and a saved-recipe cookbook flow
  • Meal planner supporting manual recipe assignment plus AI-generated full-day meal plans
  • Credit system with daily bonus logic, wallet balance, and one-time credit packages (no subscription)
  • PayPal checkout plus a Paddle overlay checkout for card / Apple Pay / Google Pay, both feeding the same credit wallet via webhook-verified fulfillment
  • Recipe and cookbook PDF export

Design decisions

The product is split into two very different modes on purpose. The landing page is conversion-first: warm food imagery, a fast form, and a low-friction guest tryout. The dashboard is utility-first: denser navigation, credit visibility, and saved-recipe organization for returning users. The AI output is also treated like product data, not just a chat response. Recipes are structured, stored, rendered as cards, turned into images, and reused again in favorites, meal planning, and PDF export. Payments follow the same "treat it like real product infrastructure" approach: PayPal and Paddle run in parallel as two independent rails into one credit wallet, each with its own idempotent webhook path rather than a client-trusted "add credits" call — the frontend never mints credits itself.

Under the hood

The frontend is a React application styled with Tailwind CSS and shadcn/ui. Supabase provides auth, Postgres, storage, RLS-backed data access, and edge functions. OpenAI handles recipe generation and recipe image generation, and PayPal and Paddle are both used for credit purchases, with signature-verified webhooks as the single source of truth for fulfillment.

Why it matters

This project signals:

  • Building an actual AI product instead of a single AI demo screen
  • Connecting frontend UX with billing, persistence, and backend automation
  • Designing both acquisition UX and retained-user workflows
  • Handling structured AI output as reusable product data
  • Running two payment providers side by side without regressing the one that already works

Final positioning line

A full-stack AI cooking platform with guest onboarding, structured recipe generation, dashboard workflows, meal planning, and credit billing behind the scenes.

</content>

Under the hood

Varivo combines a conversion-focused public experience with an authenticated cooking workspace. Supabase owns the application backbone — auth, database, RLS, and edge functions — while OpenAI powers recipe, meal-plan, and image-generation logic, and PayPal and Paddle together handle credit top-ups.

React

Public site and dashboard interface

Supabase

Auth, database, RLS, storage, and edge functions

OpenAI

Recipe generation, meal planning, and recipe image generation

Tailwind CSS + shadcn/ui

Design system and UI components

PayPal + Paddle

Credit purchases (PayPal redirect + Paddle overlay checkout), webhook-verified payment capture

TanStack Query

Client-side data fetching and state