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.

Live authentication screen

Live Screenshots
Landing page with CRM feature overview

Multi-tenant CRM features and integrations

Pricing tiers and plan comparison

60+
API routes
Fully typed with Zod validation
0+
Prisma models
Complex relational schema
Multi
Tenant isolation
Team-scoped data access
In Dev
Status
Onboarding early teams
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.
Platform Architecture
Every database query is constructed with an implicit tenant filter at the service layer. This is not a UI-level check. The Prisma client never executes a query without a tenant scope, which means cross-tenant data leakage is architecturally impossible, not just unlikely.
Permissions map to Clerk organizations with three role tiers: Admin, Broker, and Agent. Each role has a defined scope of what data it can read, write, and delete. Permission checks happen at the API route level before any data is touched.
Beyond application-level tenant filtering, the database enforces row-level access patterns. Contact records, pipeline stages, and sequence data all carry a tenant ID foreign key. Orphaned records without a valid tenant reference are rejected at the schema level.
System Map
Data Flow
Core Features
The pipeline is not a generic kanban board. It is purpose-built for real estate deal flow with stages that match how agents actually track leads from first contact to closing.
Automated multi-step SMS sequences via Twilio that handle the follow-up cadence agents forget to do manually. Sequences are smart enough to stop when they should.
Financial metrics designed for brokerage leadership, not generic CRM charts. Every metric on this dashboard maps to a number that brokers and team leads actually track.
Scale
The numbers are not vanity metrics. Every API route serves a specific user action. Every Prisma model represents a real domain object. The codebase is large because the product is large, and every piece was built intentionally.
For context: 40+ Prisma models is comparable in schema complexity to platforms like HubSpot or Pipedrive. The difference is that VIBE CRM is purpose-built for real estate workflows instead of being a generic CRM with plugins.
60+
API Routes
CRUD, search, analytics, billing, auth, SMS, export
40+
Prisma Models
Contacts, deals, sequences, messages, teams, billing, analytics
15+
Dashboard Views
Pipeline, contacts, sequences, analytics, settings, billing
100%
Zod Validated
Every input and output is typed and validated at runtime
3
Role Tiers
Admin, Broker, Agent, each with defined data access scopes
0
Unprotected Endpoints
Every route requires auth and tenant scope verification
Integrations
Organization-level multi-tenancy with role-based access control. Clerk handles sign-up, sign-in, session management, and org switching. The integration goes deeper than login: Clerk org IDs are the tenant keys that scope every database query.
Full subscription lifecycle management. Teams sign up for a plan, upgrade or downgrade through a self-serve portal, and seat count changes propagate to permission scopes in real time. Webhooks handle payment failures, cancellations, and invoice generation.
Outbound SMS sequences with two-way messaging. Messages are sent via Twilio with delivery status tracking. Inbound replies are captured via webhook and surface in the CRM conversation view so agents can continue the thread manually.
Tech Stack
VIBE CRM Build Status
VIBE CRM is deployed on Vercel and onboarding early 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 60+ 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.
From the blog
Shipping a Full CRM as a Solo Dev
VIBE CRM went from concept to live multi-tenant SaaS in under 60 days. Here's the architecture, the mistakes, and what I'd do differently.
Read articleAdding a React Native Mobile App to an Existing SaaS
VIBE CRM's web app was deployed but real estate agents live on their phones. Here's how I added a React Native mobile app that shares the same API, auth, and data layer without rewriting anything.
Read articleHow I Added 34 Features to My Website in One Session
CLI terminal, tech stack quiz, ROI calculator, architecture diagrams, easter eggs. 14 commits, 12,600 lines, 126 pages. All in one sitting.
Read article