2026-05-05 · 12 min read
Designing a Reusable Capability for Driver Comms
A recipe for unified SMS, WhatsApp, Telegram, and email — tenant isolation, per-driver preferences, translation, and media — without rebuilding the wheel on every project.
Problem shape
Dispatch-heavy businesses need drivers on the channels they already use. Building four separate inboxes is a trap: your team burns out tab-switching, and context never joins up.
Capability boundaries
- Ingress: Webhooks per channel normalize to a single message shape (text, media, location, voice).
- Platform: Tenant-scoped queries on every read; realtime fan-out per conversation; durable media storage.
- AI layer: Translation (both directions), document extraction, image cleanup, transcription.
- Operator UI: One timeline, channel switcher, bulk send with threaded replies.
Failure modes to design for
- Duplicate messages on webhook retries (idempotency keys).
- PII in logs (redact before observability pipelines).
- Model hallucinations on extracted weights — always keep the raw attachment.
Reuse signal
If you've built this twice, capability-ize it: one markdown runbook, one test harness, one set of environment variables. The third deployment should be configuration, not a rewrite.