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.