Project 03 — 2026 · Launching soon

Vittles

Group meal planning for backpacking and camping trips.

Feeding six people for four days in the backcountry is a scheduling problem with weight limits. Vittles lays the trip out day by day, generates meal plans with an LLM pipeline, scales portions to the crew, and keeps dietary needs applied across the whole plan rather than one meal at a time. Trips import from several formats, and the edges — error pages, empty states, transitions — got as much attention as the happy path. Solo build across a TypeScript monorepo, product design through deployment.

The problem

Trip food gets planned in a shared spreadsheet that nobody updates. Dietary restrictions get remembered at the trailhead, and somebody always carries too much.

Product decisions

Dietary needs are a property of the trip, not a filter on a recipe. Every recipe carries calories per ounce alongside calories per serving, because weight is the real currency.

Tech

React and TypeScript in a monorepo, Hono API, PostgreSQL, LLM pipelines for meal-plan generation and multi-format trip import.

React · TypeScript · Hono · PostgreSQL · LLM pipelines

Landing — for backpackers, car campers and every crew in between
The before — trip food lives in a group text until somebody unpacks at camp
Trip plan — meals laid out by day, scaled to the crew
Bring lists — group gear claimed by name, kept apart from personal packing
Onboarding — trip type first, because it changes every downstream constraint
Matching — three candidate trips scored against the constraints given
Recipe detail — calories per ounce sits beside calories per serving