MIGT SMS
A full-featured web platform built for SMEs to send bulk SMS campaigns, manage contacts, track delivery, and administer platform users — with role-based access and a credits system.
View Live ProjectThe Challenge
SMEs in Ghana needed a self-service SMS platform that would let businesses send bulk messages to their customers without requiring technical knowledge. The platform also had to support platform-level administration — managing users, reviewing payments, approving sender IDs, and monitoring activity across the system — all from a single interface.
What We Built
We designed and developed a full-stack SMS management platform with two distinct access tiers: standard users and platform administrators (NEXUS role). Key features included:
- Bulk SMS campaigns — compose and send messages to individual contacts or entire lists, with per-recipient delivery tracking
- Contact management — full CRUD for customer records with CSV import support via PapaParse
- Message templates — reusable templates with dynamic variable support to speed up campaign creation
- Message history & batch reports — drill into any bulk send to inspect delivery status per recipient
- Credits system — GHS-denominated credit balance, top-up via payment orders, and full transaction history
- Sender ID management — users request custom sender IDs; admins approve or reject from a dedicated review queue
- API key management — generate and revoke API credentials for programmatic SMS access
- Admin dashboard — user management (suspend/activate accounts, manual credit top-ups), platform-wide analytics, payment order review, sender ID approvals, feedback review, and audit logs
The Process
We began with a scoping phase to map out the two user roles and every feature each required. The API contract between the frontend and backend was agreed on first, allowing both sides to develop in parallel.
The frontend was built as a Next.js App Router application with route groups separating public auth pages from the protected dashboard. A custom HTTP client handles JWT access/refresh token rotation silently, queuing concurrent requests during refresh to prevent race conditions.
Each feature module — SMS, contacts, templates, credits, payments, sender IDs, API keys — was built as a self-contained section with its own API layer, keeping the codebase easy to extend.
The Outcome
The platform gives businesses a clean, self-service interface to run SMS campaigns without needing to integrate directly with an SMS API. Administrators have full visibility into platform activity through a dedicated admin section. The credits model provides a clear, metered billing structure that scales with usage.
Technologies Used
Next.js 16 · React 19 · TypeScript · Tailwind CSS v4 · shadcn/ui · Radix UI · React Hook Form · Zod · Jest · Docker