Multi-tenant SaaS · Case study
SmartCRM
SmartCRM is a white-label, multi-tenant CRM that turns the WhatsApp chats where Lebanese small businesses already sell into a structured, AI-organised sales pipeline.
- When
- Apr 2026 — Ongoing
- Stack
- Next.js · Prisma · PostgreSQL · Anthropic SDK · Cloudinary
The challenge
Lebanese small businesses run sales through WhatsApp and Instagram — leads, prices, and follow-ups all live in scattered chats. Generic CRMs go unused because nobody wants to re-type a conversation into a form, and most don't handle Arabic or a cash/USD pricing reality well.
What I built
- WhatsApp screenshot import: drop in a chat screenshot and Claude Vision extracts it into a structured contact record
- AI-tagged smart broadcasting to the right segments
- Kanban sales pipeline with ready-made industry templates
- Full right-to-left Arabic support across the whole app
- Multi-tenant and white-label, so each business runs its own branded instance on a subscription
Highlights
- WhatsApp screenshot import via Claude Vision
- AI-tagged smart broadcasting
- Kanban pipeline with industry templates
- Full RTL Arabic support
Context and constraints
SmartCRM was designed for how Lebanese small businesses actually operate: sales conversations happen on the owner's personal WhatsApp, prices are quoted in a mix of USD and Lebanese pounds, and chats switch between Arabic and English mid-sentence. Nobody in these teams has time for data entry, and asking them to onboard onto the official WhatsApp Business API — with its approval process and separate number — was a non-starter. Whatever the CRM did, it had to start from the chats that already exist.
My role
This is my own product, built end-to-end: product scoping, data model, UI, the AI extraction pipeline, and deployment. There was no team to hand anything to — which is also why the architecture favours boring, maintainable choices over clever ones.
Architecture and key decisions
The app is Next.js with Prisma on PostgreSQL, with every record scoped to a tenant so many businesses run branded instances from one codebase — that single decision is what makes the white-label subscription model work. The defining capture decision was screenshots over API integration: an owner drops a chat screenshot into the CRM and Claude Vision extracts the contact, the numbers discussed, and the context into a structured record. It meets businesses where they are instead of requiring them to change how they message. AI tagging then feeds segment-targeted broadcasts, and the whole interface is right-to-left Arabic as a first-class layout, not a translated afterthought.
Data isolation
Multi-tenancy is enforced at the data layer — each business's clients, pipeline, and media stay inside its own tenant boundary. A reseller can run many businesses on the platform without any of them seeing each other's data.
Delivered result
A delivered CRM capture flow built around existing WhatsApp screenshots, with a white-label multi-tenant model that can serve multiple businesses from one codebase.
Measurement note: this case study documents delivered functionality and architecture. Client-approved before/after KPIs, adoption data, and revenue impact are not measured or published here.
Want something like SmartCRM?
Message me on WhatsApp or see all services.
Case study last updated: · Project delivered: Apr 2026 — Ongoing