Project 01
Cambioturno
Shifts, swaps and hours for bars, restaurants and venues. The owner publishes the week, staff swap shifts from their phones.

The problem
In bars and restaurants, shifts live on a sheet of paper, in Excel or in a photo posted to the WhatsApp group. When someone can't make it, the owner checks by hand who already has too many hours, who closed at 2 am and would be back at 9, who is on holiday. Swaps arranged between colleagues often break rest and hour rules without anyone noticing. At the end of the month, the hours for the payroll consultant have to be rebuilt by hand.
The solution
I designed and built it from scratch as a subscription product. The owner prepares the week in the planner and publishes it. Staff give away or swap shifts from an app that installs on the phone and shows shifts even offline. A rules engine checks every change: minimum rest, contract hours, skills, holidays. Swaps that follow the rules are approved automatically; the others go to the manager, who can also decide from Telegram. At the end of the month the report splits night, Sunday and holiday hours and downloads as Excel or CSV.
Stack
- Next.js
- TypeScript
- Tailwind CSS
- Prisma
- MySQL
- Better Auth
- Stripe
- Telegram (grammY)
- Vitest
- Playwright
Result
The product is complete: planner, staff app, approvals, notifications, reports, Stripe subscriptions and a demo with no sign-up. Each of the 59 rule and swap scenarios in the spec has an automated test, and they all pass. In total, 251 tests on the logic and the database and 78 browser tests on phone and desktop, with an accessibility check on every page.
Gallery



