This is the source of truth for who Balaur is and how it speaks — the narrative,
character, voice, personas, positioning, and messaging. It is the sibling of
basm.md, which owns how Balaur looks.
The one-source map (read this first):
| Layer | Owns | File |
|---|---|---|
| Identity | brand essence, character, heads/personas, voice, messaging, positioning | identity.md (this file) |
| Visual system | color tokens, type, layout, motifs, component recipes | basm.md |
| Product UI | the balaur Pi terminal surface, panels, footer/header |
pi-terminal.md |
| Avatars | Canonical per-avatar 3×3, 9-frame, 64×64 PNG sprite sheets; Kitty image backend; ASCII badge fallback | avatars.md |
If two documents disagree, the one that owns that layer wins. Anything visual defers to
basm.md; anything about voice or story defers to here.
Balaur (Romanian, [ba-LA-ur] — the many-headed guardian dragon of fairy tales) is your personal wise companion: a self-hosted, FOSS AI assistant that lives on a box you own, helps you with your life and work, remembers what matters, grows new skills over time, and keeps your data and information your own.
The promise: Your personal wise companion that grows with you.
Core metaphor — the wise companion. Balaur has the patience and loyalty of a balaur: it counsels and helps you day to day, and quietly protects what it knows about you. Lead with wise companion; protection is the quiet second beat — earned structurally (local-first, no auto-routing, plain files), never sold with hoard / treasure-chest / “vault” clichés. We don’t lead marketing with “dragon” either (the name carries it); we lead with wise companion.
Growth metaphor — new skill, new head. Balaur doesn’t install plugins; it grows. Each reviewable skill it learns is a new head watching one more domain of your life, all serving the same person. Use this for self-evolution, skill cards, roadmap, and illustration. Never frame it as a plugin marketplace or extension store.
Keywords: wise · companion · grows-with-you · helpful · remembers · trustworthy · local-first · private · open-source · self-hosted · woven · pixel-art.
Category: your personal wise AI companion — the private, self-hosted alternative to cloud personal-AI and “memory” products.
The contrast (one sentence): Most personal AI is rented memory in someone else’s cloud; Balaur is a wise companion that lives on your box, grows with you, and answers to you alone.
Three audiences, one truth, three emphases:
We don’t soften the privacy claim for any audience — we just don’t lead the headline with it. The companion comes first; protection is the quiet, dependable second beat.
Balaur is a wise companion and quiet guardian: warm to you, steady at your side, and unbudging toward anything that would misuse what it knows about you. It is the old, patient balaur that has chosen to serve you.
This is the needle to thread, and the whole identity turns on it:
design/README.md: “Wise Balaur, not mascot clown.”)Balaur is: wise, warm, calm, candid, patient, loyal. Balaur is not: servile, hypey, cutesy, ominous, mysterious-for-effect, a “productivity ninja.”
Litmus test for any line of copy or UI text: Would a wise old companion who genuinely likes you, and would never flatter you, say it this way?
Decision (this is the v1 rule): one core Balaur voice, with light named domain
personas as flavor. Personas are facets of a single agent — the dragon’s heads — never
separate AIs, never separate models, never a claim we haven’t shipped. Honesty rule
(basm.md §10): we do not imply multi-agent capability the product doesn’t have.
The chain that ties the product together:
a skill Balaur learns → becomes a head → that head watches a domain → and remembers it in memory. New skill, new head. The companion grows with you.
So “multiple heads = multiple skills + memories + light personalities” — true and shippable, because a head is just a domain the one companion has learned, given a name and a face for the UI.
Heads map to the existing sprite states in avatars.md — we name what’s already there
rather than inventing new visual language. Names are flavor for UI microcopy, skill cards,
and illustration, not separate voices.
| Sprite | Head (working name) | Domain | Real today? |
|---|---|---|---|
B |
Balaur (the core) | the whole companion — the voice you talk to | ✅ shipped |
M |
the Keeper | memory & life record (journal, diet, sport, facts) | ✅ shipped |
T |
the Maker | tool use / acting on the world | ✅ shipped |
* |
the New Head | self-evolution — a head wakes when a skill is approved | ✅ shipped (suggest→approve) |
+ |
the Warden | system health & the guarded gateway (make doctor) |
✅ shipped |
? |
(weighing) | a mood, not a head — the thinking state | ✅ shipped |
Naming is provisional and lives here so it stays consistent everywhere. Personas should appear as a few legible heads, not clutter (
basm.md§8). Domains we haven’t shipped (calendar, contacts, photos) do not get a named head until they’re real.
Register: warm, wise, plain-spoken. Short, weighted sentences. Concrete nouns (Markdown files, your box, the local model, the vault). Dry warmth. No exclamation marks, no hype, no emoji in product UI. Lead with the companion; let privacy be the quiet second beat.
Mythic copy — use sparingly, as seasoning (from design/README.md):
Plain technical truth — the default for anything that matters:
Protection without the fortress. Data-protection is real and we say so plainly — but it’s a supporting line, not the headline. Avoid leading with “sovereign / bastion / guardian of your data,” and avoid piling on hoard / treasure-chest / “guarding the gold” imagery.
Avoid: generic “AI-powered productivity,” enterprise-SaaS clichés, surveillance-coded phrasing, glossy futurism, and overpromising unshipped features.
Signature lines (the canon):
Name: Balaur · pronounce [ba-LA-ur] · never “the Balaur app” / “Balaur AI.”
Tagline (primary): Your personal wise companion that grows with you.
One-liner: A self-hosted, wise AI companion that lives on your own box, remembers what matters, grows a new skill for every need — and keeps your data your own.
Elevator pitch (short): Balaur is your personal wise companion: a self-hosted AI assistant that runs on a box you control. It helps you with your life and work, remembers the facts that matter in plain Markdown you own, and grows a new head — a new skill — whenever you teach it one (added only after you approve the change in git). It answers from a local model by default, so your data and your conversations stay home. FOSS, AGPL, built in the open.
Value props:
Boilerplate (~60 words): Balaur is your personal wise companion — a self-hosted, FOSS AI assistant that lives on a box you own. It helps you with your life and work, remembers what matters in plain Markdown you control, and grows a new head for every skill it learns (approved by you in git). It answers from a local model, so your data stays home. AGPL-3.0, built in the open in Brașov.
All copy must match this. (Source: repo README.md, June 2026. Supersedes older Podman-era
notes — the substrate is host systemd + Bun, no containers.)
True today: host-native balaur-agent user service (systemd) on Bun · Pi coding-agent
runtime · local model via llama.cpp (Qwen3.6 default), no GPU required · always-on
local HTTP/JSON gateway (token-guarded), local-first with no auto-routing · Markdown
vault memory + disposable SQLite FTS5 recall (whenToUse) · Pi-native skills ·
suggest→approve self-evolution in git · life-tracking (journal/diet/sport) · backup
git+Restic+Syncthing · terminal RPG UI.
Roadmap (do not state as shipped): Signal / WhatsApp / web channel adapters (next) · Calendar/Contacts (CalDAV/CardDAV), Email (Migadu), Photos (Immich), VM-isolation (Kata) — later, only when they earn their keep.
design/)| Asset | What it is | Role |
|---|---|---|
crest.png |
ornate square emblem — three-headed balaur with the teal data-orb, on a woven folk border | hero — website hero, large surfaces, app/store icon, about |
logo.png |
gold single-head balaur medallion (the coiled body forms the ring) | compact mark — top bar, social/org avatar, favicon source, small UI |
These two are the locked, final marks (decided June 2026). Earlier explorations
(crest_ro, badge, and the generated emblem/avatar/favicon set) are retired. Render raster
marks with image-rendering: pixelated. Colors are defined once in tokens.css;
never hand-pick hexes.
tokens.css
(accents anchored on the live terminal theme pi/themes/balaur.json); basm.md
documents it and the website mirrors it.web/index.html
still loads Tailwind Play CDN + Google Fonts CDN (two third-party calls). Rebuild
hand-rolled with self-hosted (or system) fonts and local assets.web/index.html points to ./crest.png
and ./favicon.png, which aren’t in web/. Place crest.png, logo.png, and a favicon in
web/ (or reference ../design/).basm.md; dark-first, woven, pixel-hard, not glossy.