Back to Selected Work
Berlin restaurant kitchen pass at service — chef hands plating dishes under warm tungsten light, moody editorial photograph
€2.40avg cost / restaurant
28 minp95 latency
n8n · Claude · Vision

CLAYMR Pipeline

An onboarding and content pipeline for a Berlin restaurant-marketing agency. New client launched in 30 minutes, not a full day.

Scroll

Every new restaurant onboarded to the agency required a day of manual content prep — scraping their Instagram, lifting menu PDFs, learning their tone, drafting first posts. The pipeline collapses that into a single webhook trigger and a 30-minute end-to-end run.

Services

Automationn8nClaudeVisionInternal OpsCost-Capped

Year · Role

2026 · AI Automation Engineer

Type

Internal operations pipeline

Pipeline

Six stages, one webhook.

Webhook Collect Extract Voice Profile Generate Handoff
01 / WEBHOOK Trigger ingestion

A signed webhook fires when a new restaurant is added in the agency CRM. Payload includes IG handle, GMB URL and menu PDF link.

02 / COLLECT Source aggregation

IG posts, Google reviews, menu PDF and any uploaded brand documents are pulled into a per-restaurant raw-content bucket.

03 / EXTRACT Vision parsing

Claude Vision lifts menu items, prices, photos and brand-language signals from PDFs and images into structured records.

04 / PROFILE Voice profile

Tone, slang, do-not-say list and preferred CTAs distilled into a typed Postgres record that conditions every future generation.

05 / GENERATE Content production

Menu copy, IG captions and GMB updates produced from the voice profile. Every output cost-tagged and budget-capped per restaurant.

06 / HANDOFF Notion review

Generated assets arrive in Notion as structured pages with approve/reject controls. Approved items push directly to scheduled IG / GMB / web.

Chef hands placing fresh herb garnish on a plated dish at Berlin restaurant kitchen pass

/ Six stages, one pipeline

From signup to first published post in thirty minutes.

01 · Approach

The voice profile is the asset.

The cheap trick is to ask Claude to "write like a restaurant in Berlin." The real lever is building a voice profile once — extracted from every existing piece of content the restaurant has — then conditioning every future generation on it.

Profile lives in Postgres. Each restaurant becomes a tenant. Updates cascade through future runs but don't invalidate prior outputs.

"Reviewer never leaves Notion."Workflow Principle
6 stages
1/houronboarding cap

Stack

Cost-tagged at every stage.

WebhooksAgency CRM triggers
n8nSix-stage orchestration
Claude VisionMenu + image extraction
PostgresPer-tenant voice profile
Notion APIReviewer-first handoff
StripeCost telemetry
RISTORANTE PESTO · BERLIN · #014 READY
Caption draft · IG carousel 14:32 scheduled
Image alt text · DE / IT 14:34 approved
GMB short answer · FAQ 14:36 pending
"Stagione nuova — primi piatti che cambiano ogni 14 giorni. Pasta fatta a casa, sughi che vivono al ritmo del mercato." Generated · brand-voice match 94%

Reviewer-first handoff

The reviewer never has to leave Notion.

Every generated asset arrives as a structured page with restaurant context, voice-profile excerpts, and approve/reject controls. Approved items push directly to scheduled IG / GMB / web copy. Failed stages auto-retry with backoff before escalating.

From one onboarding per day to one per hour.

€0.00Avg cost / restaurant
0 minp95 wall time
0Pipeline stages
Throughput uplift
Candle-lit Berlin restaurant table at night — plated dish, linen napkin, brass cutlery, single tungsten pendant

Next case study

Stash Ops