Available

Your home. One dashboard.

We built HomeOps to control everything in our own home from a single screen—weather, HVAC, lighting, energy, and switches. It replaced a pile of disconnected apps with one unified dashboard, voice commands, and real hardware control over MQTT. The modules reflect the specific devices we use, but the platform is designed so new integrations can be added for whatever hardware you have.

18K+
Lines of Code
5
Device Modules
50+
Voice Commands
2
VLANs

Built for our home. Available for yours.

Smart home devices are everywhere, but they all live in different apps. Our weather station has an app. The thermostat has an app. The lights have an app. The energy monitor has an app. None of them talk to each other, and switching between five dashboards to check on your own home is the opposite of smart.

HomeOps is what we built to fix that for ourselves. It pulls every device we own into a single dashboard with five focused tabs—weather, HVAC, lighting, energy, and switches. Voice commands through Whisper let us control everything hands-free. The whole thing runs locally on our own server, no cloud dependency for day-to-day operation.

The modules we built match the specific hardware in our home. But the platform is a shell—each integration is a self-contained widget that plugs into the dashboard independently. If you have different devices or want integrations we haven't built yet, we can add them. The architecture is designed for exactly that.

Five tabs. Full control.

Each tab is a focused dashboard for one aspect of the home.

Weather

90%

HVAC

95%

Lighting

In Progress

Energy

In Progress

Switches

95%

What's integrated today.

These are the specific devices and services in our home. Each module is a standalone widget that plugs into the dashboard independently—new hardware integrations can be built on request.

Weather Station

Ambient Weather station with its own standalone backend. Temperature, humidity, wind speed, rain, UV index, and barometric pressure with historical charts. Data syncs from the station's cloud API to a local server.

HVAC Control

Gree minisplit control via local network API—no cloud required. Set temperature, mode (heat/cool/auto/dry/fan), fan speed, and scheduling. Also supports Nest and Ecobee thermostats. 15+ API endpoints for full system control.

Smart Lighting

BRMesh BLE lights controlled via custom ESP32 firmware that bridges BLE to MQTT. On/off, brightness, and color temperature through the Broadlink Fastcon protocol. Commands sent 5x for reliability since the lights are receive-only.

Energy Monitoring

Emporia Vue circuit-level power monitoring with its own standalone backend. Real-time consumption per circuit, daily/weekly/monthly trends, and cost estimation via the PyEmVue integration.

Voice Control

faster-whisper running locally with CPU int8 quantization for speech-to-text. 50+ regex patterns for intent parsing map natural language to device commands. No cloud speech processing—everything stays on the local server.

Custom MQTT Devices

Any device that speaks MQTT can be added to the dashboard. ESP32 microcontrollers handle bridging for devices that don't natively support MQTT. Dynamic device discovery means new hardware shows up automatically.

Shell architecture.

HomeOps is a portal, not a monolith. Each module is an independent app imported as a widget. The dashboard ties them together.

Modular Widget System

Each device module lives in its own repository as a standalone Flutter app. HomeOps imports them as packages and renders their widgets in the appropriate dashboard tab. Adding a new device means building one widget—not touching the rest of the system.

Standalone Backends

Each hardware integration has its own backend service running on a dedicated port. Weather, energy, and lighting all have independent APIs. The FastAPI backend orchestrates them and provides a unified REST + WebSocket interface for the frontend.

Network Isolation

IoT devices live on a separate VLAN from the main network. The server bridges both VLANs, keeping smart home hardware isolated from personal devices while still allowing dashboard control.

Local-First

The entire system runs on a local server. MQTT broker, voice processing, device APIs—all on-premise. Cloud services are only used where the hardware vendor requires it (weather station cloud sync, energy monitor API). Day-to-day control works without internet.

Tech stack.

18,000+ lines across Python and Dart. Local server, MQTT, and real hardware control.

Backend

Python FastAPI with 6,700+ lines. REST API for device control, WebSocket for real-time updates, MQTT client for device communication. Runs on a VPS with systemd and nginx.

Frontend

Flutter for Web and Windows desktop with 11,000+ lines of Dart. 5-tab dashboard shell importing standalone module widgets. Modular package architecture.

Voice Processing

faster-whisper with CPU int8 quantization for local speech-to-text. 50+ regex patterns for intent parsing. Phase 2 plans distributed ESP32 microphones with INMP441 sensors.

ESP32 Firmware

Custom firmware for BLE-to-MQTT bridging. WiFi connectivity, MQTT pub/sub, BLE broadcast for BRMesh lights, and OTA update support. Handles the protocol translation between smart home devices and the MQTT broker.

MQTT Infrastructure

Mosquitto broker as the central message bus. All device commands and state updates flow through MQTT. Enables real-time bidirectional communication between the dashboard and hardware.

Deployment

VPS with 2 vCPU and 8GB RAM running the backend, MQTT broker, and voice processing. Frontend served via nginx. Dual-VLAN network with IoT isolation.

Want something like this for your home?

HomeOps was built for the specific devices in our home, but the shell architecture means new device integrations can be added for whatever hardware you have. Different thermostat, different lights, different sensors—we can build the module. If you're tired of juggling five apps to control your own house, let's talk about what a unified dashboard would look like for your setup.