Independent paid work for Happy Pet, built in parallel with other roles (2025–2026).
The problem
Happy Pet kept the schedule on paper and coordinated over WhatsApp. Clients did not know if a transfer was available until they asked and waited for a reply.
What I built
A public real-time booking calendar: the client signs up, adds their pet, picks a day and time, and sees transfer availability without going through staff.
Technical decisions
Small business: a modular monolith, one deploy. React + TypeScript SPA (Cloudflare) and Java + Spring Boot API (Railway) on PostgreSQL.
The hard problem
Only 4 transfers per day. If two clients request the last one at the same time, one has to lose. The cap — and the time slot — is reserved in the database, not with an if in the API.
The outcome
Self-service: the client sees real availability and books without a WhatsApp back-and-forth.