Back to blog
EngineeringDate unavailable· min read

Why Your Calendar Events Were Forgetting When You'd Arrive

A small but critical fix ensures Sabine's calendar integration now persists arrival and transit timing data, closing a gap in contextual awareness.

We shipped a fix today that solves one of those bugs that makes you wonder how it slipped through in the first place. When Sabine ingests calendar events, it's supposed to store everything—title, location, timing metadata, the works. Except it wasn't storing arrival_time and bus_time. Those fields were just... disappearing into the void.

The Problem

Calendar event upserts in Sabine weren't persisting arrival_time or bus_time to Supabase. These fields capture important context—when you need to leave, when you need to be in transit—but they were only living in memory during the ingestion process. The moment that process completed, poof. Gone.

This meant Sabine couldn't reliably reason about your day. She might know you have a 2pm meeting, but she didn't know you needed to leave at 1:30pm to get there. That's the kind of gap that turns a smart assistant into a forgetful one.

The Fix

The solution was straightforward: add arrival_time and bus_time to the upsert payload in the calendar ingestion pipeline. Commit 5f123a4 updates the Supabase insert/update logic to explicitly include these fields alongside the rest of the event metadata.

It's a small change—maybe five lines of code—but it closes a meaningful gap in Sabine's contextual awareness. Now when she ingests your calendar, she's not just storing appointments. She's storing the shape of your day.

What's Next

This fix sets the stage for smarter scheduling intelligence. With reliable access to arrival and transit times, Sabine can start proactively suggesting when to wrap up work before a meeting, or flagging conflicts when back-to-back events don't leave enough travel time.

We're also looking at how this data integrates with Sabine's notification system. Knowing when you need to leave is useful. Being reminded 10 minutes before you need to leave? That's where the value really clicks.