Skip to content
Konrad Fischer, home

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
The finished smart mirror on my wall: a dark stained wood frame glowing pink from LEDs behind it, with the clock, weather, Spotify, calendar and a Jarvis reply showing through the glass
Software
Jun 2025 to now
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

Signal flow9 nodes · 8 links
The laptop listens and speaks. My home server handles replies, memory and the phone app.

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.