← All projects
Email, Calendar & Personal Opsexpert · ~210 min

"When Are You Free?" — An Availability Broker That Refuses to Answer Until Every Calendar Has Reported

Everyone builds the easy half of a scheduling assistant — read a calendar, find the gaps, offer three times. The half that decides whether you can trust it is the half nobody builds: what happens when one of your calendars is unreachable, or only publishes six weeks ahead, or holds an all-day event created in another time zone, or when the hour you are about to offer does not exist because the clocks moved. A system with two states, busy and free, quietly turns every one of those into "free" and offers your Saturday morning to a stranger. This project builds the three-state version instead — busy, free, and unknown — and makes unknown unofferable, so that the only times your name goes on are times every source actually confirmed.

🤝 Want this built for you? Start a request — our AI scopes it, estimates a price range, and matches you with a vetted AI Advisor.
Share this:
"When Are You Free?" — An Availability Broker That Refuses to Answer Until Every Calendar Has Reported
Unlock this walkthrough

Two ways to open it

Just this build
$10 one-time

Unlocks this full walkthrough on your account — no subscription, and no account needed until you check out.

Best value Over 150 projects + the full course
$99 / year

Over 150 project walkthroughs, the 6-week course, and your certificate.

🔒 Secure checkout by Stripe · Already a member? Sign in

What you'll do

A local availability broker you own end to end: three heterogeneous calendar sources behind one adapter contract that reports intervals, coverage horizon and health; a Google adapter authorized with the single narrowest scope that works, proven unable to read a single event title; an ICS adapter that expands recurrence, honours cancellations, overrides and free-marked events, and refuses to guess past the end of the feed; a local commitments file for the obligations no calendar holds; a three-state timeline engine where unknown time can never be offered, property-tested against invariants rather than examples; a versioned policy file that states your civil hours, buffers, notice period and daily caps as data in a named IANA zone; a slot proposer that scores and diversifies candidates and writes a Gmail draft it can never send; reversible tentative holds tagged with a private property, placeable and releasable in one command; an append-only decision ledger and an explain command that reconstructs months later why a slot was offered or refused; a nightly retro-conflict check that tells you whether yesterday's offers would have double-booked you; and three drills you have actually run — a dead source that produces a refusal instead of a guess, a daylight-saving hour that does not exist, and a foreign all-day event that must not swallow an extra day.