The context
A restaurant changes its menu several times a year; each change meant reprinting the QR codes stuck on the tables. iziQRcode trusted us with its product end to end.
What we built
- Dynamic QR codes: the destination can be changed at any time, scans are measured
- iziMenu: photograph the paper menu, it is read, laid out and published in five languages
- The website, the sign-up and online payment flows, and the Google Ads and Meta Ads campaigns to take it international
Under the hood
- A Next.js 15 and React 19 app in TypeScript, Tailwind interface, five languages with next-intl
- PostgreSQL and Prisma for data, Redis to protect the API, payments and VAT through Stripe
- Claude AI reads the photographed menu, lays it out and translates it
- Hosted in Germany at Hetzner, in Docker containers behind Cloudflare; errors tracked with Sentry, emails sent with Resend




