FairMenu — fairmenu.app
A hospitality marketplace where guests search by what they want to eat, venues publish their real menu, and orders are paid online.

Outcome
- ✓3,740 hospitality venues discoverable across Amsterdam, The Hague, Leiden and Parkstad.
- ✓One product connects discovery, a claimable venue page, menu management and online ordering.
- ✓No fixed monthly fee for venues; the commercial model only charges commission on online orders.
- ✓Production-safe browser tests cover the public, claim, payment and admin boundaries on desktop and mobile.
My role
Founder, product owner and sole engineer — platform, marketplace, data pipeline and payments.
The challenge
Hospitality discovery starts with intent — 'matcha', 'ramen' or 'a good cappuccino' — but most platforms only index venue names and broad categories. Independent venues also need a low-risk way to publish their real menu and accept orders without committing to a large monthly platform fee.
What I built
A two-sided hospitality product: a consumer discovery PWA backed by live venue and menu data, plus a multi-tenant platform where owners claim a venue, publish a branded page, manage menu and opening hours, and receive paid pickup orders. One Supabase data layer powers both products.
How it works
- Guests search for a dish, venue or address and filter by distance, opening state, ordering and discount.
- A venue owner finds and claims an existing listing, chooses a branded address, publishes the real menu and controls opening hours and availability.
- A paid order moves from Mollie confirmation to the venue's live order screen, with pricing and commission recalculated on the server.
- Venue imports, menu extraction and data-cleaning scripts expand coverage while review and audit steps keep public data trustworthy.
Stack & why+
Ready to make AI actually work?
Products that do real work.
A self-growing job board indexing 77,000+ Dutch vacancies across 400 cities, with location-radius search and an API that powers a second product (FairApply).
FairSkills — fairskills.app10 live communities, each on its own branded subdomain from a single deployment — with tenant isolation enforced by 51 row-level-security policies across 23 tables, not by application code.