Client Context
Generic CRMs are often too costly and complex for 1–5 person businesses. I’ve shipped industry-shaped systems—Urban Bar CRM, Venlyn OS, and a physiotherapy planner—where workflows, not feature checklists, drive the schema and UX.
The Challenge
Before
One-size tools need heavy configuration and still miss floor realities: peak-hour tablets, geography, or clinical record needs.
Better
Each domain demands different “hot paths”: bar lookups, service-radius validation, or structured session history.
- Security must hold if UI is bypassed
- Staff collaborate in real time
- Mobile hardware constraints dominate
Solution Architecture
Supabase Postgres + RLS everywhere for tenant and role isolation.
Realtime channels with reconnect-aware hooks and optimistic updates for operational floors.
Mobile-first layouts with 44px+ targets and PWA/offline considerations where the domain requires it.
Domain modules: denormalized read models for hospitality peaks; maps-backed radius logic for services; export-friendly records where compliance matters.
Key Implementation Decisions
Database-enforced authorization
RLS policies mirror org boundaries—defense in depth beyond component guards.
Realtime as a product feature
Bookings and floor activity need instant fan-out, not manual refresh.
Denormalization where milliseconds matter
Trade storage for predictable latency on highest-frequency queries.
Integrations match the job
Voice AI + maps for services; loyalty math server-side for hospitality; stricter record handling for clinical flows.
Operational Impact
- Owners get one tailored system instead of a pile of spreadsheets and DMs.
- Staff coordination improves during concurrent operations.
- Customers see faster, more consistent service touchpoints.
Results
- Reusable architectural patterns across three distinct verticals.
- Evidence that domain time on floor/clinic/field beats generic CRM config.
- Security posture aligned to multi-tenant SMB reality.
Technology Stack
- Core stack
- Next.js 14/15, TypeScript, Supabase, PostgreSQL, Tailwind CSS
- Services CRM
- Voice AI integration, Google Maps distance/radius
- Patterns
- RLS, Realtime, optimistic UI, PWA where applicable