Architecture: - ESP8266 + DHT11 sensor sending data via MQTT - Go backend for data ingestion, writing to InfluxDB (time-series DB) - Next.js frontend with live WebSocket updates (zero latency) and historical charts
Key engineering decisions: - MQTT over HTTP for true real-time push - Server-side timestamping (ESP8266 has no RTC) - InfluxDB for efficient time-series storage - Dual-channel: WebSocket for live data, REST API for history
I built this as a junior Go engineer to move beyond CRUD apps and work with IoT protocols, systems programming, and real-time data streaming.
Would love feedback on the architecture choices!