all projects / aeroom — 2024

æroom

Intelligent control for connected spaces

year
2024
role
Designer & Developer
duration
6 weeks
tools
ESP32, Node.js, MQTT, MongoDB
team
Julien Offray, Franz Pfitzer, Yannick Schwab
01

overview

æroom is a full-stack IoT platform for monitoring and controlling indoor climate and air quality across multiple rooms. It connects hardware sensors to a web interface through a complete data pipeline — from physical device to database to UI. The course brief asked us to build a connected system from scratch: hardware, backend, and frontend. The design challenge wasn't just technical — it was treating that complexity as a design problem in itself. IoT systems are usually either closed consumer products or developer tools with no thought given to the actual user.

  • <1s sensor-to-dashboard latency
02

problem

The gap in IoT platforms is almost always the same: systems that are technically capable but practically inaccessible. Either locked-down products with no flexibility, or open developer tools that require deep technical knowledge to operate. The brief pushed us to occupy the middle ground — a system built from raw components but designed for a real user. The multi-room, multi-user context added a meaningful design challenge: how do you give people the right information about their spaces while managing access sensibly across a household or small organisation?

03

process & insights

The project ran two tracks from day one: hardware integration and software architecture. On the hardware side, configuring ESP32 microcontrollers with temperature, dust particle (PM2.5), and air quality (VOC) sensors — getting reliable readings and managing wireless transmission before any UI work could begin. On the software side, designing the full data pipeline from MQTT transport through a Node.js broker to MongoDB storage.

  1. 01

    MQTT is the right transport layer for IoT — lightweight, real-time, designed for constrained devices

  2. 02

    The hardware has to work reliably before the software is worth designing — unstable readings invalidate everything downstream

  3. 03

    Multi-room, multi-user design means information architecture is as important as the sensor stack

  4. 04

    Authentication and access control are core to the product — not an afterthought

  5. 05

    Hiding technical complexity (MQTT topics, sensor IDs, database queries) behind a room-centric interface is the whole design job

04

solution

Each ESP32 unit measures temperature, dust particles, and VOC air quality, transmitting via MQTT to a Node.js broker that processes incoming data and writes to MongoDB for persistent queryable history. The web interface abstracts the entire technical stack behind a clean, room-centric UI. The platform supports a multi-room dashboard with live sensor readings across all spaces, per-room device management, and a family sharing system where room access can be granted to other accounts via key-based permissions. Authentication gates all data — only authorised users can view or control specific rooms.

  • Multi-room dashboard: All rooms and live sensor readings in one unified view
  • Device management: Add, remove, and configure sensors per room
  • Family sharing: Grant room access to other accounts via key-based permissions
  • Data history: Timestamped readings in MongoDB, queryable over time
  • Full authentication: Access control gates every room — only authorised users see their data
05

outcome

æroom was primarily a technical achievement — proving that a complete IoT stack could be built and understood end to end. But the design constraint was equally demanding: making the complexity disappear behind a UI that doesn't require a Node.js background to use. Building something functional and building something usable are two distinct challenges. This project was the first time I had to solve both at the same hardware level — and the gap between them turned out to be bigger than expected.

view on github →