About the project
Elowen is a self-hosted personal AI agent. It is not just another chat window on top of a model. It is an agent you talk to and that can act: call tools, edit files, run commands, keep a checklist, use memory and automate repeated work.
The core idea is simple: the same agent, the same tools and the same memory across every surface. Elowen can run in the CLI, the web dock, Discord or WhatsApp, but it stays one user-owned instance.
What it solves
Most AI tools focus on a single layer: chat, editor, terminal or automation. Real work spans several channels and contexts:
- a quick question in Discord,
- technical work inside a repository,
- planning a larger task,
- a reminder or scheduled run,
- file, server or external-service operations,
- long-term memory and personal preferences.
Elowen connects those pieces into one control plane. The agent is not locked inside one app. It gets a safe and extensible runtime where new capabilities can be added as needed.
Architecture
The base is a single daemon exposing REST, SSE and WebSocket APIs, backed by SQLite and paired with a Next.js web UI. The CLI, Discord, WhatsApp and web surfaces all connect to the same backend, so they differ in interface, not in capability.
A key design choice is the plugin system. Every capability — chat platform, tool, memory, cron, sub-agent, MCP bridge or security scanner — is a separate module that can be enabled, disabled or extended.
CORE → Node.js 22 + TypeScript
API → Hono + REST + SSE + WebSocket
DATA → SQLite + better-sqlite3
WEB → Next.js 16 + React 19
RUNTIME → tmux sessions + tool calling
CHANNELS → CLI + web dock + Discord + WhatsApp
EXT → plugins + MCP bridge + skills
QUALITY → Vitest + ESLint + TypeScript + dependency checks
Key capabilities
- CLI as the agent’s home — a TUI with live transcript, tool calls, diffs, todos and plan mode.
- Web control surface — dashboard, tasks, kanban, timeline, sessions, terminals, editor and runtime limits.
- Multiple channels — the same agent works through CLI, web, Discord and WhatsApp.
- Plugins — capabilities are not hardcoded into the core, but added modularly.
- Memory — durable facts are stored, curated and recalled by relevance.
- Sub-agents and delegation — larger work can be split into isolated agent runs.
- Autopilot and cron — scheduled checks, one-shot wakeups and longer-running goals.
- Self-hosted control — data, tools, models and permissions remain under the operator’s control.
Who it is for
Elowen fits people who do not want AI only as a prompt box. It makes sense when the agent should actually help run work: development, server operations, internal automation, customer communication, scheduled checks or a personal operating layer over your own tools.
It is not a SaaS chatbot. It is a locally runnable agent runtime for users who want to own their working environment.
Outcome
For the portfolio, Elowen is a product-engineering case study at the intersection of AI, developer tools, infrastructure and daily automation. It combines a language model, tool calling, memory, plugins, multiple communication channels and web-based oversight into one coherent platform.
The important part is not the number of features. It is the direction: an AI agent as your own system, something you can run, extend and safely let near real work.