Overview
What this challenge is about.
Receive the current gateway source (Python 3.11, single-threaded paho-mqtt client + a serial HTTP forwarder, ~1,100 lines), a sensor-simulator that fans out 500 mock sensors at 1 Hz each, and the embedded hardware spec (ARM64 quad-core, 2GB RAM). Redesign using asyncio: a message-receive task per sensor (or pooled receivers), a bounded async queue, a worker pool of HTTP-forwarder tasks with backpressure to drop messages cleanly under overload (oldest-first). Add structured logging with correlation IDs for end-to-end tracing. Benchmark CPU + memory + message-loss rate at 100, 250, and 500 sensors. Deliver the rewritten gateway, the sensor-simulator setup, the benchmark report, and a 4-page firmware-team write-up.
The Brief
What you'll do, and what you'll demonstrate.
Rewrite a single-threaded IoT gateway to use async message-passing and scale from 200 to 500+ sensors per box without losing messages under load.
Earning criteria — what you'll demonstrate
- Apply asyncio patterns (tasks, bounded queues, worker pools) to a real device
- Implement message-passing with backpressure correctly
- Benchmark CPU + memory + loss rate at scaling points
- Document async-design choices the firmware team can extend
Program Fit
Where this fits in your program.
Sharpens the same skills your degree expects you to demonstrate.
Skills
Skills you'll demonstrate.
Each one shows up on your verified credential.
Careers
Roles this prepares you for.
Real titles. Real skill bridges. Pick the one closest to your trajectory.
Career mappings coming soon.