Projects

Full-stack · FastAPI · React · Postgres · 2026

EasyPlate

A full-stack meal-planning platform with live grocery pricing and an AI assistant, built solo to production discipline.

Solo builder, directed end to end with AI

Solo
designed, built, and shipped end to end
2 stores
priced live (Kroger, Walmart)
2FA
RS256 JWT auth + data-export controls

EasyPlate answers the weekly question every household actually argues about: what do we eat, and what will it cost? It generates meal plans, turns them into grocery lists priced live against real stores, and tracks pantry and nutrition, with a Gemini-powered assistant on top. I directed the build over several months with AI, holding it to production standards the whole way, not a weekend prototype.

Problem

Most meal-planning tools stop at the recipe. That is the easy part. The real friction is everything around the plan: turning it into an accurate shopping list, knowing what each item actually costs at the store you use, and keeping track of what is already in the pantry and how the week adds up nutritionally. Each is a small chore. Together they are why people give up on planning and order takeout.

Approach

I don't hand-write the code. My job was the product decisions and the standards the build had to meet, and I set one rule that shaped everything: build EasyPlate like a real application, not a demo. I directed the architecture toward a clean separation between routing, business logic, and data access, so new features could land without the code turning into a tangle.

Live pricing followed the same rule. I had it built behind a provider-agnostic seam, so a new store plugs in the same way every other one does, and the AI features were added as assistants inside the workflow rather than a chatbot bolted to the side.

What I built

AI-assisted meal-plan generation with a multi-week planner.

Grocery lists priced live against real stores, with multi-store checkout strategies that work out where to buy each item for the lowest total.

Pantry tracking and USDA-backed nutrition with per-ingredient coverage, so the numbers reflect what is really in the plan.

A Gemini-powered chatbot with voice notes, on top of secure accounts (RS256 JWT auth, opt-in two-factor, and privacy and data-export controls).

Key decisions & trade-offs

One integration seam instead of direct store calls. Every grocery provider routes through a single adapter, which adds a layer of indirection up front. In return, a third store is a new adapter, not a rewrite, and I can swap or mock a provider without touching the planning code.

Migrations own the schema, always. Alembic is the single source of truth for the database and it is gated in CI, so no schema change merges without a matching migration. That is stricter than a solo project strictly needs. It also means the database can never quietly drift away from the code, which is the failure mode that breaks solo apps months later.

AI assists, deterministic code decides. Pricing and the checkout strategy are plain, testable logic, not an LLM call. The assistant handles the fuzzy, conversational parts, so anything involving someone's money stays predictable and debuggable.

Engineering

Async FastAPI over PostgreSQL, with a React 19 and TypeScript single-page front end, containerized with Docker and backed by background workers for the slow jobs so requests stay fast.

Underneath the features is the operational layer that makes it survivable solo: migrations for the schema, structured logging and metrics, rate limiting on sensitive endpoints, and host-agnostic CI/CD. That discipline is the real product. The features prove it works; the foundations prove it lasts.

Outcomes

  • Live multi-store grocery pricing with checkout strategies that route each item to the lowest total.
  • Secure multi-user accounts: RS256 JWT auth, opt-in two-factor, and privacy and data-export controls.
  • Production foundations carried solo: schema migrations, an automated test suite gating every change, structured logging and metrics, and host-agnostic CI/CD.

Built with FastAPI · PostgreSQL · React 19 · TypeScript · Google Gemini · Docker · Alembic

Scope Product design · Full-stack engineering · DevOps