CRM infrastructure built for real estate teams that actually close.
A production multi-tenant SaaS CRM with pipeline kanban, automated SMS and email sequences, a CFO-level analytics dashboard, and full team-based permission isolation. Live on Vercel, serving real estate teams today.

56
API routes
Fully typed with Zod validation
40+
Prisma models
Complex relational schema
Multi
Tenant isolation
Team-scoped data access
Live
Status
Deployed on Vercel
The Challenge
Real estate teams operate differently from traditional sales orgs. They need contact pipelines tied to specific agents, shared inboxes with role-based visibility, automated follow-up sequences that know not to double-send, and financial dashboards that surface the metrics brokers actually track — not generic CRM charts.
The hardest engineering problem was multi-tenant data isolation. With 40+ Prisma models and complex relational queries, every data access pathway had to be tenant-scoped by default — not as an afterthought. A contact owned by Team A cannot surface in Team B's pipeline, even for admin-level users.
Clerk's organization model was the foundation, but the real isolation work happened at the database query layer — every Prisma query is constructed with an implicit tenant filter enforced at the service level, not at the UI level.
The Solution
Drag-and-drop pipeline stages with custom column definitions per team. Cards carry full contact context — last contact date, assigned agent, active sequences, and next action flags.
Automated multi-step sequences via Twilio SMS and email. Sequences are contact-scoped, have configurable delays, skip weekends optionally, and halt automatically on reply — so you never blast someone who already responded.
Financial metrics built for brokerage leadership: GCI tracking, agent performance breakdowns, pipeline velocity, and projected close value — all scoped to the team's actual deal data.
Roles map to Clerk organizations. Admins see everything. Agents see their assigned contacts and pipeline. Brokers see team-wide data with agent attribution. No cross-contamination between tenants.
Subscription plans with Stripe Billing. Teams upgrade, downgrade, and cancel through a self-serve portal. Seat count adjustments update permission scopes in real time.
Every route is validated with Zod, authenticated via Clerk middleware, and tenant-scoped at the service layer. No unprotected endpoints. The API is the enforcer, not just the messenger.
Tech Stack
The Result
VIBE CRM is live on Vercel and serving real estate teams. The platform handles multi-tenant data isolation correctly, billing works end-to-end through Stripe, and SMS sequences run without intervention.
The 40+ Prisma models and 56 API routes aren't impressive because of the count — they're impressive because each one is intentional. There's no model that doesn't serve a real user workflow. No route that isn't tested against the tenant isolation guarantee.
This is what CRM infrastructure should look like when it's built specifically for the people using it — not adapted from a generic template.
Multi-tenant, subscription billing, complex permissions — these aren't problems. They're solved patterns. Let's talk about what you're building.