Bloc Lamp
Lighting is often functional, but it can also be expressive, emotional, and deeply personal. Bloc Lamp explores what happens when form, colour, and interaction converge in a single object. Inspired by the clean geometry of La Maison de Verre and 70s glass blocks, the project transforms a simple modular shape into a canvas for light, emotion, and time itself.
- Year
- 2024
Stack
- MQTT
- UI/UX Design
- TypeScript
- TailwindCSS
- Figma
- C
- Electronics
- Supabase
- Product Design
- Fusion 360

House of Glass
Bloc Lamp started with the simple geometry of a glass block. I reduced the controls to two axes: up and down changes brightness, while left and right changes colour. This makes exploring the light feel more like manipulating the object itself than navigating a conventional set of controls.

Bringing seasonal and emotional lighting to life
Users can choose from curated seasonal presets, such as fresh yellow-and-green palettes for spring or warm cinnamon tones for autumn. An “Aura” mode interprets emotional lighting through colour psychology, offering settings like joy (vibrant blends) or focus (green tones), designed to enhance wellbeing over the course of the day.
Every interaction embedded in the glass block and reflected in UI
The React app uses the same basic controls as the physical lamp. Users can adjust brightness and colour or choose a preset, with changes appearing on the lamp in real time. I wanted the app to feel like an extension of the object rather than a separate remote control.

Over the Air
I developed the ESP32 firmware in C, communicating via MQTT for real-time control. This setup enabled a robust remote firmware update system: compiled firmware is stored in organised cloud buckets, and the app checks and prompts updates automatically, awaiting user confirmation. This marked my first hands-on experience with over-the-air firmware delivery, yet has proven itself to be reliable.

Connectivity redesigned
Instead of relying on generic WiFiManager interfaces, I built a custom setup using REST APIs, visualising real-time connection statuses on the lamp itself. This personal touch ensures that even setup feels coherent with the Bloc Lamp’s design language.
Taking colour control to another level
Using the x and y axes, user inputs are mapped to unique colours. I reused algorithms to blend and name the resulting hex codes, allowing users to save or share precise combinations. This system supports both manual exploration and curated experiences.

Each layer optimised for responsiveness and immersion
Responsiveness was important throughout the system. I tuned the LED transitions, colour mapping, and app feedback so that physical and on-screen changes happen quickly enough to feel directly connected to the user's input.
Related work