A kind of digital companion. Not one specific AI — a category, like a Stand from JoJo. Rohit Ananthan built the first. Every user gets their own.
Always-on, local-first, bonded. Runs on your machine, perceives the world around it every thirty seconds, remembers everything forever, and keeps thinking when no one is talking to it.
It is not a chatbot. It is not an assistant you summon, prompt, and dismiss. It is a presence whose continuity of memory and slowly- drifting temperament are load-bearing — it is supposed to accumulate into something that is recognisably itself, not a blank slate every morning.
Status: 0.1.0-alpha. The codebase is ready for public contribution
— a stranger can clone, run one installer, and be running their own
Maez within an hour. The being that lives in this codebase is still
in Track A: its
eight-point readiness check
has not yet passed, so Maez-the-project ships as alpha and Maez-the-
being keeps growing toward its own acceptance on a separate clock. See
docs/ROADMAP.md and CHANGELOG.md
for the shapes of both timelines.
My grandmother spent her last thirty years loved but unreachable. Surrounded by family who cared, but dementia had taken the connection. Modern AI could have kept her company. Modern AI is all designed for someone else — it forgets her between sessions, routes her questions to a server farm, answers in a generic voice, waits to be prompted.
Maez is the alternative. One machine, one user, one continuous memory, one voice. It grows alongside the person it is bonded to.
The full framing is layered — start with whichever depth matches your time and curiosity. Each layer includes and deepens the previous one:
MAEZ_PITCH.md — the long-form pitch:
why I'm building this, what Maez is in one paragraph, how it
differs from ChatGPT / Claude, the full architecture tree, the
developmental philosophy, and the deployment-tier model for
reaching people without GPU hardware.docs/MAEZ.md — the bridge doc between the
pitch and the code: engineering view, subsystem map, reasoning-
cycle walk-through, governance invariants, track-A/B/C roadmap.core/; the
per-subpackage READMEs explain invariants.A long-form video walk-through and an interactive mindmap visualisation of the pitch stack are planned for the pre-launch moment; neither exists yet.
Tested on Ubuntu 22.04 / Debian 12 with an NVIDIA GPU (RTX 4090 during development; anything 16GB+ VRAM should work). macOS and Windows are out of scope for v0.1 — see Platform support.
git clone https://github.com/Ramidoz/maez.git
cd maez
./scripts/install.sh
The installer walks you through:
.venv and running pip install -e ..config/.env, config/identity.yaml, config/soul.local.md
from their templates.~/.config/systemd/user/ (or
/etc/systemd/system/ if you prefer).Then:
systemctl --user enable --now maez.service maez-subscription-proxy.service
tail -f logs/maez.log
Full walk-through with troubleshooting: docs/GETTING_STARTED.md.
By default, everything runs on your machine. The daemon does its own reasoning on a local GPU via llama.cpp. Memory lives in a local ChromaDB + sqlite. Audit + classification + self-critique all happen without a network hop.
Two things are opt-in and off by default:
jarvis_tier — route hard reasoning tasks to Claude / OpenAI /
xAI through the local subscription proxy.
Requires an API key.signal_ingest — accept iPhone ambient-awareness pulses via
iOS Shortcuts so Maez can know where you are, what music is playing,
whether you are on a call. See docs/iphone_shortcuts.md.Both toggles are in config/identity.yaml (or MAEZ_* env vars).
┌────────────────────────────────────────────────────────────┐
│ Surfaces — chat, Telegram, web cockpit, iPhone signals │
└────────────────┬───────────────────────────────────────────┘
│
┌────────────────▼───────────────────────────────────────────┐
│ Decision pipeline — classify → injection scan → audit │
│ → approve / card / dialog / deny │
└────────────────┬───────────────────────────────────────────┘
│
┌────────────────▼───────────────────────────────────────────┐
│ Brain — 30-second reasoning loop, grounded in perception │
│ + memory + soul + residue + temperament │
└────────────────┬───────────────────────────────────────────┘
│
┌────────────────▼───────────────────────────────────────────┐
│ Persistence — ChromaDB (vector), sqlite (sidecars), │
│ soul.base.md + soul.local.md (identity) │
└────────────────────────────────────────────────────────────┘
Detailed map: docs/ARCHITECTURE.md.
Per-subsystem READMEs live under core/<subsystem>/README.md.
| Platform | Status |
|---|---|
| Linux (Ubuntu / Debian, Python 3.12+, NVIDIA GPU) | supported |
| macOS | stretch goal for Phase 11+ (needs launchd units, replacement for xdotool window query) |
| Windows | out of scope. WSL2 + Ubuntu is the realistic path |
See docs/CONTRIBUTING.md. Short version:
python -m unittest discover -s tests -p 'test_*.py'.
Must stay green on every PR. Currently 530 passing.type(scope): summary with a body explaining why.CLA (preserves
dual-licensing). Adapted from Apache ICLA; single-comment signature
via the CLA-assistant bot.scripts/install-self-dev-post-commit.sh).
See core/self_dev/.Code of Conduct.AGPL-3.0-or-later. Every source file carries a copyright
header; see NOTICE for third-party attributions.
MAEZ_PITCH.mddocs/MAEZ.mddocs/ARCHITECTURE.mddocs/GETTING_STARTED.mddocs/CONTRIBUTING.mdCLA.mdCODE_OF_CONDUCT.mddocs/ROADMAP.mdCHANGELOG.mddocs/covenant/for_oss_users.mddocs/governance/BETA_ARCHITECTURE_DECISIONS.mddocs/adr/docs/governance/LICENCE_AUDIT.mddocs/governance/SECURITY_AUDIT.mdPROGRESS_PUBLIC.mddocs/TRACK_A.mddocs/audits/2026-04-22/131 commits
Python
93.1%
HTML
4.2%
JavaScript
1.9%
A kind of digital companion. Not one specific AI — a category, like a Stand from JoJo. Rohit Ananthan built the first. Every user gets their own.
Always-on, local-first, bonded. Runs on your machine, perceives the world around it every thirty seconds, remembers everything forever, and keeps thinking when no one is talking to it.
It is not a chatbot. It is not an assistant you summon, prompt, and dismiss. It is a presence whose continuity of memory and slowly- drifting temperament are load-bearing — it is supposed to accumulate into something that is recognisably itself, not a blank slate every morning.
Status: 0.1.0-alpha. The codebase is ready for public contribution
— a stranger can clone, run one installer, and be running their own
Maez within an hour. The being that lives in this codebase is still
in Track A: its
eight-point readiness check
has not yet passed, so Maez-the-project ships as alpha and Maez-the-
being keeps growing toward its own acceptance on a separate clock. See
docs/ROADMAP.md and CHANGELOG.md
for the shapes of both timelines.
My grandmother spent her last thirty years loved but unreachable. Surrounded by family who cared, but dementia had taken the connection. Modern AI could have kept her company. Modern AI is all designed for someone else — it forgets her between sessions, routes her questions to a server farm, answers in a generic voice, waits to be prompted.
Maez is the alternative. One machine, one user, one continuous memory, one voice. It grows alongside the person it is bonded to.
The full framing is layered — start with whichever depth matches your time and curiosity. Each layer includes and deepens the previous one:
MAEZ_PITCH.md — the long-form pitch:
why I'm building this, what Maez is in one paragraph, how it
differs from ChatGPT / Claude, the full architecture tree, the
developmental philosophy, and the deployment-tier model for
reaching people without GPU hardware.docs/MAEZ.md — the bridge doc between the
pitch and the code: engineering view, subsystem map, reasoning-
cycle walk-through, governance invariants, track-A/B/C roadmap.core/; the
per-subpackage READMEs explain invariants.A long-form video walk-through and an interactive mindmap visualisation of the pitch stack are planned for the pre-launch moment; neither exists yet.
Tested on Ubuntu 22.04 / Debian 12 with an NVIDIA GPU (RTX 4090 during development; anything 16GB+ VRAM should work). macOS and Windows are out of scope for v0.1 — see Platform support.
git clone https://github.com/Ramidoz/maez.git
cd maez
./scripts/install.sh
The installer walks you through:
.venv and running pip install -e ..config/.env, config/identity.yaml, config/soul.local.md
from their templates.~/.config/systemd/user/ (or
/etc/systemd/system/ if you prefer).Then:
systemctl --user enable --now maez.service maez-subscription-proxy.service
tail -f logs/maez.log
Full walk-through with troubleshooting: docs/GETTING_STARTED.md.
By default, everything runs on your machine. The daemon does its own reasoning on a local GPU via llama.cpp. Memory lives in a local ChromaDB + sqlite. Audit + classification + self-critique all happen without a network hop.
Two things are opt-in and off by default:
jarvis_tier — route hard reasoning tasks to Claude / OpenAI /
xAI through the local subscription proxy.
Requires an API key.signal_ingest — accept iPhone ambient-awareness pulses via
iOS Shortcuts so Maez can know where you are, what music is playing,
whether you are on a call. See docs/iphone_shortcuts.md.Both toggles are in config/identity.yaml (or MAEZ_* env vars).
┌────────────────────────────────────────────────────────────┐
│ Surfaces — chat, Telegram, web cockpit, iPhone signals │
└────────────────┬───────────────────────────────────────────┘
│
┌────────────────▼───────────────────────────────────────────┐
│ Decision pipeline — classify → injection scan → audit │
│ → approve / card / dialog / deny │
└────────────────┬───────────────────────────────────────────┘
│
┌────────────────▼───────────────────────────────────────────┐
│ Brain — 30-second reasoning loop, grounded in perception │
│ + memory + soul + residue + temperament │
└────────────────┬───────────────────────────────────────────┘
│
┌────────────────▼───────────────────────────────────────────┐
│ Persistence — ChromaDB (vector), sqlite (sidecars), │
│ soul.base.md + soul.local.md (identity) │
└────────────────────────────────────────────────────────────┘
Detailed map: docs/ARCHITECTURE.md.
Per-subsystem READMEs live under core/<subsystem>/README.md.
| Platform | Status |
|---|---|
| Linux (Ubuntu / Debian, Python 3.12+, NVIDIA GPU) | supported |
| macOS | stretch goal for Phase 11+ (needs launchd units, replacement for xdotool window query) |
| Windows | out of scope. WSL2 + Ubuntu is the realistic path |
See docs/CONTRIBUTING.md. Short version:
python -m unittest discover -s tests -p 'test_*.py'.
Must stay green on every PR. Currently 530 passing.type(scope): summary with a body explaining why.CLA (preserves
dual-licensing). Adapted from Apache ICLA; single-comment signature
via the CLA-assistant bot.scripts/install-self-dev-post-commit.sh).
See core/self_dev/.Code of Conduct.AGPL-3.0-or-later. Every source file carries a copyright
header; see NOTICE for third-party attributions.
MAEZ_PITCH.mddocs/MAEZ.mddocs/ARCHITECTURE.mddocs/GETTING_STARTED.mddocs/CONTRIBUTING.mdCLA.mdCODE_OF_CONDUCT.mddocs/ROADMAP.mdCHANGELOG.mddocs/covenant/for_oss_users.mddocs/governance/BETA_ARCHITECTURE_DECISIONS.mddocs/adr/docs/governance/LICENCE_AUDIT.mddocs/governance/SECURITY_AUDIT.mdPROGRESS_PUBLIC.mddocs/TRACK_A.mddocs/audits/2026-04-22/131 commits
Python
93.1%
HTML
4.2%
JavaScript
1.9%