C.W.K.
Stream
← C.W.K. Quests
🎞️

Ashen Reel Quest

New: 2026-07-24Updated: 2026-07-24

How to build a native player that replaces the 45% you use, proves it on real media, and refuses the rest on purpose

Ashen Reel is Dad's native macOS video player and cwkRecall's playback companion. This quest opens its hood — bounded scope, a reused engine, an identity-only handoff, and state you can actually trust — and turns each into a discipline you can carry into any tool you build.

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

Level 0Reel Novice
0 XP0/39 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
A native-macOS field trip through one small, deliberate app. Ashen Reel replaces the bounded slice of Movist Dad uses every day, embeds libmpv instead of rebuilding a decoder, opens a Recall memory at the exact spoken second through a handoff that carries an identity and never a path, and refuses to call a command 'done' until the engine says so. Eight tracks, thirty-nine lessons, real Swift / C-interop / codesign shell. The point isn't to make you a macOS engineer overnight — it's to show you how restraint, reuse, and observed truth combine into a tool that lasts, using the one player that finally retired Movist as the worked example.

Tracks

  1. 01🎯The Bounded Replacement

    0/5 lessons

    Why you build a player at all — and how you stop it becoming a media suite

    Movist already plays everything. So why write a new player? Because Dad didn't need everything — he needed the exact slice he touches every day, joined to Recall's memory, proven on his own media. This track is about the hardest discipline in tool-building: deciding what NOT to build, writing the boundary down, and holding the line when the temptation to add 'just one more feature' shows up.

    Lesson list (5)Quiz · 4 questions
  2. 02⚙️Reuse the Engine

    0/5 lessons

    Playback is the product, so you don't rebuild a decoder — you embed one and own the seam

    Movist gets its format breadth from FFmpeg — decades of codec work no weekend can reproduce. Ashen Reel doesn't try. It embeds libmpv, the same engine family, and spends its own effort on the thin layer that actually matters: the boundary between a battle-tested C engine and a native Swift app. This track is reuse done right — take the depth, own the seam, and never let the borrowed engine make your product's decisions for you.

    Lesson list (5)Quiz · 4 questions
  3. 03🔑The Handoff Is Identity-Only

    0/5 lessons

    A URL that carries a capability, never a path — and why both sides still check

    The whole reason Ashen Reel exists is a deep link: Recall says 'open this video at this second,' and the app obeys. That link is the most security-sensitive surface in the product, because a link is something a web page can build. This track is about designing a handoff that is powerful enough to be the point of the app and narrow enough that it can't be turned into a weapon — an identity, never a path, checked on both sides.

    Lesson list (5)Quiz · 4 questions
  4. 04👁️Observed, Not Assumed

    0/5 lessons

    A command sent is not a state changed — the engine's report is the only truth

    The deepest bug in interactive software is the UI that lies: the button says paused while the video plays, the scrubber sits at 41:00 while the picture is at 40:58. It comes from one habit — treating a command you sent as a fact that happened. This track builds the opposite habit into a player: nothing is true until the engine says it is, a seek isn't done until an observed position proves it, and every control on screen is a mirror of reality rather than a memory of intent.

    Lesson list (5)Quiz · 4 questions
  5. 05🔒Source Is Sacred

    0/5 lessons

    Read-only playback, four owners, and state you can throw away without losing anything that matters

    A player touches irreplaceable things: a family's only copy of a 2015 birthday, sitting on a NAS. The one promise Ashen Reel can never break is that opening a video leaves the video exactly as it found it. This track is about ownership discipline — knowing which system owns which truth, keeping playback strictly read-only, and designing local state so disposable that losing all of it costs nothing an archive would miss.

    Lesson list (5)Quiz · 4 questions
  6. 06📦Ship the Whole Thing

    0/5 lessons

    swift build isn't deployment; a signed, self-contained bundle that runs on a Mac you've never seen

    There's a canyon between 'it runs on my machine' and 'it's installed and working on the target.' For a native app that embeds a big C library, that canyon is full of dylibs, signatures, and paths that quietly point at your development setup. This track crosses it: bundle and sign the entire dependency closure, make a deliberate and defended choice about the sandbox, and build a doctor that proves the installed artifact is real — because a green build is a promise, and only the doctor is proof.

    Lesson list (5)Quiz · 4 questions
  7. 07🤝The Sidekick Without a Brain

    0/5 lessons

    How a player gets a Pippa without becoming a Pippa

    Ashen Reel has a Pippa Sidekick — a pane where you can ask about the moment you're watching. The temptation, the instant you add an AI pane, is to give it 'just a little' local intelligence: a cached model, a private conversation store, a small brain of its own. This track is about refusing that temptation completely. The player projects, binds, and asks; it never decides. Every conversation is a canonical cwkPippa conversation, context travels with each turn, and the app that plays video stays an app that plays video.

    Lesson list (5)Quiz · 4 questions
  8. 08🎬The Making Of

    0/4 lessons

    How the player was actually built — and the discipline you can take anywhere

    The last track steps back from the code to the craft. Ashen Reel wasn't built by starting to type; it was built by deciding what could never change before the first brick, proving parity on real media before claiming it, and defining 'done' as an installed artifact on a real machine rather than a green build. This is the making-of — the small set of habits that turned a bounded idea into the player that finally retired Movist, and that you can carry into anything you build next.

    Lesson list (4)Quiz · 3 questions
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.