Pawbook
A management platform for pet hotels: one system, two audiences, and a security model that never trusts the client.
- Design, architecture & full build
- 2025
- Next.js 16 · TypeScript · Prisma · PostgreSQL · NextAuth v5 · Resend
One system, two very different users.
Pet hotels and dog daycares run on spreadsheets, WhatsApp threads and paper check-in sheets. Pawbook replaces all of that with one platform that serves two very different users at once: the business owner who needs to run day-to-day operations, and the pet owner who just wants to book a stay and know their dog is fine. The hard part isn't the CRUD. It's keeping every hotel's data provably separate while sharing one codebase and one database.
My role: I designed and built the whole thing end-to-end: data model, auth, both interfaces, the transactional email flow and the deployment.
Multi-tenant from the first line.
A single Next.js app backs both surfaces. A Prisma schema over PostgreSQL models businesses, owners, dogs, stays and notifications. Auth is NextAuth v5, and all writes go through server actions rather than sprawling API routes: seven focused modules. New customers onboard through a tokened email activation flow powered by Resend and React Email.
Where the senior work lives.
The client never picks the tenant.
One codebase, two audiences.
Onboarding that can't deadlock.
Server actions over API sprawl.
2
user surfaces, one codebase
7
server-action modules, all session-scoped
100%
tenant isolation enforced server-side
Live
try it with the demo login
Demo: owner@demo / customer@demo · password demo123
Menu Marvel
An AI companion that reads foreign menus and shows you the dish.