SmoothBook is a multi-tenant short-let property booking and availability platform I built from scratch, three separate Next.js apps (manager portal, agent portal, marketing site) sharing a typed API client and a Better Auth package. I built the multi-tenant layer using Better Auth's organization plugin, handling org switching, cross-subdomain sessions, and role-scoped access across owner, admin, and manager roles. The booking flow is a modal state machine covering listing selection, guest details, ID upload, and a live price preview that reconciles a local estimate against the server's breakdown. I also hand-built a date-range picker with booked-range blocking and hover preview, no calendar library. Data layer is TanStack Query with org-scoped query keys and cache invalidation wired through every mutation. Roughly 295 files, 50,000 lines, across the three apps.