J.A.R.V.I.S.

private

Personal AI + home automation system. Self-hosted, privacy-first, always learning.

gotypescriptmcpaihomelabautomationroboticsiosansible

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 jarvis binary 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.