Engineering case study · 01
Live, invite-only admin portal · Resident app not yet released
Luxe PMS
Property-management suite for residential communities — staff web portal + resident mobile app.
- PostgreSQL tables
- 48
- tRPC sub-routers
- 20
- native screens
- 35



One TypeScript system
Luxe PMS is an end-to-end TypeScript monorepo built with Bun 1.3 and Turborepo. The staff portal uses TanStack Router and Vite, the resident app uses Expo SDK 56 and React Native 0.85, and the Hono 4 server exposes tRPC 11 on Bun.
The product spans 19 authenticated staff pages and 35 native screens across five tab groups, backed by 48 Drizzle PostgreSQL tables, 38 enums, and 20 tRPC sub-routers.
AI actions under the same rules
The Luxe Assistant uses Vercel AI SDK v6 with Gemini 2.5 Flash and nine tools for packages, maintenance, reservations, amenities, booking, and escalation.
Write tools delegate through appRouter.createCaller, so AI actions hit the same RBAC, validation, and transactions as the UI. Sessions are revalidated on every tool call, with a layered system prompt and prompt-injection guard.
State that stays safe
Realtime conversations stream over SSE with per-conversation pub/sub and an ownership-check security contract. Better Auth provides an organization model, property roles, building-level scoping, and invite-only access.
Amenity booking uses SELECT … FOR UPDATE inside a transaction before overlap and capacity checks. The e-signature module adds hash-chained audit events, SHA-256 document hashes, a sealed PDF, and a certificate of completion.
Private files use S3-compatible object storage (RustFS in production), with MIME allowlists, upload limits, and tiered presigned URLs.