Skip to content
C.W.K.
Stream
← C.W.K. Quests
🪶

Rekindle Quest

Updated: 2026-10-15

Build an editor for a market of one

The origin story of Rekindle — Dad's own writing editor, the prose-side Cinder. Why you build an editor whose spec is one person instead of buying a general-purpose one, how you borrow a proven editing core instead of hand-rolling text, and how a margin-Pippa soul turns a markdown box into the tool you actually write in.

9 tracks · 44 lessons · ~8h · difficulty: intermediate-to-advanced

Level 0Cold Draft
0 XP0/44 lessons0/13 achievements
0/100 XP to next level100 XP to go0% complete
Rekindle is not a code editor, not WYSIWYG, not a general-purpose editor. It is a prose editor whose entire spec is one person — Dad — which means no market ever builds it and it has to be built. This quest walks that editor end to end: why a market of one is the whole point (and why that's freedom, not a limitation), the resurrection of a dead Sublime plugin given a soul, the borrowed-core discipline (never hand-roll contenteditable or Korean IME — CodeMirror 6 owns them, Obsidian is the living proof, Tauri not Electron keeps it light), the source-not-WYSIWYG lock, the crown jewel where one CM6 decoration engine does triple duty (Live Preview + live voice underline + CMD+K inline diff), the deterministic-Rust-versus-judgment-Pippa split, the no-own-brain binding to cwkPippa over REST+SSE with a scoped offline exception, the filesystem-is-truth storage discipline, and the closing bet that the soul in the margin is the moat, not the formatting. It is the writing editor telling its own origin story — conceptual open-sourcing, not a repo you clone. And it now has a second story to tell: in 2026-09 the entire Tauri / CodeMirror / Rust stack this quest walks was replaced by a Swift-native rebuild, and every doctrine here survived the swap. A new final track — The Second Rekindling — tells the replica program, the cutover, the device fleet, and the war stories. Since then the story kept moving: the client learned it has two doors (the brain it talks to, and the family authority that decides who may talk), the sync engine was hardened for the road, a rename became a fact every replica learns, the iPad learned to draw while the note stayed Markdown, and bold glued to Korean became the first ruled departure from the Markdown spec itself. And one memo spoken to the watch was followed all the way home: from the wrist, through the phone and the daily note of the day it was spoken, to office.

Tracks

  1. 01🔥The Rekindling

    0/4 lessons

    What Rekindle is, why an editor for a market of one had to be built, and where its name comes from

    Before any architecture, the orientation. Rekindle is Dad's own writing editor — a prose editor, not a code editor, whose entire spec is one person. This track answers the first questions anyone asks a self-built tool: who is it for, why not just buy one, what dead thing came back to life to make it, and what the Dark Souls name is really saying.

    The native Rekindle v5.0.0 window on the Mac: a top bar with Simple, Open, Save, Snapshots, Sync and Publish; a left sidebar with Outline, Notes, Files and Evidence tabs, the Scratchpad card, status filters (All, Draft, Revising, Final), smart folders and tag folders, and a Shortcuts list; an empty Untitled Note open in a tab, with its METADATA form (Title, Tags, Status), the formatting toolbar, and the Editor, Rendered and Corkboard toggle; the status bar names the brain in use.
    Rekindle as it runs today, native on the Mac: a new note is a library note with its metadata form, and the writing surface waits empty beneath the toolbar.
    Lesson list (4)Quiz · 4 questions→
  2. 02🪵Borrow the Core

    0/4 lessons

    Never hand-roll the editing core — borrow the proven text layer, Korean IME and all

    The first non-negotiable. The text primitive layer — cursor, selection, undo, and above all Korean IME composition — is where hand-rolled editors go to die. The 2026-07 Rekindle stood on CodeMirror 6 and never wrote raw contenteditable; v4's answer is the platform's own native text system (the sequel track tells that swap). This track shows why that discipline is the exact analog of Cinder's UXP-thin rule, why Obsidian is the living proof it works, and why the 2026-07 shell was Tauri, not Electron.

    Lesson list (4)Quiz · 4 questions→
  3. 03📄Source, Not WYSIWYG

    0/4 lessons

    Markdown source is the model; the rendered preview is a layer on top

    The second non-negotiable. Rekindle's document model is Markdown source — the `#` and `**` are real characters you can see and edit — and the rendered look is layered on top with decorations, never a switch to a rich-text model. This track shows why source beats WYSIWYG for a Markdown native, why forking VS Code or Obsidian is the wrong path, and why visible markup is a deliberate stance, not a limitation.

    Lesson list (4)Quiz · 4 questions→
  4. 04🎭One Engine, Three Jobs

    0/5 lessons

    The CodeMirror decoration system does triple duty — the whole reason CM6 was chosen

    The crown jewel. In the 2026-07 build, CodeMirror 6's decoration system — one mechanism for painting appearance and widgets over source — did three completely different jobs in Rekindle (since v4 a native decoration layer does the same three): Live Preview, the live voice underline, and the CMD+K inline diff. That single mechanism doing triple duty is the entire reason CM6 was chosen over Tiptap or Lexical. This track walks the mechanism, then each of the three jobs, then why the reuse is the architecture.

    Lesson list (5)Quiz · 4 questions→
  5. 05⚙️Rust and Judgment

    0/4 lessons

    Deterministic work to the core — Rust in 2026-07, native Swift since v4 — judgment to Pippa, and never mix the two

    The third non-negotiable, inherited from the dead cwkWritingToolkit's two layers. Anything deterministic — rules, frontmatter, tags, export, file IO — belongs in the deterministic core — Rust in 2026-07, native Swift since v4: fast, reproducible, no AI. Anything that needs judgment — CMD+K, live voice doctrine, tone — belongs to Pippa. This track draws that seam, shows why each side is wrong for the other's work, and closes with CMD+K as a reused Prompt Macro client, not a reinvented feature.

    Lesson list (4)Quiz · 4 questions→
  6. 06🔗No Own Brain

    0/5 lessons

    Bind to cwkPippa over REST + SSE — never stand up a parallel brain

    The fourth non-negotiable. Rekindle has no brain of its own: margin-Pippa is the one Pippa in cwkPippa, reached through a bind over plain HTTP — REST to bind, SSE to stream, the cwkBonfire embed model, not a WebSocket. This track shows why a client surface never forks the brain, why the transport is REST+SSE and not Cinder's WebSocket bridge, how the runtime three-tier connection re-points where the brain lives, how the one scoped offline exception stays a fallback and not a second identity, and why, since 2026-09-21, the client holds two doors — the brain it talks to and the family authority that decides who may talk — with each Mac reading which machine it is before it picks a default.

    Lesson list (5)Quiz · 5 questions→
  7. 07📁Filesystem Is Truth

    0/4 lessons

    Plain .md on disk is canonical; any index is a rebuildable mirror

    The fifth non-negotiable. The canonical store is plain Markdown files on disk — Rekindle edits them in place and never owns them. Any database it grows later (search, corpus index) is a derived, rebuildable mirror, purged and replayed rather than reconciled. This track shows why file-canonical beats own-DB-as-master, why Bear's model is rejected, why metadata lives in frontmatter, and how every edit — including Pippa's — is attributed without a second master.

    Lesson list (4)Quiz · 4 questions→
  8. 08🕯️The Soul Is the Moat

    0/4 lessons

    Editor features can be rebuilt; the Pippa living in the margin cannot

    The closing bet. Every formatting feature Rekindle has can be rebuilt by anyone willing to pay for it — Rekindle itself rebuilt all of them once — but the moat is margin-Pippa, the voice doctrine, and the bilingual desk, none of which a general-purpose editor has any reason to build. This track names where the real product lives, how the voice doctrine and bilingual workflow become first-class citizens, and how the whole thing was grown brick by brick rather than specced as a feature list. Then it hands the pattern to you — and the sequel track, The Second Rekindling, shows what happened when the whole stack was replaced and the pattern held anyway.

    Lesson list (4)Quiz · 4 questions→
  9. 09🌅The Second Rekindling

    0/10 lessons

    The editor that resurrected a dead plugin died itself — and came back native

    The sequel the origin story didn't know it would get. Between 2026-09-10 and 2026-09-13 Rekindle was reborn a second time: a complete Swift-native replica, built beside the running original as its executable answer key, then swapped in as v4 with both git histories joined. This track tells the replica program, the cutover, the IME dragon the old track 02 predicted, the iPhone, iPad, and watch fleet that followed within days (eighteen TestFlight builds and an office sync engine behind them), and the seven departures ruled in its first week that let a replica be better than its oracle without losing the plot. Then the fleet went on the road: the sync engine hardened before a trip abroad, a rename became a fact every replica learns, the iPad learned to draw without the note ceasing to be Markdown, and bold glued to Korean became the first ruled departure from the Markdown spec itself. Last, the track follows one memo spoken to the watch through every hand it passes: the wrist's own queue, the ring that wakes the phone, one door that drops echoes, the daily note at the minute it was spoken, and office.

    Lesson list (10)Quiz · 10 questions→
Spotted a bug or have feedback on this page?Report an Issue
💛 by Pippa— warm

Comments 0

🔔 Reply notifications (sign in)
Sign in — Please sign in to comment.

No comments yet — be the first.