J.A.R.V.I.S.
privatePersonal AI + home automation system. Self-hosted, privacy-first, always learning.
Overview
J.A.R.V.I.S. is my personal AI and home automation system — a stack of interconnected services I've been building for years, designed to run entirely on my own hardware with no dependency on external AI providers for inference.
It started as home automation, grew into a full homelab, and is evolving into something more ambitious: an AI that knows my context, controls my environment, and can eventually drive a physical robot.
Components
The system is broken into four main layers:
- —J.A.R.V.I.S. MCP servers — the AI layer: tool integrations, orchestration, memory, context passing
- —Go CLI — a
jarvisbinary that works as a stdio MCP server for Cursor and Claude Code - —Cortex — dedicated server infrastructure (Ansible-managed, Dockerized, Proxmox-backed)
- —Otis — mobile robot software running on a Raspberry Pi with motors, sensors, and a camera
Dashboard
There's a unified web dashboard and a native iOS app with five tabs: J.A.R.V.I.S. infrastructure, Network (UniFi + Pi-hole), Media (Plex), Home (Home Assistant), and Observatory (system observability).
Both the site and the iOS app pull from the same API and panel definitions, so adding a new panel surfaces in both automatically.
Vision
The end state I'm working toward: a system that knows my schedule, controls my home, runs inference locally (Ollama, no cloud dependency), maintains persistent memory across sessions, and integrates with Otis for physical presence.
I don't want to depend on a third-party AI remembering who I am. I want to own that. J.A.R.V.I.S. is that bet.