The thing I keep reaching for
Every frontier model is the best at something. Once you have had the best tool for a task, you have to have it every time for that task until something better arrives. Claude for architecture. GPT for certain prose. Gemini for multimodal reasoning. The problem is not which model to use. The problem is that the answer changes per task, per day, and you need all of them running at once.
GBuild is the build environment I started writing to solve that. One macOS desktop app, one calm interface, 12+ AI coding agents orchestrated across an entire organization. Claude Code, OpenClaw, Hermes, and any CLI-based agent tomorrow. Instead of switching windows, you switch models, and the system handles the rest.
The why, in long form: "Building What I Keep Reaching For"
12+
Live AI Agents
150+
Rust Source Files
698
Commits (and counting)
2
UI Surfaces
Two surfaces, one system
GBuild ships two distinct UIs behind a single Electron shell. You start in the one that matches how you work today, and the other is always a toggle away.
v4 Lattice
The approachable shell
- Browser-like tabs with an omnibar that accepts a prompt or a URL
- Jarvis-style voice sidebar: say "G, open three Claude Code sessions on PrayerMap" and get spoken status back
- Designed for daily use: calm, focused, one task at a time
v3 Batcave
The power-user portal
- Responsive animated grid of 12+ live agent PTYs via xterm.js + WebGL
- Org-level mission control: PRD-phase progress, agent activity, doc drift
- Project dashboards, "MD Heaven" doc surface, puzzle-icon toggle
Electron + Rust under the hood
The desktop shell is Electron 33 with a Rust sidecar (codename mother-sidecar, 150+ source files) communicating over JSON-RPC 2.0 on NDJSON stdio. The renderer handles the UI. Electron main handles windowing, lifecycle, and IPC routing. Rust handles everything that needs to be fast or long-lived: process management, file watching, crypto, and the agent driver layer.
Renderer (Vite + React) │ IPC ▼ Electron Main (windowing, lifecycle) │ JSON-RPC 2.0 / NDJSON stdio ▼ mother-sidecar (Rust) ├─ Agent Drivers (Claude Code, OpenClaw, Hermes) ├─ portable-pty (wezterm crate family) ├─ LLM Router (fallback tiers + directive system) ├─ macOS Keychain (secrets) └─ Audit Logger (append-only JSONL, daily rotation)
Agent drivers are pluggable. Today that means Claude Code, OpenClaw (with gateway and remote variants), and Hermes. Tomorrow it is any CLI-based agent. Each driver gets a portable-pty terminal via the wezterm crate family, so every agent session is a real PTY you can see, scroll, and interact with.
8-Agent Specialized Fleet
Orchestrator
code
Code Reviewer
code
Security Reviewer
code
Tech Lead
code
Health Monitor
watcher
Test Generator
test
Code Simplifier
refactor
Rust/Tauri Specialist
code
Lanes: code, content, test, refactor, watcher, audience, doc_drift
Build produces two SKUs via Vite + electron-builder: a "full" build (~22 GB, bundling local models) and a "lean" build (~250 MB, bring-your-own). Signed DMG builds already exist. The full Tauri-to-Electron migration is complete.
Voice-first
The voice pipeline is not an afterthought bolted onto a text UI. It is a first-class interaction surface built into the Lattice shell from day one.
Example interaction
"G, open three Claude Code sessions on PrayerMap."
G acknowledges vocally, spins up three PTY sessions targeting the PrayerMap workspace, and reports status via speech as each agent comes online.
Pipeline
- STT ... whisper.cpp, Metal-accelerated on macOS
- TTS ... Piper (AVSpeechSynthesizer fallback)
- Turn detection ... silence-gated with configurable thresholds
- Realtime path ... OpenAI Realtime API via WebRTC
- Cost ledger ... per-session tracking across all voice and LLM usage
Knowledge that compounds
An AI build system that forgets everything between sessions is just a fancy terminal multiplexer. GBuild includes a RAG system designed to make the agents smarter over time, not just faster.
Vector store + graphs
Behavior graph, org graph, conversation history, query analyst, crawler, and distiller. Context retrieval is structured, not keyword search.
Obsidian + Notion sync
Bidirectional Obsidian sync (the vault is the shared state surface). Notion sync with OAuth, conflict resolution, redaction, and rate limiting.
The MCP layer adds a gateway, registry, sandbox, scaffold, and lifecycle manager. GitHub integration for repo context. macOS Keychain for secrets. Structured logging spans all three layers (renderer, Electron main, Rust sidecar), with append-only JSONL audit logs rotating daily.
Meet G
GBuild's mascot is a friendly chibi AI companion: a dark spherical head with a rainbow-gradient G-shaped arc ring wrapping around it, expressive arc eyes, and a small jaunty rainbow flag on top. G lives both as 2D brand art and as a real-time 3D model with custom GLSL shaders.

Mascot lockup // Build, Chat, Code, Deploy, Analyze

7-State Behavioral Machine
Each state drives breathing rhythm, pointer tracking, blinking cadence, arm poses, and a particle field with per-state GLSL shader modes. Six gestures: wave, thumbs-up, point, shrug, celebrate, think.
Rainbow Brand Palette
Signature 5-stop gradient at 35deg. Neutrals: bg #0B0F1A, surface #111827, fg #E5E7EB. Design system name: "midnight-glass."
Where it's headed
The marketing site is live now at gbuild.app (Next.js 16 + React Three Fiber + GSAP + a Supabase-backed waitlist). You can meet G in 3D at gbuild.app/play.
The desktop app (internal codename "Mother") is in active private development: Electron 33 + a Rust sidecar, 698 commits, signed DMG builds produced, full Tauri-to-Electron migration completed. It is held private until the core loop works. That is a deliberate choice, not a delay. The public macOS release is ahead. The waitlist is open now.
Values shown on the landing manifesto ticker: calm by design, anti-bullying, anti-hate, inclusive by default, made for everyone. The UI is "video-game alive" (Rive + Lottie + Framer Motion) with a reduced-motion toggle for accessibility.
Build anything. Smarter. // In progress . -JJ