Jarvis
I love Iron Man, so I built a Jarvis that can talk to me and control my room.
Clip properties
- Track
- Software
- Role
- Solo: design, code, hardware, deployment
- Timeline
- Jun 2025 to now
- Status
- In development

- less waiting for the first AI text in a recorded provider comparison
- 91%
The story
I was rewatching the Marvel movies and started with Iron Man. I kept thinking that Jarvis seemed possible with AI now, so I started building my own. Over the next several months, he became something I actually use.
When I say “Hey Jarvis, good night,” he says good night, turns off my lights, and turns my fan on. He can give me a morning briefing with my calendar, email and weather, with some of that dry humor from the movies. Building the mirror frame was really fun too. I got to learn woodworking and put the whole thing together myself.
How it works
Follow the signal
Parts:
- Mic + wake word: openWakeWord · laptop
- Camera sidecar: OpenCV · faces, light
- Laptop satellite: STT · turn engine
- Shadow brain: prefetch while I talk
- Speaker + LEDs: TTS · WLED panel
- Brain: home server · systemd
- Model router: OpenRouter · fallbacks
- Memory: SQLite · FTS5 + vectors
- iPhone app: Expo · push
Connections:
- Mic + wake word to Laptop satellite: audio
- Camera sidecar to Laptop satellite: who's here
- Laptop satellite to Shadow brain: partial text
- Laptop satellite to Brain: transcript ⇄ reply
- Laptop satellite to Speaker + LEDs: speech
- Brain to Model router: prompt
- Brain to Memory: recall
- iPhone app to Brain: chat, voice
Behind the build Tools & technical details
Node.js · Python · SQLite (FTS5 + embeddings) · OpenRouter · AssemblyAI · Deepgram · ElevenLabs · Fish Audio · OpenCV · Expo (React Native)
The home server runs the assistant, memory and phone API. A separate laptop handles the microphone, speech, camera and lights. Streaming replies and prefetching low-risk information reduce waiting. Higher-risk actions require confirmation.
Memory combines SQLite full-text and embedding search. The mirror has a handmade wooden frame, a display behind the glass, side-mounted speakers and backlighting. I wrote the specifications and tested the setup, with AI coding agents helping implement V4.
The hard part
Getting a reply quickly took a lot of work. I also wanted to interrupt him while he was talking, but the microphone kept picking up his own voice. I had to work through both problems to make talking to him feel natural.
What came out of it
I’m the only person using Jarvis. Turning my lights off just by talking to something I built still feels like living in the future.
Explore the project
A closer look
Films
1 filmsFirst boot in the frame. The display runs inside the bare 2×4 frame before the glass and stain.
Photos
2 photosThe plan. A 24 × 18 in mirror in a 5 in deep frame, speakers in the side, a French cleat to hang it, and LEDs, an LED controller and a speaker amp on the back.
The frame going up. A monitor turned vertical, a woofer and tweeter cut into the side, and the amp and wiring behind it.
