balaur

Balaur — Identity & Brand

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.


1. Brand essence

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.


2. Positioning

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:

  1. Everyday people who want a real assistanta wise companion that actually knows you and grows with you. Lead with help, memory, and growth; ownership is the reassurance.
  2. Self-hosters & privacy-minded peopleyour companion’s memory never leaves the box. Lead with ownership, plain files, local model, structural privacy.
  3. Developers & public funders (e.g. NGI Zero)the repo is the system; public-interest, open infrastructure. Lead with the small-sharp-tools stack, git-native memory/skills, AGPL open-core.

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.


3. The character — a wise companion who is also your friend

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:

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?


4. The heads — hybrid model (decided)

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.

Starter head roster (v1, proposed)

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.


5. Voice & tone

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):


6. Messaging system

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:

  1. A companion that knows you — it remembers what matters about your life and work, in plain Markdown you own, and recalls it when it’s relevant.
  2. Grows with you — new skills become new heads, added by explicit human approval in git. No silent self-modification.
  3. Yours, on your box — local-first by construction; answers from the local model with no auto-routing to anyone’s cloud. Your data stays home. The guarantee is structural.
  4. Small, sharp, swappable — Pi + Bun + host systemd + llama.cpp; no containers, no framework, one language. The repo is the system.
  5. Open — AGPL open-core, open formats, open standards; built in the open.

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.


7. Honesty ledger — true today vs. roadmap

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.


8. Brand asset inventory

The marks (final — in 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.

Consolidation status

  1. Color tokensresolved. One canonical set lives in tokens.css (accents anchored on the live terminal theme pi/themes/balaur.json); basm.md documents it and the website mirrors it.
  2. Mark paletteresolved. Gold balaur + teal data-core across both marks.
  3. Website violates the no-framework / self-host ruleopen (Phase 4). 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.
  4. Broken web asset referencesopen (Phase 4). 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/).

9. Quick checklist for any Balaur-branded surface