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
- 2025
Stack
- MQTT
- UI/UX Design
- TypeScript
- TailwindCSS
- Figma
- C
- Electronics
- Supabase
- Product Design
- Fusion 360

House of Glass
The Bloc Lamp reimagines modular lighting as a tactile, emotionally responsive object. Drawing from the clean geometry of glass blocks, I simplified the shape further using principles of Pragnanz, creating a single block form that becomes the focus of interaction. Its minimal axes of control (up/down for brightness and left/right for hue) allow users to intuitively explore light, translating gestures into a personally unique colour.

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 mobile/hybrid React app mirrors the physical form, providing real-time feedback while preserving the tactile simplicity of the lamp. Users can adjust brightness, hue, or select a preset while watching the colour respond instantly, bridging digital control and physical experience.

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
From embedded code to front-end interactions, the system was tuned for real-time performance. LED transitions, hue mapping, and app feedback are smooth and immediate, enhancing the feeling that the lamp is alive and responsive to the user’s touch.
Related work