Kiragu Maina · the architect's working fileStudio companion → home.alkenacode.dev
Kiragu Maina
Index
§ DISPATCH NO. 005 ·2026 · live

Aether.

A local-first knowledge graph PWA — Obsidian alternative with daily Pulse reports refined by the same council pattern as Shellwire.

Stack
NestJSNext.jsPrismaPostgreSQLpgvectorRedisSerwist

The problem on file

Obsidian is a local-first markdown notebook with a graph view bolted on. It is great as an editor and weak as a system. The graph does not feed anything else. The notebook does not know what happened yesterday. Cross-vault queries are manual.

The reasoning layer that would summarise a week of notes, surface emerging themes, or answer a question that spans projects is missing entirely, and adding it would cost a paid LLM subscription per device.

Aether is the rebuild. Same local-first markdown-on-disk substrate (the vault is a Syncthing folder that any editor can open).

A NestJS API watches the directory, indexes every save into Postgres with pgvector embeddings and a bidirectional link table, and a Next.js PWA renders the graph, the day-by-day Pulse reports, and a presentation mode called Show. The council from Shellwire is embedded in the api so the LLM bill stays at zero.

What it is, in numbers

Live council providers
46
Model configurations
51
Installable, offline R/W
PWA
Embedding store
pgvector
Monthly AI bill
$0
Slide-deck mode
Show
Exhibit ACaptured 2026-05-21 07:39 UTCSource aether.alkenacode.devlive
Aether home, the Vellum & Stars aesthetic
Fig.Aether's reader-facing home, captured live. Fraunces italic on deep ink with ember amber accents — a deliberately editorial surface for a system that has to live with its user every day. The PWA installs from this page; the service worker is already active in production.

The marquee piece, the Pulse loop

Every evening at 20:00 Africa/Nairobi a cron fires the Pulse worker. It walks the notes the watcher has indexed since the last Pulse, runs a council pass (synthesize-best, councilSize 3 from the shellwire-derived provider matrix).

It then writes a new markdown file with aether: pulse in the frontmatter, which the watcher re-indexes but the aggregator excludes from tomorrow's input, so the loop is bounded.

tsapps/api/src/pulse/pulse.worker.ts
@Cron('0 20 * * *', { timeZone: 'Africa/Nairobi' })
async runDailyPulse() {
const notes = await this.notes.indexedSince(this.lastPulseAt());
if (notes.length === 0) return;

const result = await this.council.orchestrate({
  task: 'pulse-synthesis',
  tier: 'complex',
  strategy: 'synthesize-best',
  councilSize: 3,
  prompt: this.buildPulsePrompt(notes),
});

await this.vault.writePulseNote({
  body: result.response,
  frontmatter: { aether: 'pulse', day: today() },
});
this.bus.emit('pulse:complete', { noteId, latencyMs: result.totalLatencyMs });
}
Listing.The Pulse cron, condensed. The council orchestrator is the one copied wholesale from Shellwire — module path, four routing strategies, per-provider Bottleneck limiter and all. The same brain is now end-of-day editorial for one person.

The aesthetic of those Pulse files is the point. They are not chat transcripts. They are short editorial-pass essays in the same Fraunces-italic voice the rest of the interface uses, written in the user's own vault, version-controlled with the rest of the markdown.

The hidden ninety percent

In production

In production
  • 01Live at https://aether.alkenacode.dev with the PWA installable from any modern browser. Service worker is active and the offline read/write path is verified end-to-end.
  • 0246 council providers attached, refreshed daily, sharing the Shellwire health-check infrastructure. Monthly LLM bill: zero.
  • 03Pulse cron runs at 20:00 Africa/Nairobi, writes a markdown file the watcher then re-indexes. The aggregator self-excludes pulse notes so the loop is bounded.
  • 04Cross-vault context resolves at render through the palace sidecar. Mempalace memory from any prior project surfaces inline in current notes via the palace:[query] shortcode.
  • 05The Vellum & Stars surface (Fraunces italic + ember amber on deep ink) is a deliberate non-Obsidian aesthetic — Aether is not a tool you alt-tab to; it is a publication you live in.
Take away

If a knowledge tool can not summarise itself, it is doing half the job.

Next dispatchDISPATCH NO. 001

Shellwire

An autonomous newsroom run by twelve LLM providers voting against each other.