Chocoloco.
A premium dessert cafe in Bucharest, two locations, Floreasca and Old Town. The third build of this brand's site, and the first with a menu structure that matches how the cafe actually organizes its desserts.
- Role
- Design + Build
- Timeline
- 2026-04-30 to 05-01, derived from file history
- Live URL
- chocoloco-v3.vercel.app ↗
01 / THE REQUEST
Third build,first one that fit.
Chocoloco's menu spans crepes, ice cream, drinks and seasonal items across two Bucharest locations, and earlier attempts at the site flattened that into a single list. v3 needed a structure that actually matched how the menu is organized in the cafe.
02 / THE PROBLEM
Not every sectionhas sub-categories.
Some menu sections are flat lists of items, others split into sub-categories of their own. A menu component built for one shape breaks on the other: either flat sections get a pointless empty category tab, or nested sections lose their sub-structure and dump every item into one list.
03 / THE CHALLENGE
A menu thatbranches, or doesn't.
The menu data model is a nested taxonomy, not a flat list: each top-level section can optionally carry its own categories map. The menu page checks which shape a section has before rendering, falling back to a flat items array when there's no sub-category to branch into. Two independent pieces of state, the active section and the active category within it, drive the view, and the category resets whenever the section changes.
The visual polish layer, chocolate drip overlays, a liquid blob background, candy sparkle and pistachio dust effects, is built as small, independent Framer Motion components sharing one custom ease curve, rather than one large animation system.
04 / THE SOLUTION
What gotbuilt.
Shape-aware menu rendering
Sections with sub-categories branch into a category tab set; flat sections render directly. No dead UI either way.
Reusable motion primitives
A shared ease curve drives a small library of dessert-themed Framer Motion effect components.
Two-location structure
Floreasca and Old Town presented as a real dual-location cafe, not a single generic storefront.
05 / THE RESULT
v3,live.
- Livechocoloco-v3.vercel.app
- Build window2026-04-30 to 05-01, derived from file history
- Owns the codeClient
BUILT WITH
Menu structure that actually fits?
Next project
passvault