Personal Project:Home Hub

Whathappenswhenatechiemovesintoanewplaceandprocrastinatesbybuildingasmarthomefromscratch
Started Feb 2026 — Active Build
🏠 Self-Hosted Stack🤖 Local AI (qwen3:8b)🔧 Building a Robot Now
nova · live
click the screen too →
your turn

Take the wheel

Drag to orbit. Click the TV screen to turn it on or off. Same controls as my actual Mac dashboard, without touching the real devices.

⌁ scroll to begin

Meet
Nova

personal project · 2026

My homemade
Alexa

ESP32online · 0.4msESP32 · HEAD · BODY · FXdockertraefikmqttollamapi-holegrafanahome-asst14 services · 5 layers · 50+ endpoints
eye displays
2× GC9A01
240×240 SPI
SCK · MOSI18 · 23 (shared)
CS L / R5 / 15
DC · RST2 · 4
RoboEyes: blink · gaze · mood
ESP32-S3
head MCU
ESP32-S3
drives all I/O
coreXtensa LX7 · 240 MHz
radiosWi-Fi 4 · BLE 5
I/OSPI · I²S · GPIO
one chip · three I/O subsystems
microphones
2× INMP441
I²S MEMS · stereo
SCK 33
WS 25
SD 32
temple stereo array · wake word + STT
speaker
MAX98357A
I²S amp · 3W
Piper TTS · “Jarvis” voice
scenarios
Nova can act proactively
no wake word needed · tap one to see it run
triggered by context · runs on its own
🦎
scenario · live
hi · meeting you for the first time

Nova learns who's on the Wi-Fi — one name at a time

  1. 1
    a new device joins the network
    Nova sees a fresh MAC address she's never seen before
  2. 2
    she asks "who's this?"
    Telegram ping + a ? animation on the chest
  3. 3
    you reply with a name
    free-text — e.g. "Andrei"
  4. 4
    saved to local network history
    MAC → name · stored on the Beelink · never leaves the box
  5. 5
    hi animation plays on her chest
    every future return triggers "welcome home" instead
⌁ this is how Nova builds memory — used by Welcome Home
⌁ proactive
things Nova does on her own
⌁ the brain

Nova runs qwen3:8b as her main LLM. To classify intents, orders, and tasks, we built a two-layer router — regex first, LLM fallback.

model
qwen3:8b
via Ollama
hostBeelink mini-PC
weights~4.7 GB · local
context32K tokens
⌁ live✗ no cloud✗ no api keys
routing
regex first · LLM fallback
▸ "what's the weather like?"
↓regex· 0.4msmatch
↓weather.current →
access
what nova reaches into
💡lights📺TV🤖vacuum🎵Spotify📹YouTube📅calendar🛒shopping list⏰timers💬Telegram📱WhatsApp🌐internet agent
+ growing
epilogue

That's Nova. She moved in two months ago and hasn't left.

What started as a weekend “sideload an LLM and wire it to Home Assistant” project turned into a full stack running on a single mini-PC under my desk. No cloud round-trips. No subscriptions. Everything she does happens between four walls.

18 intents, grouped four ways. The voice ones land on the wake word (or via Telegram if I'm not home). The proactive ones land on context — she figures out when to talk without being asked. Knowledge bounces through Perplexity. Environment bypasses the LLM entirely and just hits MQTT.

Voice

7
  • ·set a timer
  • ·play music
  • ·turn lights on/off
  • ·check the weather
  • ·add to shopping list
  • ·remind me later
  • ·movie mode

Proactive

4
  • ·morning briefing
  • ·goodnight nudge
  • ·welcome home
  • ·first-time greet

Knowledge

4
  • ·web search via Perplexity
  • ·recipe lookup
  • ·unit conversion
  • ·calendar Q&A

Environment

3
  • ·thermostat
  • ·blinds
  • ·speaker zones

Personal project, started Feb 2026. Built by Andrei Zitti.

Nova lives at home · no cloud · no telemetry · no upselling