Operational · Demo data

axis mundi

Voice-to-task AI orchestration for Google Workspace

Dual-Licensed Go · React TUI Orchestrator

Axis Mundi bridges Google Gemini voice inputs with Google Workspace actions. Orchestrate notes, docs, sheets, and threads with a terminal-inspired interface that balances autonomy with manual control.

Live/Manual modes

Switch between AUTO (SSE stream) and MANUAL (on-demand refresh + keyboard nav).

Ecosystem integration

Docs, Sheets, Gmail, Keep, Dropbox, and GCP Chat all map back to one unified registry.

/screens/overview Demo capture
<<<<<<< HEAD
Axis Mundi TUI Overview =======
Interface preview placeholder

Replace screenshot.png with a fresh capture of the TUI/web UI. (Currently using placeholder art.)

>>>>>>> chat-implementation

Status and node values are demo labels; wire to live API if available.

How it works

Three steps from voice to action.

Voice → TUI → Workspace SSE + REST APIs
1 · Capture

Speak to Gemini; transcripts are normalized into tasks and routed to the registry.

2 · Orchestrate

Use keyboard-first TUI to filter, inspect, and adjust statuses across Keep/Docs/Sheets/Gmail.

3 · Execute

The instruction pipeline routes payloads to external agents or updates registry states, keeping a human-in-the-loop when needed.

Core capabilities

  • Unified registry with keyboard-driven navigation and detail panes.
  • SSE uplink for live updates; manual refresh for deterministic runs.
  • Status cycling for Keep tasks with optimistic UI + rollback.
  • Docs/Sheets/Gmail detail retrieval with graceful error handling.

Technical stack

Go backend · REST + SSE
React frontend · Vite/Tailwind
Google Workspace & Dropbox APIs
SQLite state & Instruction pipelines

Extensible pipelines

Examples of what can be built on top of Axis Mundi's routing. Updates occur on button press (no auto-scroll) and announce politely.

Note

These scenarios represent potential external pipelines. Swap in active pipelines or link to real task runs to keep this page aligned with production.

Get involved

Star the repo, open an issue, or propose an integration.