// CASE STUDY
Matatu Digital Signage
IoT-driven digital signage system for Kenyan public transit (matatu) fleets, delivering route and ad content over MQTT.
- Raspberry Pi
- Python
- Linux
- MQTT
- Mosquitto Broker
- Node.js
- TypeScript
- PostgreSQL
// THE PROBLEM
The problem
Matatu operators wanted dynamic digital screens inside vehicles — showing routes, fares, and advertisements — without a reliable internet connection or technical staff to manage devices.
// APPROACH & KEY DECISIONS
Approach & key decisions
Deployed Raspberry Pi units as edge nodes running a lightweight display client with offline-first content caching.
Built an MQTT broker-based messaging layer for low-bandwidth content pushes and device telemetry reporting.
Designed a fleet management dashboard for operators to schedule content, monitor device health, and push updates OTA.
Implemented heartbeat + reconnect logic to handle intermittent 3G/4G connectivity common in Kenyan urban routes.
// ARCHITECTURE
System architecture
// STACK
Technology stack
Edge
- Raspberry Pi
- Python
- Linux
Protocol
- MQTT
- Mosquitto Broker
Backend
- Node.js
- TypeScript
- PostgreSQL
Dashboard
- React
- Tailwind CSS
Infra
- Docker
- VPS
// METRICS
Key metrics
- Devices deployed—sample
- Content update latency—sample
- Uptime—sample
// GET IN TOUCH
Have a similar problem?
If your system needs the same kind of thinking — architecture, integrations, scale — I'd like to hear about it.
Open a ticket →