TwinSystem

One repo for the whole smart home.

TwinSystem is the parent infrastructure mono-repo that orchestrates the Twindevs smart-home ecosystem — agents, native apps, and a production control panel — over a single private WireGuard mesh, with every device, network, and integration inventoried as version-controlled data.

Active

Why it exists

What you get.

  • One source of truth: the network mesh, SSH inventory, device registry, and Home Assistant exports all live as version-controlled JSON in a single repo, not scattered across dashboards.
  • Private by default: every node — agents, Home Assistant, Proxmox, the control panel — talks over a self-hosted WireGuard mesh on a private 10.6.0.0/24 subnet, not the public internet.
  • Three coordinated layers: agent automation (TwinClaw), a production control panel (TwinHome), and a future native platform (TwinSpace) share one infrastructure and one Home Assistant backend.
  • Natural-language home control: a gateway endpoint lets you describe an action in plain language and have it translated into the correct Home Assistant API calls.
  • Documented and reproducible: clone with submodules, follow per-project READMEs, and you have the full ecosystem topology — no tribal knowledge required.
Capabilities

Built for control, not lock-in.

Infrastructure as version-controlled data

The repo's data/ directory holds machine-readable inventories: the full WireGuard mesh topology, SSH host inventory, LAN device registry, and Home Assistant exports (17 areas, 654+ entities, 46 integrations). Infrastructure is reviewable and diffable, not undocumented.

WireGuard VPN mesh

A self-hosted WireGuard mesh on 10.6.0.0/24, hubbed through a DigitalOcean droplet running Traefik, links every node — agents, Home Assistant, Proxmox, and the workstation — over private addressing alongside the 192.168.50.0/24 LAN.

TwinClaw — agent management (production)

A WSL control plane for OpenClaw agents with an explicit build-and-sync pipeline from WSL to the Windows execution host. Runtime state stays out of git; generated configs are treated as outputs, with runbooks and architecture docs for recovery.

TwinHome — PWA control panel (production)

A self-hosted React 18 + Vite + TypeScript Progressive Web App built for a landscape-docked iPad. Connects to Home Assistant over WebSocket in real time, with room tiles, a now-playing media panel, scene launcher, camera/security controls, and a screensaver kiosk mode.

TwinSpace — native platform (early-stage)

A planned native smart-space desktop platform on C#/.NET 9, Uno Platform, gRPC, and NATS. Architecture spec and a Core/Plugins/SDK/AI/UI solution skeleton exist; it is scaffolded but not yet in active development.

Natural-language Home Assistant gateway

A gateway endpoint accepts a plain-language description of a desired action (for example, setting a light's brightness and color) and handles the underlying Home Assistant API calls, reachable over both LAN and the WireGuard mesh.

Home Assistant at the core

Home Assistant OS is the shared backend across all three layers, running on a Proxmox VM with 46 integrations and 654+ entities spanning lighting, cameras, energy monitoring, media players, and more.

Secrets-conscious conventions

Documented working conventions keep passwords, tokens, and private keys out of git via gitignored .env files and OS credential storage, with a per-repo classification scheme and a tracked security-findings log.

How it works

Connect, organize, operate.

  1. Clone the mono-repo with --recurse-submodules to pull in TwinClaw and TwinSpace submodules; TwinHome lives in its own repo alongside them.
  2. Infrastructure inventories under data/ define the WireGuard mesh, SSH hosts, LAN devices, and Home Assistant exports — the single source of truth for the ecosystem's topology.
  3. All nodes connect over the private WireGuard mesh (10.6.0.0/24), hubbed through a DigitalOcean droplet, with Home Assistant OS running on Proxmox as the shared backend.
  4. TwinClaw agents manage and automate the system from a WSL control plane that syncs to the Windows execution host; TwinHome gives a real-time touch control panel on a docked iPad.
  5. Home Assistant changes can be driven in natural language through the gateway endpoint, or directly via the documented HA API for exec-level access.
Who it's for. Self-hosting smart-home owners who want their entire setup — devices, network, and automations — captured as version-controlled infrastructure rather than scattered app settings · Home-lab and infrastructure tinkerers running Home Assistant on Proxmox behind a private WireGuard mesh · Developers building agent-driven or native applications on top of a Home Assistant backend · Privacy-first households that prefer self-hosted, LAN-and-VPN control over cloud-dependent smart-home services
FAQ

Questions, answered.

Is TwinSystem a finished product I can install?

Not as a single packaged app. TwinSystem is a parent infrastructure mono-repo that orchestrates a specific Twindevs ecosystem. The TwinClaw agent layer and TwinHome control panel are in production; the TwinSpace native platform is early-stage and scaffolded but not yet actively developed. It documents and version-controls a real, running home — it is not a turnkey download for arbitrary setups.

What ties the whole system together?

Two things: a self-hosted WireGuard VPN mesh on the 10.6.0.0/24 subnet that privately connects every node, and a shared Home Assistant OS backend running on Proxmox. All three sub-projects — agents, the PWA, and the future native app — operate against that common infrastructure.

How does TwinHome control the home?

TwinHome is a React 18 PWA that connects to Home Assistant over a WebSocket for real-time state. It is designed for a landscape-docked iPad and surfaces room tiles, media, scenes, lighting, cameras, and security, plus a kiosk-style screensaver. It controls only what Home Assistant exposes.

Can I control the home in plain language?

Yes. A gateway endpoint accepts a natural-language description of what you want and translates it into the appropriate Home Assistant API calls, reachable over both the LAN and the WireGuard mesh. For lower-level access, the documented Home Assistant API is available directly.

How are credentials and secrets handled?

By convention, passwords, tokens, and private keys are never committed — they live in gitignored .env files or OS credential storage, and each sub-repo follows a classification scheme. The repo also tracks a security-findings log; one documented item is rotating a Home Assistant access token that previously appeared in git history, so treat the published topology details as illustrative of the project's own infrastructure rather than live secrets.

The rest of the suite

One privacy standard, five tools.

  • TwinMail

    Inbox at the speed of intent.

    Learn more

  • TwinContacts

    Make your contacts trustworthy — and keep them that way.

    Learn more

  • TwinVault

    Your household's accounts, credentials, and security posture — in one local vault.

    Learn more

  • TwinHermes

    Your always-on agent, hosted on infrastructure you control.

    Learn more

Start with TwinSystem.

Privacy-first by default. Your data stays yours.