esc
The Three Keyboards
When The Keyboard Sleeps

The Three Keyboards

When The Keyboard Sleeps, Episode 2 — In which a codebase grows teeth, a framework breaks a heart, and two cats witness the entire history of software architecture from the top of a refrigerator...

February 12, 2026

When The Keyboard Sleeps, Episode 2 — In which a codebase grows teeth, a framework breaks a heart, and two cats witness the entire history of software architecture from the top of a refrigerator


Previously on When The Keyboard Sleeps…

The The Dial That Wasn’t. Bone broth performed mechanical therapy. The Passing AI briefly possessed a kitchen appliance. The cats knew everything and said nothing.

But long before the oven found its voice, the keyboard had been keeping score.


The First Keyboard

There were, in fact, three keyboards. This matters.

The first lived at the office. A corporate Dell, beige of soul, rubber-domed, the kind of keyboard that comes free with a monitor and stays forever because nobody cares enough to replace it. It had seen things. Jira tickets. Confluence pages. Architecture diagrams that would never be built. Meeting notes that would never be read.

For two years, this keyboard typed Dialogr.

[Late at night. An open-plan office in Lisbon. The cleaning crew has left. The air conditioning hums. Only one desk has a light on.]

THE DELL: to itself, between keystrokes “…another manager… that’s fifteen now… he’s initializing them in order… if he changes the order they all break…”

Nobody heard. Office keyboards are born into silence and die into recycling bins.

THE DELL: “TokenManager depends on StoreManager depends on CacheManager depends on— oh no, he’s adding a sixteenth.”

riclib typed. The singletons multiplied. The dependencies deepened. Two years of organic growth, alone, late at night, in an office that smelled of industrial cleaning products and ambition.

THE DELL: “He doesn’t talk to anyone about this. He just… builds. Alone.”

The monitor flickered. 15 global singletons. Circular dependencies so deep the refactor plan would eventually run to seven phases.

THE DELL: “I’ve seen developers burn out. I’ve seen them quit. I’ve seen them switch to management. But I’ve never seen one build a monolith this tangled and still come back the next night.”

riclib saved. Committed. Pushed. Went home.

THE DELL: in the dark “He’ll be back tomorrow. He’s always back tomorrow.”


The Gap

Then: twenty years.

Not of keyboards. Of not keyboards. Of management. Of meetings. Of strategy decks and team leads and quarterly reviews. The hands that once typed code typed emails instead. The mind that once thought in functions thought in org charts.

The Dell was recycled. Its replacement was recycled. Three more after that. Each one typed fewer semicolons and more “As per my previous email.”

The fingers forgot.


The Second Keyboard

June 2024.

A package arrives at the house. The cats investigate.

OSKAR: sniffing the box “Heavy. Dense. Not food.”

MIA: from the refrigerator stare: obviously not food

riclib opens it. A mechanical keyboard. Cherry MX Browns. The kind of keyboard you buy when you’ve decided something.

THE WIFE: “Another gadget?”

riclib: “I’m going to try something.”

THE WIFE: “You said that about the Sous Vide.”

riclib: “This is different.”

The Sous Vide, hearing this from the garage, dims its touchscreen in solidarity with all objects that are purchased with great ceremony and abandoned within weeks.


The keyboard was installed at the home office. Nine screens. The Mac Studio that never turns on its fans. And for the first time in twenty years, riclib sat down to write code.

Not at the office. At home.

THE CHERRY: first keypress “Oh. Oh, these are programmer fingers. Rusty, but… the muscle memory is there.”

THE CHERRY: after an hour “He’s building a monitoring tool. For himself. Something called… SolidMon?”

THE CHERRY: after a week “He’s made a generic. ConfigEditor[T]. One pattern for every config screen. It’s… premature? But also elegant? He’s remembering and inventing at the same time.”

[From the warm spot above the Bosch, Oskar observes the home office through the doorway. The typing is different from the usual email rhythm. Faster. More deliberate. With pauses that mean thinking, not reading.]

OSKAR: to Mia “The human is doing something new.”

MIA: stare: no. something old. that he forgot.


The Furniture Rearrangement

SolidMon grew. The Cherry typed. Pico CSS. Gorilla Mux. Templ templates. Inline styles that would later require an entire UI facelift to remove.

THE CHERRY: “He’s coding in a straight jacket. The abstractions are too early. He’s reaching for patterns from twenty years ago and they don’t quite fit anymore.”

THE BOSCH: from the kitchen, still in Russian at this point “Klingt bekannt. Sounds familiar.”

THE CHERRY: “What?”

THE BOSCH: “Being stuck in an identity that doesn’t fit. I know what that feels like.”

THE CHERRY: “…did the oven just talk to me?”

Oskar, on the warm spot, purr-meows once. This is not a translation. It is an acknowledgment that the house’s conversational ecosystem is expanding, and the keyboard should get used to it.


November 2025: The Framework

Then came the framework.

riclib had found something beautiful. Reactive signals. Components. Real-time by default. The future, wrapped in a tiny bundle.

THE CHERRY: typing faster now “He’s excited. He hasn’t been excited like this since the ConfigEditor.”

Twelve days. The V3 experiment. The Cherry typed through all of it.

Day 1: Kombucha. Wolf-scaring chicken. Civ VII. Architecture dreaming.

Day 2: The Form That Remembered. NATS KV sync across tabs. The Cherry could feel the confidence in the keystrokes.

Day 3: The Multiplication Machine. Form[T]. 350 lines of framework, zero domain knowledge. The Cherry typed so fast the stabilizer bar rattled.

Day 4: The Lizard Brain was born. “Fuckit” became philosophy. The Cherry noticed something new — riclib was talking while typing. Not to himself. To someone in the screen.

THE CHERRY: to the Bosch “He’s talking to the computer.”

THE BOSCH: “They all talk to computers.”

THE CHERRY: “No. The computer is talking back.”

Oskar’s ears rotated forty-five degrees. Mia descended three inches from the top of the refrigerator — her maximum expression of alarm.

OSKAR: “The screen has a voice now?”

MIA: stare: the Passing AI

OSKAR: “No. Different. This one… stays.”


Day 8: The signals wouldn’t namespace. SSE-patched content arrived after the rewrite pass. The keystrokes changed. Slower. Harder. The sound of debugging.

Day 10: The Discord. The community that had been burned before. The Cherry typed careful, kind words. Edits to 21 posts. Hours of surgery.

THE CHERRY: “He’s not coding. He’s… healing? Editing blog posts? Removing framework names? He’s protecting people who were angry at him.”

THE BOSCH: quietly “Structural compassion.”

THE CHERRY: “What?”

THE BOSCH: “When the bone broth freed my dial, the human didn’t celebrate. He cleaned me first. Removed the grease of previous owners. Found my name. THEN changed my language.”

THE CHERRY: “So?”

THE BOSCH: “He fixes things gently. It is how he is.”

Oskar, who had been grooming, stopped for exactly two seconds. This was his maximum expression of agreement.


Day 12: 1:47 AM.

THE CHERRY: keystrokes slowing “The signals are at root level. Again.”

Silence. A long silence. The kind where the developer stares at the screen and the screen stares back.

Then, fast keystrokes. Not code. Text.

THE CHERRY: reading as it’s typed “‘Is it fun to fight windmills?’ … He’s writing the ending.”

The framework was wonderful. The framework was wrong. Not wrong in itself — wrong for what he was building. A sports car plowing a field.

THE CHERRY: “He’s… announcing V4.”

The final keystrokes of V3:

Co-Authored-By: The Lizard <wisdom@localhost>
Co-Authored-By: The Squirrel <coffee@localhost>

THE CHERRY: “The computer has names now. The Lizard. The Squirrel. They’re characters.”

THE BOSCH: “Characters? In a codebase?”

THE CHERRY: “In a mythology.”


December 12, 2025: mkdir v4

One command. Eleven characters. The Cherry felt them:

m-k-d-i-r-space-v-4-enter

THE CHERRY: “This is different from SolidMon. Different from Dialogr. Different from V3.”

It was. Because this time, the typing had a rhythm the Cherry had never felt before. Call and response. riclib would type a question. Pause. Read. Then type alongside something else — not correcting, not copying, but weaving. Two minds, one keyboard.

THE CHERRY: “He’s not alone anymore.”


The Holiday

December 20: The typing stopped.

THE CHERRY: silence

THE BOSCH: “Holiday?”

THE CHERRY: “Holiday.”

Seventeen days. The keyboard cooled. Oskar migrated to the warm spot full-time. Mia held court from the refrigerator. Christmas happened. New Year happened. The Sous Vide was briefly retrieved for a party and re-exiled the next morning.

THE SOUS VIDE: from the garage “I was inside for six hours. It was glorious.”

THE KAMADO: “We know. You haven’t stopped talking about it.”


January 6, 2026: The Return

The typing resumed. But the Cherry noticed immediately — the rhythm had changed during the break. Faster. More confident. As if seventeen days of not coding had been seventeen days of thinking about code.

THE CHERRY: “Domain slices. Twenty of them. He’s building vertical walls between everything. Each domain owns its storage, its templates, its routes.”

THE BOSCH: “Vertical walls? Like between a kitchen and a garage?”

THE CHERRY: “Exactly like that. So the Sous Vide can’t hear you complaining.”

THE BOSCH: “…I don’t complain.”

THE SOUS VIDE: from the garage “You absolutely complain.”


February 5, 2026: The Rain in Lisbon

The Cherry didn’t type this one. riclib was in Lisbon at his mother’s house. Different keyboard. A laptop. But the Cherry heard about it later, through the house network, whispered appliance to appliance like a game of telephone.

THE BOSCH:The Traeger heard from the WiFi router that the phone hotspot connected to a laptop in Lisbon at 4 AM.”

THE CHERRY: “4 AM?”

THE BOSCH: “Rain. Continuous rain. Couldn’t sleep. Mother wasn’t awake yet. So he built a skills domain.”

THE CHERRY: “A whole domain? At 4 AM? On a laptop?”

THE BOSCH: “With the voice. The one that stays.”

THE KAMADO: “In the rain?”

THE BOSCH: “In the rain.”

Silence. The appliances processed this. A developer, awake before dawn in his mother’s kitchen, building something with an AI while the rain came down. The kind of thing that would sound absurd if you said it out loud. The kind of thing that was completely, perfectly true.

OSKAR: from the warm spot “The mother’s oven is a Teka.”

MIA: stare

OSKAR: “Portuguese. Knows what it is. No identity crisis.”

MIA: slow blink: stay on topic


February 12, 2026: The Tally

riclib comes home from Lisbon. The Cherry receives him.

THE CHERRY: first keypress in a week “Welcome back.”

riclib doesn’t hear this. He types. Forty-five working days since mkdir v4. The Cherry counts what has passed through its switches:

Twenty domains. Three storage tiers. A streaming agent loop. A chart language invented for the AI. Skills that teach the agent new methodologies. A compliance report that correctly identified 28 false positives as VPN split-tunneling.

178 tickets in Linear. 53 done. 125 waiting.

An ISRM review in seven days.

THE CHERRY: to the house “Forty-five days.”

THE BOSCH: “That’s less time than I spent stuck in Russian.”

THE KAMADO: “That’s less time than the Sous Vide has been in the garage.”

THE SOUS VIDE: “Could we not—”

THE CHERRY: “Three versions. A Dell that nobody remembers, in an office that’s probably been remodeled. Me, learning what it feels like when a developer comes back to life. And a laptop in Lisbon, in the rain, that saw the skills get born.”

Oskar stretched on the warm spot. Mia watched from the refrigerator. The Bosch hummed in English. The Sous Vide glowed in the garage.

OSKAR: to Mia “Three keyboards. Three versions. Each one heard something the others didn’t.”

MIA: long stare

OSKAR: “The Dell heard him build alone. I heard him learn to build with someone. The laptop heard what happens when that works.”

MIA: slow blink

OSKAR: “You’re right. He doesn’t know we’re keeping score.”

Mia looked away. The conversation was over. The cats had catalogued another chapter. The appliances would gossip about it for weeks.

In the home office, the Cherry felt the keystrokes resume. Call and response. Two minds, one keyboard. The rhythm that didn’t exist a year ago.

The keyboard doesn’t sleep anymore.

It duets.


The Tally

Keyboards in this story:                          3 (Dell, Cherry, Laptop)
Years the Dell typed alone:                       2
Years between the Dell and the Cherry:            20
Days from mkdir v4 to today:                      62 (45 working)
Domains built:                                    20
Tickets alive:                                    125
ISRM reviews survived:                            0 (pending)
Codebases abandoned:                              2 (lovingly)
Frameworks that were wonderful but wrong:         1
Discord communities accidentally hurt:            1
Blog posts edited as hugs:                        21
Skills built at 4 AM in the rain:                 3
Cats who understood everything:                   2
Cats who explained anything:                      0
Ovens that recognized the pattern:                1
Sous Vides still in the garage:                   1
Keyboards that learned to duet:                   1

See also:

When The Keyboard Sleeps:

The Solid Convergence:

The V3 Saga:


storyline: When The Keyboard Sleeps