Back to projects

Map

2023archived

AI calendar assistant that uses biometric data to schedule work around your actual energy levels.

// GitHub

View Repository
235 commits
Last commit 10 months ago
TypeScript

// Problem

Calendars ignore physiology. You end up doing deep work when exhausted and taking meetings during peak hours. Sleep quality, recovery, and circadian rhythms affect cognitive capacity, but no tool accounts for this.

// Solution

Sync WHOOP and Apple Health data with Google Calendar. An AI assistant uses tool-calling to query your schedule and biometrics, then suggests optimal time blocks based on recovery scores.

// What I Built

A Turborepo monorepo with four apps: Next.js dashboard, Express API for Google Calendar sync, Supabase Edge Functions for background jobs, and a marketing site. The dashboard unified calendar, tasks, goals, and notes with an AI chat assistant that could query and manipulate everything. Included two-way Google Calendar sync with incremental updates and a task system with projects and dependencies.

// Technologies

Next.js 14 + React Server Components

RSC for streaming AI responses and real-time tool execution results.

Supabase

PostgreSQL with RLS, Edge Functions for background jobs, and real-time subscriptions.

Vercel AI SDK + OpenAI

Tool-based AI architecture for querying calendar data, tasks, and generating insights.

Google Calendar API

Two-way sync with incremental updates via sync tokens and webhook support.

Turborepo

Monorepo orchestrating dashboard, API, Edge Functions, and shared packages.

// Lessons Learned

  • 01Consumer health apps have brutal onboarding friction. Every permission step causes drop-off.
  • 02Multi-agent workflows in 2023 were painful. More time debugging agent behavior than building features.
  • 03Deep RAG work (chunking, embeddings, pgvector) became less relevant as context windows expanded.
  • 04Should have used a calendar library. Building date/timezone handling from scratch wasted weeks.
  • 05Tool-calling, streaming UIs, and job orchestration patterns transferred directly to later projects.