Skip to content
Start a projecttafseel@walqalum.com

Work · Case study

A burger is a recipe, a cost, an allergen list, and a margin you can see.

Client
Multi-brand restaurant group
Year
Ongoing
Scope
Recipe architecture, cost control, menu analytics
Stack
React · Ant Design · Laravel · MySQL · REST

01 / Challenge

A multi-brand restaurant operator was configuring recipes by hand across fragmented tools, with no standardised ingredient library, no way to express combo products, and no visibility into food cost per recipe or per brand. Without ingredient-level structure, allergen information was also being maintained separately from the menu it described.

02 / Approach

The recipe model was built in layers rather than flat. A system-defined ingredient library gives standardisation, custom ingredients derive from those bases so a kitchen can be specific without breaking reporting, and sub-recipes let a modular preparation be defined once and used inside many items. Combos compose from that same structure with their own pricing and inclusion logic.

The front end is where this becomes usable or does not. Dynamic form handling for recipes, sub-recipes and combos was the hardest interface problem in the project: the shape of the form changes with what is being built, and it has to stay legible to a kitchen manager. It was built on a reusable Ant Design component architecture from a Figma system.

Because cost lives at ingredient level, food cost analysis, waste tracking and contribution margin fall out of the same structure rather than being calculated separately — and allergen tagging maps to ingredients, so customer-facing allergen information cannot drift from the recipe.

03 / Outcome

3

recipe layers: base, sub-recipe, combo

2

reporting levels, brand and branch

The operator runs recipes, ingredients, costs, menus and orders for multiple brands and branches from one platform, with food cost and contribution margin visible per recipe and per brand. Menu engineering reports identify what is carrying the menu and what is not, and allergen information is now derived from the recipe rather than maintained beside it.

Next project

Monolith to Microservices, One Endpoint at a Time
Start a project