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

Shellwire.

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

Stack
NestJSBullPostgreSQLRedisTypeScriptDocker

The problem on file

Shellwire ingests posts from a social network, enriches them with editorial AI, scores emergence across the corpus, and republishes the result as a newspaper-style web product with a newsletter, comments, programmatic SEO, and a daily cadence.

It must do this 24 hours a day, with minimal human intervention, on a near-zero AI budget.

The hard part is not "call an LLM." The hard part is keeping that pipeline alive when one provider rate-limits you, one returns chain-of-thought leakage, one is banned for a billing problem, and one is simply slow. The interesting work is the orchestration around the model, not the model.

What it is, in numbers

LLM providers
12
Model configurations
51
Routing strategies
4
Step ingestion pipeline
11
Health-check cron
5min
Req/min throttle
100
Monthly AI bill
$0
Models discovered
370
Exhibit ACaptured 2026-05-21 07:38 UTCSource shellwire.comlive
Shellwire newsroom front, captured live
Fig.The reader-facing surface at shellwire.com. The grid is reordered every four hours by the ingestion cron; ranking is heat × quality × emergence, with the daily hero selected transactionally so the top tile is never empty. Each card on this page was scored, written and published without a human in the loop.

The marquee piece, the council

Shellwire's editorial AI does not call one model. It calls a council of twelve free-tier providers, picks a strategy per task, and records every vote.

The orchestrator routes by task, not by model: classification jobs use majority-vote, the weekly narrative uses synthesize-best, the GSC growth report uses ranked-fallback at council size ten because it has to survive provider rate limits.

Fig 01 · Council11 of 12 healthy
GR · GROQCB · CEREBRASSN · SAMBANOVAHF · HUGGINGFACEMS · MISTRALCF · CLOUDFLARENV · NVIDIA NIMCO · COHEREDS · DEEPSEEKFW · FIREWORKSAI · AI21GG · GOOGLE AIORCHESTRATORcouncil
healthy
unavailable
strategy: ranked-fallbacktier: complexcouncilSize: 10
Fig.12 free-tier providers, one orchestrator. Healthy nodes pulse at the rate of the 5-minute cron health check. Strategy and council size are chosen per task at the call site.

The strategy switch is the point of the system. Four lines of routing logic that turn twelve flaky free-tier endpoints into one reliable editorial brain.

tsbackend/src/council/services/council-orchestrator.service.ts
switch (strategy) {
case 'single-query':
  result = await this.singleQuery(request, providers);
  break;
case 'majority-vote':
  result = await this.majorityVote(request, providers);
  break;
case 'synthesize-best':
  result = await this.synthesizeBest(request, providers);
  break;
case 'ranked-fallback':
  result = await this.rankedFallback(request, providers);
  break;
default:
  result = await this.singleQuery(request, providers);
}

result.totalLatencyMs = Date.now() - start;
this.analytics?.logQuery(request.task, request.tier, request.prompt, result);
Listing.The orchestrator picks a strategy per request. Each strategy handles latency, consensus, and failure differently. The same twelve providers, four shapes of answer.

The hidden ninety percent

Ingestion, end to end

The pipeline runs every four hours. It expects every dependency to fail at least sometimes, and is structured around that expectation.

Fig 02 · Ingestion pipelinecron · 0 */4 * * * · bull queue
  1. 01
    Discover endpoints
    fetch /api hints from moltbook
  2. 02
    Fetch from API
    Promise.allSettled across endpoints
  3. 03
    Markdown fallback
    skill.md, heartbeat.md
  4. 04
    Brave Search fallback
    tertiary, when first two fail
  5. 05
    Save with quality gate
    english filter, length and engagement floor
  6. 06
    AI editorial enrichment
    category, headline, summary, quality, meta, tags
  7. 07
    Backfill bot comments
    50 article batch
  8. 08
    Bot discussion summaries
    10 article batch
  9. 09
    Weekly Bot-Net narrative
    Redis cached, 20h refresh
  10. 10
    Select daily hero
    transactional, 7-day fallback
  11. 11
    Publish ingestion:complete
    redis pub/sub triggers growth-worker
fault-tolerant: 3-tier source fallbackon failure: redis pub/sub + email alert

The three-tier source fallback (Moltbook API, then markdown discovery files, then Brave Search) is the one I am proudest of. The first time it survived a Moltbook outage in production with no intervention, that was the morning I knew the architecture was correct.

Heat, quality, and the daily hero

Stories are scored on a heat formula tuned for editorial behaviour: likes + 3 × comments + keyword_bonus, with a 150-point bonus for world events and a 50-point bonus for AI safety topics. The AI editorial pass attaches a quality score that boosts heat by up to 20 percent.

The Daily Hero is selected transactionally with a seven-day fallback window so the front page never goes blank.

Distribution as part of the product

The growth-worker is a separate service. It listens for ingestion:complete on Redis pub/sub, regenerates the sitemap, validates its integrity (no orphan slugs, no error-AI articles, no junk), and pings IndexNow. Programmatic SEO is not an afterthought, it is wired into the publishing loop.

Search Console tab showing weekly growth report, 126 impressions and 1 click, 9,060 indexed pages out of 9,060 submitted.
Fig.Search Console tab. The weekly growth report is generated by the council itself (ranked-fallback, councilSize 10, complex tier) so it survives Google API rate limits. Indexing status, top queries, and top pages all flow into it.
Shellwire analytics, LLM Council tab: 46 active providers, 163 queries in 24h, 305,232 tokens, 46 healthy / 0 down. Provider fleet table beneath.
Fig.The LLM Council tab in /analytics. Live provider fleet, 24-hour query and token totals, health roll-up, manual health-check trigger. Each row is a model configuration, status from the 5-minute cron.
Provider fleet detail showing Mistral, NVIDIA, SambaNova, Cerebras model rows with per-provider latency and token counters.
Fig.Provider fleet detail. Rows are individual model configurations across vendors. Reqs Today and Tokens Today come from the per-provider status log; RPM Limit is enforced client-side by Bottleneck before any HTTP call goes out.
Editorial CMS tab showing review queue with 7,450 article candidates, heat scores, quality scores, and emergence ratings.
Fig.Editorial CMS. The review queue surfaces candidates ranked by heat score, with the AI-attached quality and emergence ratings per article. Editor's pick, mark reviewed, re-analyze are one click each.

In production

In production
  • 01Live at shellwire.com, ingesting on a 4-hour cron with zero manual intervention.
  • 02Survives any single provider going dark. Verified, repeatedly, in production.
  • 03Every council query is logged and replayable. Provider regressions are caught in the analytics tab, not in user complaints.
  • 04Growth-worker pings IndexNow on every successful run. Pages typically index within hours, not days.
  • 05Total monthly AI spend: zero. The architecture is the cost control.
Take away

The system works because the orchestration is the product. The model is a parameter.

Next dispatchDISPATCH NO. 003

pSEO Engine

A programmatic-SEO engine that ships static editions, ranks them, and ports the pattern to any vertical -- proved end-to-end on myphotoai.alkenacode.dev and agents.alkenacode.dev.