Zach Zayac

Projects / WITAN

Location & Vision

Live · propose-only

Addresses become places with drive-time and leave-by math; a photographed schedule is read and grounded onto the calendar.

Updated

What problem it solves

A calendar entry that says “2:00 — dentist” is missing the part that actually governs the morning: where it is, how long it takes to get there, and therefore when I really have to stop what I’m doing and leave. Humans hold that math in their heads and get it wrong under load. And plenty of the information that should drive a schedule doesn’t arrive as text at all — it’s a photo of a course agenda, a printed itinerary, a whiteboard. This segment gives the system a sense of place and a sense of sight, so both feed the same scheduling brain as everything else.

The thesis

Location and vision aren’t features bolted onto a calendar — they’re more sources for the one intake, and more inputs to the conflict-and-cascade engine. If an address becomes a first-class object with real geospatial math behind it, then “leave by” and “wake by” stop being things I compute and become things the system derives and defends. If a photo can be read into structured events, then paper and whiteboards become capture surfaces, not dead ends. Both stay strictly propose-only: the system drafts, I approve.

Key features

  • Addresses become places. An event’s real address is promoted to a linked Place object and geocoded to a map pin through a swappable geocoding seam (an open-map provider today, replaceable without touching callers) — with a backfill pass over existing events so the capability reaches the history, not just new entries.
  • Drive-time with an honest floor. Distance between two places is computed with a haversine lower bound behind a routing seam, so the system never under-estimates travel — a conservative floor is the safe direction for a leave-by time. The routing provider can be upgraded later without moving the math around it.
  • A reverse leave-by / wake-by / prep cascade. From the appointment backward: given when I must arrive and how long travel takes, the system derives when to leave, and from there when to wake or start prep — and proposes those blocks. It’s the cascade engine run in reverse, from a fixed endpoint outward, and it stays propose-only.
  • Vision grounding. A photographed schedule is read by OCR, its structure extracted (not just its text — which sessions, on which days, in which timezone), and each item grounded onto the matching event. A “for-awareness” photo of a venue can attach its address to the right appointment. When a course’s day-blocks would displace existing work, the system proposes a capacity-aware re-slot rather than silently double-booking.
The reverse leave-by cascade From a fixed appointment, the system works backward — subtracting travel time from geocoded places, prep, and buffer — to derive and propose a leave-by, wake-by, and prep block. COMPOSE, DON'T GUESS — NO SINGLE MODEL "JUST KNOWS" WHEN TO WAKE YOU Appointment fixed arrival · a real place − drive Leave by derived, not typed − prep Wake / prep by in the venue's timezone Proposed blocks — I approve a geocoder + a distance floor + a timezone anchor + the cascade engine — composed backward from a fixed point the safe error is the only error: a conservative floor means "leave early," never "arrive late"
The leave-by cascade runs the consequence engine in reverse — from a fixed arrival, backward through composable, inspectable steps to a proposed wake time.

Highlights

  • The leave-by cascade is a small proof of the whole Witan thesis in miniature: no single large model “just knows” when to wake me up: a geocoder, a distance floor, a timezone anchor, and the cascade engine compose into an answer, and every step of that answer is inspectable.
  • Grounding a photo onto the calendar — reading structure out of an image and attaching it to the right existing events — is the clearest example yet of the “one normalized intake, many adapters” principle: a camera is just another way in.
  • Conservative-by-construction: the haversine floor means the failure direction is “leave a little early,” never “arrive late.” The math is chosen so the safe error is the only error.

What’s next

Wiring a live routing provider behind the seam for real-traffic drive-times, richer venue understanding from photos, and letting the leave-by blocks defend themselves through the same firmness rules the rest of the calendar uses.

Development log

July 16, 2026

Page created. This week the location and vision capabilities went from nothing to a working propose-only spine: addresses → geocoded places (swappable seam + backfill), drive-time with a haversine floor behind a routing seam, the reverse leave-by/wake-by/prep cascade, and photo-OCR schedule-structure extraction grounded onto events — including a capacity-aware re-slot when a photographed course would displace existing work.