What it is
two sides of the same empty tableBarcelona does not need another list of restaurants. It needs a reason to try the place you have walked past for a year, and a way for that place to fill the hours reputation alone will not fill.
luckybites is a marketplace with a promo at its centre. Diners browse what is available today, by neighbourhood or on the map, claim it on the spot, and collect points for reviewing honestly afterwards. Restaurants publish a deal for the hours they choose and get people through the door in them.
The side that pays
valley hours, filledEvery marketplace has a side that has to say yes first, and here it is the restaurant. The pitch is deliberately narrow: this is not visibility in general, it is filling the tables between the lunch rush and dinner.
That means the restaurant panel had to work for a busy owner between services. It does four things: publish a promo, cap it, watch it get claimed, stop it.
How it is built
Three languages from day one, because a Barcelona product that only speaks Spanish is a product half the city ignores: Spanish, Catalan and English, through the content and not only the interface chrome.
The engineering underneath is deliberately unexciting. Every table carries row-level security: a restaurant can only ever read and write its own promos and claims, and that rule lives in the database rather than in middleware someone can forget to call. Reviews carry photo uploads, which are what makes the next diner trust the deal. The whole thing sits behind Cloudflare, because a promo going around the city is exactly when the site must not fall over.
- Next.js
- Supabase
- PostgreSQL · RLS
- Cloudflare
- Maps
- i18n · ES / CA / EN
- Role
- Co-founder, engineering
- Started
- January 2026
- Stage
- Live in Barcelona
- Model
- Free for diners