14/14

Departures

LIVE SINCE 2026-05 LATEST 2026-06-06 CATEGORY · PERSONAL INFRA
WHAT IT DOES§ 01

A self-owned replacement for TripIt — built after TripIt's API was closed to new accounts. Every flight, hotel, train and car booking lives as structured data I control, projected into three places: a calendar feed my phone subscribes to from anywhere, a native Home Assistant dashboard, and an installable "Departures" web app. 165 trips are archived back to 2012, and upcoming trips stay current on their own — forward nothing, enter nothing by hand.

HOW IT'S BUILT§ 02

The wiki is the single source of truth: each upcoming trip carries a machine-readable YAML block. A generator projects those into an authenticated iCal feed (absolute UTC instants, stable UIDs, validated against the same parser Home Assistant uses) and a slim JSON the HA integration polls. Nightly ingestion reads booking-confirmation emails over IMAP, extracts trip and segment data with a local Gemma model, updates the wiki, regenerates the feed, and sends a Telegram digest — no dependence on TripIt. A guard refuses to ever write an empty feed, so a dropped mount can't blank your calendar.

TECH STACK§ 03
  • Python
  • iCal / RFC 5545
  • PWA (service worker)
  • Home Assistant integration
  • Local LLM (Gemma)
  • IMAP ingestion
  • launchd
  • Cloudflare Tunnel
METRICS§ 04
165TRIPS ARCHIVED
2012EARLIEST TRIP
NIGHTLYEMAIL AUTO-INGEST
SELFOWNED DATA · NO TRIPIT