Hetk syncs your calendars across Google, Outlook, and iCloud. April was features. May was paying for them.
I'll be honest, I shipped almost nothing this month that a user would notice. I spent it down in the sync engine, and it was probably the most important month since I started.
The incident that set the tone
Early in May, Microsoft Graph started returning 410s, which is its way of saying, "your sync state is stale, start over." Our handling turned that into a storm. The message backlog grew unbounded, climbing into the hundreds of thousands. The fix that was supposed to prevent this had looked fine in tests a few weeks earlier. It just didn't hold in production.
That pushed me to ask something I'd been avoiding: if a sync ever loops, what actually stops it? Nothing did. So I built a Loop Breaker. When it spots a relationship bouncing the same events back and forth, it pauses that one relationship instead of letting the whole queue melt. I ran it in observe-only mode for a few days, then armed it once I trusted its flagging.
iCloud was the hard child
Apple and CalDAV ate a big chunk of the month. There are no real webhooks, no quota headers, the throttling is undocumented, and the API breaks in ways Google and Microsoft don't. I added backoff for 429s and 503s, fixed recurring iCloud events that only synced their first instance, prevented privacy settings from being quietly dropped on CalDAV targets, and chased down a batch-write failure that only showed up at scale against real iCloud. Still not done, but a lot steadier than it was on the 1st.
Testing got serious
I built a cross-provider sync matrix that runs every source-to-target combination as a single suite, and it immediately revealed bugs I'd never have found by hand. To prevent iCloud testing from relying on flaky real accounts, I set up a local CalDAV server for the E2E suite. The whole thing runs in CI now and blocks a push if it goes red.
What's next
June goes back to features, starting with the one people keep emailing me about: filtering. Right now Hetk syncs everything in a calendar, all or nothing. Soon you'll be able to pick what crosses over. Sync only the events that match a rule, leave the rest behind, and rewrite titles per direction so a work meeting can show up on your personal calendar as "Busy" without dragging the details along. That's the bit I'm most excited about. It's a lot easier to build now that I trust the floor underneath it.