Case study

Recommendation platform for Cookidoo, Vorwerk's Thermomix recipe service

End-to-end recommender, from training pipeline to low-latency API, sized for a platform with millions of paying users and a constant flow of fresh recipes.

30M/day

requests

3.5 yrs

engagement

Team lead

role

K8s + AWS

platform

Context

A recipe platform that wanted to feel personal

Cookidoo is Vorwerk's recipe subscription service for the Thermomix, with millions of paying users and a constant flow of new recipes. People opened the app expecting suggestions that felt useful, not generic. The product team wanted to lift engagement and satisfaction, and to weave recommendations into multiple surfaces in the app rather than bolt them on as a single carousel.

I joined as the engineering owner of the recommender, designed the architecture, built the first version, and grew into the role of team lead for three data engineers as the system matured.

Problem

Two systems, one feeling

A recommender is really two systems pretending to be one. There is the offline pipeline that learns from user behaviour and content metadata, and there is the online service that has to answer in tens of milliseconds without falling over at peak. Both have to ship together, both have to be observable, and both have to be retrainable without drama.

On top of that, the team starting this work was small. We needed a system the next set of engineers could understand, not a brittle artefact only one person could change. Engineering practice and architecture had to mature at the same time.

Approach

Pipeline plus API, both first-class

On the offline side, PySpark jobs ran on AWS to build the candidate sets and ranking features the model needed. The output landed in a shape the API could serve directly, so the boundary between training and serving was a contract rather than a coincidence.

The serving layer was a FastAPI service running on Kubernetes, containerised, autoscaled, and instrumented end to end. Terraform held the infrastructure, GitLab pipelines held the deployments, and Grafana held the dashboards the on-call rotation actually used.

As the system grew, the team grew with it. I led the three engineers on the project, introduced DevOps and software engineering practices (testing, code reviews, CI/CD, containerisation), and made sure the recommender did not become a single-person dependency.

Deliverables

What was shipped

Offline recommendation pipeline

PySpark jobs producing candidate sets, ranking features, and the tables the API serves from, retrainable on demand.

Low-latency recommendation API

FastAPI service on Kubernetes, autoscaled to handle 30 million requests a day across multiple in-app surfaces.

Infrastructure as code

Terraform modules for the platform, reproducible environments, and deployment pipelines that anyone on the team could ship through.

Observability and on-call

Grafana dashboards for both the pipeline and the API, alerts tuned to actual user impact, runbooks for the common failure modes.

Engineering practice

Code review standards, automated testing, containerisation, and a release cadence the team could keep without burning out.

Team leadership

Led a team of three data engineers, mentored and grew the group, and helped shape the hiring and interview process for the wider team.

Outcome

Recommendations that scaled with the product

The platform served 30 million recommendation requests a day at peak, powering personalised surfaces across the app. The product team could try new placements without re-architecting the system every time, and the on-call rotation stopped being a source of dread.

The team grew up alongside the system. By the time I rolled off, the recommender was something the engineers owned end to end, with the practices and documentation to keep evolving it without me in the loop.

Reference

Written up by the consultancy that ran the engagement

Alexander Thamm, founder of the Munich consultancy where I led this work, posted publicly about the Cookidoo recommender, calling it "the Netflix of cooking" and pointing to the seven-year partnership with Vorwerk on IoT, streaming, machine learning, platform, and recommender work in the Thermomix environment.

Read the post on LinkedIn

Deep dive

For the full architectural walkthrough, the consultancy's engineering blog also has a two-part technical deep dive.

Stack

Technologies

Python PySpark FastAPI Kubernetes Docker AWS Terraform GitLab CI Grafana

Building a recommender that has to last?

Let's talk about what good would look like for your platform and team.