Flutter · WebRTC · IoT · Technical leadership
Aligning hardware, firmware, cloud and mobile around a single system.
Technical lead and mobile developer on an IP-camera system: Flutter app, peer-to-peer WebRTC, MQTT, firmware and real-time cloud. An 8-person team aligned around shared interface contracts.
- Role
- Technical project lead · Flutter mobile developer
- Period
- 2023 · At Coding Industry
- Stack
- FlutterWebRTCMQTTHLSTypeScriptFirmwareRaspberry Pi
Measured reference points
< 300 ms
measured WebRTC latency
Peer-to-peer video streaming on mobile
8 people
team coordinated
Mobile, backend, firmware and hardware
3 months
first version delivered
From spec to field tests
The problem
Off-the-shelf camera solutions relied on closed firmware and limited the client’s ability to audit, modify and evolve its own product. The challenge was not only mobile: every decision touched hardware, firmware, real-time protocols, backend and the user experience at the same time.
My responsibility
- break the system into clear responsibilities;
- distribute tasks, estimate and plan;
- make architecture decisions and run code reviews;
- own the client relationship and delivery deadlines;
- develop the Flutter app and the critical video flows.
Structural decision: a shared contract
To prevent each team from interpreting messages, events and system states differently, I used an interface control document as a central contract. Hardware, firmware, backend and mobile teams all worked from the same names, formats and responsibilities.
Structural decision: simulate before receiving the hardware
Mobile development could not wait for a physical camera to be permanently available. A three-level simulation strategy allowed us to test the interface, exchanges and end-to-end scenarios throughout the project:
- mocked responses to quickly build the interface;
- a TypeScript simulator reproducing the camera’s network behaviour;
- a Raspberry Pi emulator for tests close to the hardware.
Mobile application
Camera pairing, live view, peer-to-peer WebRTC, HLS fallback when needed, MQTT signalling and telemetry, connection-state handling, error recovery and reconnection.
Results
The team delivered a first version in three months despite simultaneously discovering several technical domains. Peer-to-peer streaming reached a measured latency under 300 ms in the documented test conditions.
What this project proves
- coordinating a multidisciplinary team;
- Flutter mastery beyond CRUD apps;
- understanding real-time protocols;
- documenting architecture and reducing cross-team dependencies;
- technical leadership while still shipping code.