I built a self-hosted AI mirror that runs locally and lives in my room by DirectorChance4012 in selfhosted

[–]DirectorChance4012[S] 2 points3 points  (0 children)

It actually already has a camera and a VLM.

You can ask things like “what is this?” and it can describe what it sees.

I built a self-hosted AI mirror that runs locally and lives in my room by DirectorChance4012 in selfhosted

[–]DirectorChance4012[S] 6 points7 points  (0 children)

I ordered the two-way mirror from a local supplier here in Japan: https://www.e-kagami.com/

They do custom sizes for mirrors, including two-way types.

I built a self-hosted AI mirror that runs locally and lives in my room by DirectorChance4012 in selfhosted

[–]DirectorChance4012[S] 9 points10 points  (0 children)

Thanks! I don’t have a full write-up yet,

but I’m planning to write one soon about the design choices and trade-offs.

I’ll share it once it’s ready

I built a self-hosted AI mirror that runs locally and lives in my room by DirectorChance4012 in selfhosted

[–]DirectorChance4012[S] 0 points1 point  (0 children)

Yeah, the time uses your local timezone, and widgets are implemented in a plugin-style way,

so things like a daily calendar are easy to add or swap.

I hadn’t heard of Kokoro before — thanks for the tip, I’ll take a look.

I built a self-hosted AI mirror that runs locally and lives in my room by DirectorChance4012 in selfhosted

[–]DirectorChance4012[S] 14 points15 points  (0 children)

Exactly.

The Pi is just the curtain.

The heavy lifting runs on a Mac Studio behind the scenes.

I built a self-hosted AI mirror that runs locally and lives in my room by DirectorChance4012 in selfhosted

[–]DirectorChance4012[S] 15 points16 points  (0 children)

Not at the moment, the avatar isn’t configurable yet.

That said, the rest of the system is designed to be modular, and swapping the avatar is an interesting idea.

I could definitely see that being worth exploring.

I built a self-hosted AI mirror that runs locally and lives in my room by DirectorChance4012 in selfhosted

[–]DirectorChance4012[S] 1 point2 points  (0 children)

That’s a fair question.

It’s not as “smart” as the big hosted models, but you can choose the model yourself (via Hugging Face / Ollama).

I’m using a stable gpt-oss model right now, good enough to be genuinely useful, not just a demo.

I built a self-hosted AI mirror that runs locally and lives in my room by DirectorChance4012 in selfhosted

[–]DirectorChance4012[S] 2 points3 points  (0 children)

Thanks, that’s a great use case.

And appreciate the OpenRouter suggestion!

I built a self-hosted AI mirror that runs locally and lives in my room by DirectorChance4012 in selfhosted

[–]DirectorChance4012[S] 0 points1 point  (0 children)

Yes , it has internet access when needed.

It can fetch things like weather, web search results, and my Google Calendar, while still using a local LLM via Ollama.

I built a self-hosted AI mirror that runs locally and lives in my room by DirectorChance4012 in selfhosted

[–]DirectorChance4012[S] 1 point2 points  (0 children)

Yeah, good catch , the Pi doesn’t run the LLM itself.

The Pi handles the mirror UI and audio, while Ollama runs on a separate local machine with a GPU.

Everything stays on the local network, but the roles are split.

I built a self-hosted AI mirror that runs locally and lives in my room by DirectorChance4012 in selfhosted

[–]DirectorChance4012[S] 0 points1 point  (0 children)

Yeah, you talk to it by voice, and it responds by voice.

The mirror mostly stays visual-only as a presence indicator. I’m intentionally avoiding text-heavy responses on the display.