← Works

ZigHaven

A native iOS smart home app bringing an Apple Home-inspired interface to Zigbee2MQTT

iOS SwiftUI UX UI Accessibility Smart Home AI Development
Timeline since 2025
Role UX Design & Development
In a Nutshell

Built around progressive disclosure to manage smart home complexity, with visual schedule editing, room-based device organization, and full VoiceOver accessibility throughout.

Key Metrics

4.1
Sessions per active device
0%
Crash rate since launch

Overview

ZigHaven is a native iOS app for controlling Zigbee2MQTT smart home systems. I designed and developed the entire product — from a personal idea to shipping on the App Store.

The project started with a very specific problem and grew from there.

The Challenge

I use Zigbee2MQTT to control smart radiator thermostats. These radiator thermostats support weekly schedules — a useful feature in theory. But in Zigbee2MQTT, setting a schedule means entering a raw string like:

06:00/21.0, 08:30/17.0, 16:30/21.0, 22:00/17.0

This tells the radiator thermostat to heat to 21°C at 6 AM, drop to 17°C at 8:30 AM when you leave, warm up again at 4:30 PM, and cool down at 10 PM for the night. Functional, but built with technical users in mind.

I wanted a visual schedule editor that made this easy. Zigbee2MQTT is excellent software, but it's designed for a technical audience. For the rest of the household, there was no simple way to control things: lights, sensors, power monitoring — everything ran through web dashboards, not through an app you'd use to just turn off the lights.

The Design Goal

The vision was straightforward: create an experience closer to Apple's Home app, but backed by Zigbee2MQTT. The key principles:

  • Familiar patterns: Room-based organization, simple toggle controls, and visual feedback that feels native to iOS, not like a technical dashboard
  • Complexity when needed, simplicity by default: A light switch should be a tap. A radiator thermostat schedule should be visual and easy to adjust. Advanced configuration should exist but not be in the way
  • Works for the whole household: Not everyone in a home is technical. The app needs to feel approachable to anyone, not just the person who set up the Zigbee network

Key Design Decisions

The visual weekly schedule editor with temperature time blocks for each day

Visual schedule editor: The core feature that started it all. Instead of typing time/temperature strings, users see a visual weekly timeline where they can drag to create, adjust, and remove temperature blocks. Each day is visible at a glance, and copying a schedule from one day to another is a simple interaction.

A room view with card-based device layout and an AI-generated room background

Room-based organization: Devices are grouped by room with card-based layouts, matching the mental model of how people think about their home: "Ceiling Light Living Room," not "0x00158d0001a2b3c4." Using AI, the app can automatically assign devices to rooms and create the room structure on its own. The AI also generates fitting background images for each room, giving the app a personal, homey feel right away. This eliminates manual setup and makes the app usable right after connecting.

The home screen showing room-based device organization with quick controls

Device detail view showing brightness and color controls for a light

Progressive complexity: The home screen shows rooms and quick controls. Tapping a device reveals more detail. Advanced features like power monitoring, firmware updates, or the server deployment wizard are accessible but never in the way of basic daily use.

VoiceOver accessibility: Full VoiceOver support throughout the entire app. Smart home control is particularly important for users with visual impairments: being able to adjust heating or lighting by voice and gesture without relying on a web dashboard makes the app usable for blind people too.

In-app server setup: Some features (like power consumption history) require a small backend server. The server runs on the same device as Zigbee2MQTT, so no extra hardware is needed. Rather than setting it up via SSH, a wizard in the app walks users through the installation step by step.

Outcome

  • Successfully launched on the App Store
  • Provides a native iOS alternative in a space dominated by web-based dashboards
  • Full VoiceOver accessibility — a differentiator in the smart home category
  • A small everyday frustration grew into a full product

Interested in working together?

Get in touch