System Case Study — Full-Stack Development — Fintech CRM
Salaam Microfinance Bank is a Kenyan Islamic microfinance institution with four branches serving thousands of customers across digital channels. As the bank's digital presence grew, three internal teams — Marketing, Relationship Management, and SalaamPay Customer Service — ended up managing customer conversations in silos: separate apps for WhatsApp, Facebook, Instagram, Twitter/X, TikTok, email, and the SalaamPay app, no structured lead follow-up, no broadcast tooling, no audit trail, and no visibility into agent performance or SLA adherence.
The bank needed a purpose-built, bank-grade CRM — not a generic SaaS tool — that matched its brand identity, complied with Kenyan data regulation, and was operated entirely by its own team.
I designed and built Salaam CRM — a full-stack, multi-channel social CRM tailored exclusively for Salaam Microfinance Bank. It's an internal web application used daily by agents, relationship managers, and administrators across all four branches.
A manager's command-center view of the CRM — the kind of overview a bank director gets in one glance: conversation volume by channel, pipeline health, and SLA performance. Switch the time range and click into a channel or pipeline stage to see it respond.
Note — this is a self-contained front-end simulation built for this portfolio page, running on illustrative data. It mirrors the shape of the real dashboard without exposing Salaam Bank's actual production data or internal system design.
A single inbox with a conversation list, message thread, and contact profile — no more switching between eight separate apps to serve one customer.
| Channel | Inbound | Outbound | Broadcast |
|---|---|---|---|
| ✓ | ✓ | ✓ | |
| Facebook Messenger | ✓ | ✓ | — |
| Instagram DM | ✓ | ✓ | — |
| Twitter / X | ✓ | ✓ | — |
| TikTok | ✓ | ✓ | — |
| ✓ | ✓ | ✓ | |
| SalaamPay App | ✓ | ✓ | — |
| Web Form | ✓ | ✓ | — |
Leads promoted from the inbox move through a Kanban pipeline — New → Contacted → Qualified → Converted → Closed — with a mandatory notes step at every tag, creating an automatic qualification trail.
Admins compose campaigns using Meta-approved templates, filtered by channel, department, and contact attributes, with delivery tracked per recipient — built to handle large audiences without slowing down the person sending it.
A drag-and-drop email builder, HTML import from external design tools, audience targeting by opt-in status and branch, and open/click/bounce tracking on every campaign.
| Priority | First Response | Resolution |
|---|---|---|
| Urgent | 30 min | 4 hours |
| High | 1 hour | 8 hours |
| Medium | 2 hours | 24 hours |
| Normal | 4 hours | 48 hours |
Every conversation carries a live SLA countdown, and breaches surface automatically to managers rather than going unnoticed.
Role-based access (Admin / Agent / Viewer), department scoping, and per-agent channel grants — an agent only ever sees the conversations relevant to their team.
Keyword-triggered auto-replies and guided chatbot flows handle first contact before an agent takes over. Every action in the system — logins, tags, broadcasts, password resets — is captured in a full audit trail for accountability and compliance review.
Agent performance, SLA adherence, channel volume, and pipeline conversion — all rolled into reporting that gives managers visibility they never had with the old, siloed setup.
The CRM ships with its own purpose-built design system, derived from the bank's brand — navy and peach, distinct from this portfolio's own amber-and-crimson palette. Hierarchy is built with type weight rather than size, and the product favors information density over whitespace, since agents live in this interface all day.
A full security review was carried out across authentication, access control, and data handling — every finding was remediated before go-live, and the system now runs on hardened role-based access, parameterized data access, and transaction-safe account management.
| Metric | Before | After |
|---|---|---|
| Channel management tools | 8+ separate apps | 1 unified inbox |
| Agent response time | Unmeasured, no tooling | Tracked per-conversation with SLA enforcement |
| Broadcast capability | Manual, no tracking | Async campaigns with open/click/bounce analytics |
| Lead pipeline visibility | None | Full Kanban pipeline with qualification notes |
| Data compliance posture | No controls | Kenya DPA 2019 compliant |
| Email marketing | Not possible | Full campaign suite with deliverability tracking |
Deployed to production, serving agents across Marketing, Relationship Management, and SalaamPay Customer Service at all four branches.
If this is you
If your team juggles WhatsApp, Instagram, and email in three windows, I build you one system that pulls them into a single inbox, shaped around how you work.
Back to
All Systems →
Whatever you need built, I design and ship it end to end, from an internal tool to a full-stack product. Tell me what should already exist.
Talk to Me →