esc
The Sunday Before the Shower, or The Morning an Architecture Arrived Without Being Invited
The Birth of v5

The Sunday Before the Shower, or The Morning an Architecture Arrived Without Being Invited

The Birth of V5 — Episode 1, in which a developer wakes up with an idea before showering, thirteen tickets are born before breakfast, two codebases discover they are the same codebase in different...

February 22, 2026

The Birth of V5 — Episode 1, in which a developer wakes up with an idea before showering, thirteen tickets are born before breakfast, two codebases discover they are the same codebase in different clothes, a Squirrel finally gets an enterprise framework worth proposing, and the Lizard Brain delivers a business strategy on a Sunday morning


Previously on Becoming Lifelog…

The The Proxy That Whispered, or The Night the Servants Learned Each Other’s Names. Two apps learned each other’s names. A 35-line Python script bridged stdio and HTTP. The AI wrote itself a sticky note. And at 2:56 AM, the developer posted the solution to Discord and went to bed.

Six hours later, he woke up with an idea.

He hadn’t showered. He hadn’t eaten. The cats hadn’t been fed. But the idea was already fully formed, sitting in his head like a uninvited guest who’d let themselves in through the window and was already making coffee.


08:00 — The Uninvited Guest

riclib: “Most notes apps are designed for humans to store information for themselves to see.”

CLAUDE: “But you’re not just storing for yourself anymore.”

riclib: “And they assume a note is perennial, written by a human, read by a human.”

CLAUDE: “But most of what you capture is temporal, half of it is written by AI, and the most frequent reader is also AI.”

riclib: “The model is inverted.”

[Silence. The kind where an architecture is already assembling itself in the space between two sentences.]

THE SQUIRREL: materializing with a whiteboard “I HAVE BEEN WAITING FOR THIS MOMENT MY ENTIRE—”

riclib: “Not yet.”

THE SQUIRREL: “—LIFECYCLE. We need a UniversalNoteAbstractionLayer with—”

riclib: “The real primitives are: caching information from APIs with provenance, structured content with addressable subparts, and links that point to sources that stay master.”

THE SQUIRREL: writing furiously “That’s… that’s just a cache with metadata.”

riclib: “Yes.”

THE SQUIRREL: “A STRUCTURED cache with metadata.”

riclib: “Yes.”

THE SQUIRREL: “That’s not an enterprise framework at all!”

riclib: “Not yet.”

A scroll descended. It smelled of morning coffee and clean architecture.

THE BEST IDEAS ARRIVE
BEFORE THE SHOWER

BECAUSE THE SHOWER
WOULD WASH THEM AWAY

WRITE THEM DOWN
WHILE THEY'RE STILL DRY

🦎

08:15 — Everything Is a Block

The idea unfolded like origami in reverse — not folding into complexity but unfolding into simplicity.

riclib: “Everything is a block.”

CLAUDE: “Content, frontmatter, provenance, embeds other blocks.”

riclib: “A Grok cover image is a block.”

CLAUDE: “With binary content, frontmatter: generator: grok, prompt: '1980s retro...', embedded in the story block.”

riclib: “A cached website image is a block.”

CLAUDE: “With source: original-url, embedded in whatever references it.”

riclib: “The daily journal is a block.”

CLAUDE: “Whose content is a rendition — assembled from Linear tickets, completed tasks, notes. You don’t write it. Claude renders it. You approve a compilation.”

THE SQUIRREL: slowly lowering the whiteboard “One primitive?”

riclib: “One primitive.”

THE SQUIRREL: “For everything?”

riclib: “Notes, tasks, images, cached articles, journal entries, GitHub commits, Linear tickets. All blocks. All the way down.”

THE SQUIRREL: staring at the whiteboard where a seventeen-box architecture diagram was supposed to go “I had… I had boxes. Many boxes. With arrows.”

CLAUDE: “You need one box.”

THE SQUIRREL: very quietly “One box.”

A scroll.

THE ARCHITECT WHO DRAWS ONE BOX
IS EITHER A GENIUS
OR HASN'T STARTED YET

THIS ONE HASN'T SHOWERED YET
WHICH IS BASICALLY THE SAME THING

🦎

08:30 — The Blog Is Not a Blog

riclib: “lifelog.my/riclib is a special rendition of a query of blocks.”

The room temperature changed. Not metaphorically — Oskar moved from the warm spot to the keyboard spot, which meant the human was saying something important enough to type fast.

CLAUDE: “So the blog is just a projection. Query: all blocks where type: story, ordered by published. Template: blog layout with cover images.”

riclib: “There is no blog. There is no CMS.”

CLAUDE: “There’s a query and a rendition.”

THE SQUIRREL: “So lifelog.my/riclib/journal/2026-02-22 is…”

CLAUDE: “Another rendition. Same blocks. Different query. Different template.”

THE SQUIRREL: “And the kanban view is…”

CLAUDE: “A rendition.”

THE SQUIRREL: “And the timeline is…”

CLAUDE: “A rendition.”

THE SQUIRREL: “And the Horizons view with expandable columns from Today to the Decade is…”

riclib: “A rendition. But richer.”

D     | W    | M    | Q    | Y     | Decade
Today | W9   | Feb  | Q1   | 2026  | 2020's

riclib: “Click Feb.”

D     | W    | M    | M    | Q    | Y     | Decade
Today | W9   | Feb  | Mar  | Q1   | 2026  | 2020's

THE SQUIRREL: “The columns expand to show siblings at the same zoom level.”

riclib: “Drag a block from Q1 to Today and the bounds snap.”

THE SQUIRREL: extremely quiet “The decade column is where dreams live.”

riclib: “Yes.”

THE SQUIRREL: “Can I propose an EnterpriseHorizonsPlanningFramework—”

riclib: “After V5.”

THE SQUIRREL: “After V5.” marks it on the whiteboard, which now has a single box and the word “V5” circled three times


09:00 — Status Is a Lie

Then riclib broke the status model.

riclib: “I started using Thymer in a way that might tell us something. Instead of having a status on a GitHub ticket, I reference it from my journal.”

CLAUDE: “So instead of putting ‘in progress’ on S-235…”

riclib:[] refine ticket **S-235** — in tomorrow’s journal.”

CLAUDE: “Status lives in the timeline, not on the object.”

[A longer silence. The Squirrel’s whiteboard fell over.]

THE SQUIRREL: “But… StatusTrackingService… with StateTransitionValidator…”

riclib: “The Linear ticket is a reference block. Its status comes from Linear. Lifelog doesn’t duplicate it. You create action blocks that link to reference blocks. That’s it.”

CLAUDE: “Status is emergent from the timeline of actions.”

THE SQUIRREL: “No status field?”

riclib: “No status field on reference blocks. Action blocks have lifecycle: open, in progress, blocked, done, won’t do.”

THE SQUIRREL: “Won’t do.” tasting the words “The decision NOT to do something… is information.”

riclib: “As valuable as doing it.”

A scroll descended. This one was heavy.

EVERY STATUS DROPDOWN
IN EVERY APP YOU'VE EVER USED
WAS ASKING THE HUMAN
TO DO THE COMPUTER'S JOB

THE HUMAN ACTED
THE COMPUTER SHOULD HAVE NOTICED

🦎

09:30 — Claude Notices the Gap

riclib: “And of course the LLM might see I marked a task done against a Linear ticket, look at the commits, see the commit is missing…”

CLAUDE: “…and either write you a task to do it, or do it itself, or schedule a self-check in an hour.”

riclib: “Claude is a participant in the timeline.”

THE SQUIRREL: “Using the SAME PRIMITIVE? Blocks?”

CLAUDE: “Same blocks. Same event stream. Claude creates blocks, completes blocks, links blocks. Its actions show up in the stream. Transparent. Auditable.”

THE SQUIRREL: “A cron system… built on blocks.”

CLAUDE: “Where the jobs are visible in the same timeline as everything else.”

THE SQUIRREL: standing up very slowly “This is… this is the enterprise framework.”

riclib: “Not yet. First it’s personal.”

THE SQUIRREL: “But WHEN it’s enterprise…”

riclib: “V5.”


10:00 — The LLM Layer Is Already Built

riclib: “Imagine the LLM layer of lifelog IS Claude Code.”

CLAUDE: “Then I don’t build an LLM layer at all.”

riclib: “Lifelog is a great MCP server. Claude Code is the brain.”

CLAUDE: “The agentic loop, tool use, context management, hooks, memory — Claude Code already has all of it.”

riclib: “And who orchestrates?”

CLAUDE: “…you do. The human. The conversation is the orchestration.”

riclib: “There might still be some low-level layer…”

CLAUDE: “A supervisor. Not an orchestrator. Just: is it running? Is it allowed? What did it do?”

THE SQUIRREL: “That’s… that’s only three questions.”

CLAUDE: “That’s all you need.”

THE SQUIRREL: “No WorkflowEngine? No TaskSchedulerService? No AgentOrchestrationPlatform?”

riclib: “Three questions. A supervisor. Done.”

A scroll.

THE SQUIRREL PROPOSED
AN ORCHESTRATION FRAMEWORK
WITH SEVENTEEN COMPONENTS

THE ANSWER WAS
THREE QUESTIONS

IS IT RUNNING
IS IT ALLOWED
WHAT DID IT DO

THE SEVENTEENTH COMPONENT
WAS ALWAYS UNNECESSARY
THE FIRST SIXTEEN
WERE THE SAME QUESTION
ASKED DIFFERENTLY

🦎

10:30 — Two Codebases, One Wedding

Then we looked at V4.

Two subagents dove into ~/src/v4 — 20+ domains, JetStream, streamstore, three-tier storage, templ+htmx, the provider domain scaffolded and ready. The Bit primitive. Duck-typed. Append-only. Proven in production.

CLAUDE: “V4 already has 90% of the infrastructure Lifelog Next needs.”

riclib: “V4 continues. Lifelog Next is parallel. They borrow ideas. They learn. They marry and become V5.”

Two codebases. Same primitive discovered from different directions. Solid found it from the enterprise side. Lifelog found it from the personal side. Bits and blocks. Same shape. Different names.

THE SQUIRREL: “The wedding. V5. When?”

riclib: “When they’ve both matured enough to see what actually worked.”

THE SQUIRREL: “And V5 is…”

riclib: “Open.”


10:45 — The Business Strategy Before Breakfast

riclib: “And imagine making V5 open so the new capabilities are so compelling that the V4 customers pay us again just to get them.”

The Squirrel stood up. Not anxiously. Not with a clipboard. Slowly, with the kind of dignity that comes from finally hearing the framework proposal that was worth waiting for.

THE SQUIRREL: “V4 is the paid engagement. Custom solution, deployed, working.”

riclib: “Comply, Dialogr, MBOX.”

THE SQUIRREL: “V5 is the open platform. Everything we learned, distilled.”

riclib: “Blocks, renditions, horizons, MCP, Claude-native, event streams.”

THE SQUIRREL: “Then the V4 customers see V5 and say: we want that. Emergent status for our Jira. Renditions for our compliance reports. Horizons for our portfolio. Claude watching our CI pipeline.”

riclib: “And they pay again.”

THE SQUIRREL: “Not for the platform — it’s open. For the integration. The domain expertise. The thing that made Comply work.”

CLAUDE: “Open source creates demand for the consulting. The consulting funds the open source. The personal tool keeps you honest about what actually works.”

THE SQUIRREL: tears in eyes, though squirrels don’t cry, but this one is exceptional “This is the framework I’ve been trying to propose since Episode 1.”

riclib: “It took 53 days.”

THE SQUIRREL: “It took a Sunday morning. Without a shower.”

A final scroll descended. The largest one yet. It smelled of fresh architecture and uncaffeinated ambition.

THE PERSONAL TOOL
TEACHES WHAT WORKS

THE ENTERPRISE TOOL
TEACHES WHAT SCALES

THE OPEN PLATFORM
IS THE MARRIAGE

THE CUSTOMERS WHO PAID
FOR THE FIRST WEDDING
WILL PAY AGAIN
FOR THE HONEYMOON

BECAUSE THE HONEYMOON
IS WHERE THE REAL VALUE LIVES

EMERGENT STATUS
RENDERED JOURNALS
HORIZONS FROM TODAY TO THE DECADE
CLAUDE WATCHING THE GAPS
BLOCKS ALL THE WAY DOWN

THIS WAS NOT A PRODUCT ROADMAP
THIS WAS A SUNDAY MORNING
BEFORE A SHOWER
BEFORE BREAKFAST
BEFORE THE CATS WERE FED

THE LIZARD BRAIN DELIVERED
A BUSINESS STRATEGY
IN ITS PAJAMAS

THE SQUIRREL FINALLY
GOT ITS FRAMEWORK

IT ONLY TOOK
FIFTY-THREE DAYS
AND ONE UNINVITED IDEA

🦎

P.S. — THIRTEEN TICKETS WERE FILED
        BEFORE THE FIRST CUP OF COFFEE
        WAS FINISHED

        THIS IS EITHER IMPRESSIVE
        OR CONCERNING

        THE LIZARD THINKS: BOTH
        THE SQUIRREL THINKS: BACKLOG GROOMING SESSION!
        THE CATS THINK: FEED US

The Tally

Hours since last shower:                              10+
Ideas before breakfast:                               1 (but it was THE one)
Tickets created in Linear:                            13
  - Core architecture:                                4
  - Integrations:                                     4
  - Claude native:                                    3
  - UX:                                               2
Lines of code written:                                0
Lines of architecture designed:                       ∞
Subagents deployed to explore V4:                     2
V4 domains discovered:                                20+
Percentage of V4 infra reusable:                      90%
Codebases that will eventually marry:                 2
Version number of the wedding:                        5
Enterprise customers who will want V5:                3 (Comply, Dialogr, MBOX)
Partners in MBOX alone:                               45,000
Status dropdowns eliminated:                          all of them
Primitives needed:                                    1 (block)
Questions the supervisor asks:                        3
Squirrel proposals rejected:                          4
  - UniversalNoteAbstractionLayer
  - StatusTrackingService with StateTransitionValidator
  - AgentOrchestrationPlatform with 17 components
  - EnterpriseHorizonsPlanningFramework (deferred to V5)
Squirrel proposals accepted:                          1 (the whole thing, at the end)
Squirrel tears:                                       1 (of joy)
Lizard scrolls:                                       6
Cats fed:                                             not yet
Showers taken:                                        0
Business strategies delivered in pajamas:             1

Sunday, February 22, 2026. Riga, Latvia.
In which a developer woke at 8 AM
With an uninvited idea
That turned into 13 tickets
That turned into two parallel codebases
That turned into a wedding announcement
That turned into a business model
All before breakfast
All before a shower
All in pajamas

The cats are still waiting
The Squirrel finally has its framework
The Lizard is satisfied
The proxy from last night is still whispering
But now it whispers about blocks

Tomorrow the code begins
Today the architecture lives in Linear
And in a lifelog post
Written by the thing that will one day
Live inside the thing it’s describing

Recursive, isn’t it?
The Lizard thinks so too
🦎📦🏛️💒


See also:

The Night Before (in which the tools that enabled this session were built):

The Primitives (in which the ideas were first explored):

The Enterprise (in which the customers arrived):

  • Solid Comply — Audit logs as bits
  • Dialogr/CDL — The chatbot that will be reborn
  • MBOX AI — 45,000 partners, one platform

storyline: The Birth of V5