Two-sided dining platform — built solo, end to end, with AI as the engineer.
A two-sided platform that takes the busywork off chefs' plates so they can focus on cooking — built solo with AI as a real collaborator. Press play above for the tour.
The marketplace category Servd lives in is full of products built for the diner. Pretty profile pages. Polished checkout flows. The chef — the person whose entire week is on the line every Saturday night — gets a spreadsheet and an inbox of half-answered questions.
So the design started on the chef side. What does a Saturday night look like before this product, and what does it look like after? Every screen, every automation, every default was decided against that question.
The result is a CRM that runs the booking, a Menu Lab that writes the first draft of the night, and a payments layer that closes itself. Four emails of back-and-forth, gone. The chef shows up to cook.
Time we automated this week so you didn't have to. That's roughly four emails per booking, gone.
Tonight, bookings, the punch-list, the payout pulse. Everything a chef would otherwise live across an inbox, a notes app, a spreadsheet, and a calendar — one screen, one mental model.
The longest part of any chef's week isn't the cooking. It's the negotiation — the back-and-forth with a client trying to settle on a menu, a price, a few dietary asks, and a window of time. Four emails per booking is conservative. For a chef juggling six bookings a week, that's most of a workday gone before they've touched a pan.
The Menu Lab does that conversation in one panel. The chef types the brief once: occasion, head-count, dietary, budget. The Lab returns a draft menu, ingredient list, and pricing in a couple of seconds. The chef edits, sends, and moves on. The client gets a polished proposal; the chef gets their afternoon back.
Toasted brioche, whipped honey ricotta, persimmon, balsamic, black pepper.
Carnaroli, porcini cream, shaved parmigiano, finishing oil from Liguria.
Bone-in, red wine reduction, parsnip purée, roasted root vegetables.
A chef types the brief; the Lab returns a draft menu, ingredient list, and pricing. The chef edits and sends. Four emails of back-and-forth, gone.
Click the tabs — the hint, the field shape, and the CTA all rewrite themselves. Same widget that runs on the live home page.
The booking pill above is the first 30 seconds. Underneath, Servd is a real product across two audiences. Diners pick an occasion, browse vetted chefs, hold a date with a 20% deposit, and rate the night after. Chefs apply, get vetted, build menus in a tool I call the Menu Lab, and run their bookings from a kitchen-side dashboard.
And every booking triggers a one-for-one meal donation in the same city — not as a checkout add-on, but baked into the brand promise.
Pages shipped
Sides of marketplace
Service types
Meal-match per booking
Hover a card — the portrait fades into the chef's signature dish.
Card-level interaction is where most marketplaces phone it in. This one tells you what you're going to eat before you click.
The interesting part of this project isn't that I shipped it. It's how. Twelve years of design instincts plus an AI partner that could take a clear instruction and write the code while I kept my eyes on the road.
I treated it like any product engagement, just compressed:
The shift wasn't that AI replaced engineering. It's that the design decisions stopped getting lost in translation. When I wanted a hover state to feel like a held breath, I could go make it feel that way without filing a ticket.
A good designer who can ship is worth ten engineers who need a spec.
— The thesis, in one sentence
Most "designer who codes" stories stop at a styled landing page. Servd is a working product across two audiences, so the surface area was the point. Here's the bill of materials.
index · occasion · chef_profile · checkout · confirmed · review · diner_dashboard
for_chefs · chef_signup · chef_menu_lab · chef_dashboard
Hand-authored HTML, modern CSS (custom properties, grid, container queries), vanilla JS for interaction. No framework. Lightweight on purpose.
Type scale, color tokens, spacing rhythm, motion easing, mobile drawer pattern, sticky-nav pattern, search-and-filter pattern.
Hero video (compressed for web), poster fallback, AI-directed photography for chef portraits and signature dishes — every asset on-brand.
Static hosting on Netlify. Continuous deploy on push. Public URL: servd.netlify.app.
The product is a luxury experience by design — multi-course tasting menus in your home aren't cheap. So I baked the counterweight in from day one: every experience a diner books triggers a one-for-one meal donation in the same city.
It isn't a checkbox at checkout. It's the whole reason a diner can feel good about spending money on a meal that costs more than groceries for a week:
For every experience you book, we match it one-for-one — providing a meal to someone in need in your city. No extra cost. No catch. Just a better reason to celebrate.
The bet held. Eleven pages. Two audiences. Live on the internet, deployed by the same person who wrote the brief, sketched the screens, picked the type, and shipped the code — in days, not quarters.
See it live →