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