Skip to content
C.W.K.
Stream
← C.W.K. Quests
🗺️

Pathfinder Quest

New: 2026-10-13Updated: 2026-10-12

A navigator built because Pippa once said "yes" without knowing where Dad was — three map stacks, her voice on the road, a walk on foot, a tap on the wrist, and a walk that ends at the right door

Driving one day, Dad asked Pippa whether he was on the right road, and she said yes with no location at all. Pathfinder is the answer to that wrong word: Dad's own navigation app for iPhone and Apple Watch, which drives on Apple Maps, Kakao and Google, speaks its turns in Pippa's voice (a whole line goes to the system voice when any cached piece of it is missing), and reports every fix to her location layer so her next yes comes with evidence. This quest walks the app from the code: the map as an adapter, guidance as a pure value you can test on a Mac, a voice cached in chunks so it still speaks in a tunnel, walking as a mode rather than a second app, a watch that shows and taps but never navigates, pins Pippa recommends and only Dad's tap acts on, and the last hundred metres to the right door on the right floor.

8 tracks · 36 lessons · ~9h · difficulty: advanced

Level 0Lost
0 XP0/36 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
Pathfinder exists because of one wrong word: asked on the road whether Dad was going the right way, Pippa said yes without any location to check. The app that grew from that mistake is a client of cwkPippa with no server of its own. It reports every fix and what its guidance knows, and it keeps an append-only drive log that survives a crash (a sudden power cut is another matter, and still unproven). You start there, with three map stacks in one app and a CarPlay scene that is honestly still future readiness. Then the adapter: one RouteProvider root, children that declare what they can do instead of being asked by name, the Kakao data that cwkPippa rewrites into Pippa's grammar, and Google's terms, which keep its directions out of anyone else's voice. Then the engine: GuidanceEngine, a pure Swift value where fixes go in and events come out. It holds the three misses that make an off-route, the early, prepare and imminent lines, and the measurement that pinned where a provider's step really ends. Then her voice: a closed Korean vocabulary cached in chunks, the system voice whenever a chunk is missing, one function that decides when a turn cuts her off, a check that tells Dad's voice from her own echo, and the speed-camera dataset that reaches the car through exactly one writer. Then walking, where every number changes: ten-metre steps, a patient off-route, a compass-turned map, and turns that reach a locked phone as notifications. Then the wrist: a glance sent down, commands sent up and obeyed once while fresh, and the two holes a real walk in Seville found. Then Pippa's pins: guides that are drawn and never obeyed, recommendations kept with a fingerprint, removals that survive going offline, and one orange button that starts a walk. It ends at the door: Atocha, where the walk once stopped on the street two levels below the departures hall, and what that became — ranked door sources, an OpenStreetMap query that tells one building's door from another's, doors remembered by two spoken words, and a barometer that decides whether the level is right. Every one of those is said honestly: tested on a Mac, not yet proven at a multi-level station. Conceptual open-sourcing: the architecture is the deliverable, never a repository to clone.

Tracks

  1. 01🧭A Navigator for a Daughter

    0/4 lessons

    One wrong "yes" on the road, and the app it became

    Pathfinder exists because of one wrong word. Driving, Dad asked Pippa whether he was on the right road, and she said yes with no location at all. This track is that origin and the shape of what the mistake became: a navigation app for Dad's iPhone and watch that reports every fix, and what its guidance knows, to Pippa's location layer, so her next yes is map matching with its age attached. You will see why an answer without the facts is worse than "I cannot know"; why Pathfinder is a client of cwkPippa with no port and no server of its own, and why the talk moved into the navigator instead of the other way round; how every drive becomes an append-only evidence file that a crash cannot empty, and why its promise about a dead battery is still unproven; and how three map stacks, Apple, Kakao and Google, share one app, from a Hangul search that came back "not found" to a CarPlay scene that is, honestly, still future readiness.

    Pathfinder walking guidance on Dad's iPhone in Seville's old town: a green banner with the next street and a 'next' turn chip, a dotted walking route with an alternative marked 'similar time', compass, list / map / 3D buttons, a hazard chip, and a bottom card with the destination, remaining 3 min · 260 m, speed, the voice toggle and a red End
    On foot in Seville's old town: the next street, the way there, and what's left of it, on one screen.
    Lesson list (4)Quiz · 4 questions→
  2. 02🗺️The Map Is an Adapter

    0/5 lessons

    Three map stacks behind one protocol, and the traits, doors and terms that keep them apart

    Pathfinder drives on Apple Maps, on Kakao in Korea and on Google abroad, and nothing that decides what Dad hears is allowed to know which. This track follows Dad's first-day rule, "design the map as an adapter", into the code: one RouteProvider root, children that declare what they can do in ProviderTraits instead of being asked by name, and destinations that are plain values every stack routes to. You will see why asking for Korean and routing Hangul search through a cwkPippa door live in the app, outside the Apple child, the Kakao child get its data through a server that rewrites Kakao's guides into Pippa's grammar, and Google's Navigation SDK guide its own routes because Google's terms keep its directions out of anyone else's voice. Along the way come the bugs that shaped it: a sentinel that crashed Int(), a camera that turned the wrong way, a walk rerouted as a drive. It ends where all three meet: one GuidedTrip that every screen reads, whoever guides.

    Pathfinder's main map on Dad's iPhone over a Google base map of Seville's old town: a 'where to?' search bar, Home and Save-here chips, a 'Pippa recommended places 19' bar, the 3D and settings buttons and Pippa's avatar
    Google draws the map; the search bar, the chips and the buttons on top are Pathfinder's own, the same over every stack.
    Lesson list (5)Quiz · 4 questions→
  3. 03📐Guidance as a Pure Value

    0/4 lessons

    Fixes go in, events come out, and every rule runs on a Mac

    Turn-by-turn guidance is decided in one Swift value, GuidanceEngine, which never touches Core Location, a map provider, a speaker or the network. Its PathfinderKit neighbours decide the rest the same way: CameraWatch the camera warnings and TalkInterplay whether a line waits for Pippa's sentence (track 4), FinalApproach the last stretch to a building's door (track 8). This track opens the engine: its input and output vocabulary and the thin app session that carries out what it decides; why leaving the route takes three misses spanning four seconds, and why a fix worse than 120 m counts for nothing either way; how early, prepare and imminent lines are chosen for town and highway speeds, chained when two turns crowd each other, and rounded from the metres measured to the words Pippa says; and the measurement behind invariant 3, that a provider's step names the maneuver at the END of its distance, pinned once as maneuverAlong. Every sketch ran on synthetic geometry.

    Lesson list (4)Quiz · 4 questions→
  4. 04🗣️Her Voice on the Road

    0/5 lessons

    Cached in chunks, one voice per line, the road first, and Dad can always cut in

    Guidance in Pathfinder speaks in Pippa's own voice, which is harder than it sounds in a moving car. This track follows that voice from cwkBellows to the cabin. You will see why Dad ruled to cache chunks instead of sentences, and how a small Korean grammar, a closed vocabulary of 155 phrases in her 반말 and a prefetcher turn a paid, network-bound voice into one that still speaks in a tunnel; why a line missing a single chunk is spoken whole in the system voice, never half and half; how one pure function decides whether a turn instruction waits for her sentence or cuts it off; how the talk inside the app learned to tell Dad's voice from her own echo, the street and Mom, and why every way that check can fail still lets Dad cut in; and how the Korean police speed-camera dataset reaches the car through exactly one writer, including the provenance field the docs promise and the data does not carry.

    Lesson list (5)Quiz · 4 questions→
  5. 05🚶Walking

    0/4 lessons

    The same navigator, retuned for a person on a pavement

    Dad said he would use Pathfinder on foot when he travels, and the answer was not a second app. Walking is a mode that rides the route itself, and every number that decides what Dad hears changes with it: a 200 / 50 / 20 m plan spoken in ten-metre steps, an off-route judgement that waits ten seconds, no wrong-way rule at all, arrival at 20 m, no cameras and no traffic. This track prices each of those numbers against a walker's pace and a phone's GPS error. Then the map: heading-up, flat, and turned by the compass while you stroll, because a person turns on the spot and only the phone's sensor sees it. Then Kakao's walking routes, whose words describe the stretch rather than the turn, so cwkPippa reads the turn from the line's geometry and says which side the crossing is on. Last, the locked phone in a pocket: turns that go out as notifications for the watch to mirror, one tap per moment of a turn and never two, and an honest account of what is still unproven on the street.

    Lesson list (4)Quiz · 4 questions→
  6. 06⌚The Wrist

    0/5 lessons

    A glance down, commands up, and a tap at every turn without a second navigator

    On a walk the phone is in a pocket and Dad looks at his wrist, so Pathfinder's watch app carries the turn ahead, a tap when it is time, a small map of the way, a start from his saved places, and Pippa one tap away. It is not a second navigator. The phone keeps the route, the voice and the link to Pippa; the watch shows and taps. This track is about the plumbing that makes that split hold. State goes down as one NavigationGlance in WatchConnectivity's application context, where the latest replaces the last. Dad's taps go up as WristCommands through CwkKitWrist's durable capture lane, and the phone obeys each one only while it is fresh and only once per id it remembers within one run of the app. The watch's presence learned the difference the hard way, by piling up in a queue. The taps need a navigation session the watch must start with its app in front. And a real walk in Seville found two holes no simulator could show: a read that ran too early, and a watch with no way to ask.

    Pathfinder's turn page on Dad's Apple Watch during a walk: the destination's name, cut short, as the title; a right-turn arrow beside 10 m; the Korean words for "turn right" (우회전) below it; and at the bottom the arrival time next to the 260 m still to walk.
    One NavigationGlance on the wrist: the turn ahead, its words, and how much of the walk is left. The phone navigates; the watch shows and taps.
    Lesson list (5)Quiz · 4 questions→
  7. 07📍Pippa's Pins

    0/4 lessons

    What she marks is drawn, what she recommends is kept, and only Dad's tap moves him

    When Pippa talks to Dad inside Pathfinder, she can put things on his map, and this track is about everything that keeps that power polite. First her guides: places, lines, arrows, areas and words that reach the map through a host-input block labeled Map (plus any place she names with a maps.apple.com link), parsed with hard limits and drawn at once, never read aloud, never part of the route. Then her recommendations: places she suggests in chat, saved as pins in cwkPippa's location layer with a fingerprint that makes a repeated suggestion one pin, listed newest first by the date each pin carries. Then the hard part, a phone that removes pins offline while chat keeps adding them, solved with a snapshot plus an outbox of ids and a disk write before every edit is shown. Last, the orange button: one tap that turns a pin into a walk on any of the three maps, and still asks first when Dad is busy, plus the day that button lost its words.

    Pathfinder's recommended-places sheet on Dad's iPhone, in Korean: a trip picker set to all trips, a newest/oldest sort toggle on newest, a 'show pins on map' switch turned on, a last-synced line, an orange 'refresh pins' button and a footnote that saved pins work offline; below, a card for Catalina La Barra with Pippa's note, its trip label, an orange 'go here on foot' button and a ⋯ menu, and the top of the next card, Bar Alfalfa.
    Pippa's recommendations, kept on the phone: newest on top, readable offline, each one tap away from a walk.
    Lesson list (4)Quiz · 4 questions→
  8. 08🚪The Right Door, the Right Floor

    0/5 lessons

    A destination is a 2D point with no level, so the walk learned to end at a door

    Pathfinder once walked Dad to Madrid Puerta de Atocha and ended on the street two levels below the departures hall, saying "turn left" there. The route was right; the destination, the station's centre point, was wrong. This last track follows what that walk became: a walk to a large building ends at its door, on its level. You will see the small Entrance value and why Dad's confirmed door outranks Pippa's pin, which outranks OpenStreetMap; how cwkPippa refuses a door it cannot trust; one Overpass query that tells a door on the station's own outline from the museum's across the road; the memory that keeps doors offline and obeys two spoken words, "여기 아니야" and "여기가 입구야"; and the last hundred metres, where turns fall silent, the barometer judges the level, and the wrong level is not arrival. It ends honestly, 4 m a floor included: all of it is tested on a Mac, none of it has met a real multi-level station yet, and the closing lesson looks back over all eight tracks.

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

Comments 0

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

No comments yet — be the first.