A biology & psychology-backed college coursework planner. It takes your canvas deadlines, class schedule, and physiological data to build a optimized for your wellness and workflow.

Inspiration

Most people think the canvas calendar is enough to stay productive, yet this is often not the case. The lack of a concrete schedule to follow leads to students mismanaging their time and wondering why they're constantly stressed out over approaching deadlines. Our project aims to fix this: It aligns your workload to your most active hours, blocks distractions, and leaves time for breathers while still retaining the flexibility of a loose schedule.

What it does

  • Easily generate shedules: Import canvas calendars and class schedules and adjust them to your sleep shedule through an optional browser extension
  • Remain flexible: Adjust your shedule to account for unforseen circumstances
  • Stay focused: Block distractions
  • Touch grass: Suggests trails and parks to visit when you need some fresh air

How we built it

One rule shaped the build: the model reads, deterministic code decides. LLMs parse messy inputs into fixed schemas ({t, d, at, m}), while code enforces hard invariants—rejecting sleep/deadline collisions, over 4h of daily deep work, or stretches over 90m without a 30m break—before placing remaining tasks at peak alertness.

We model hourly alertness via the Three-Process Model (Åkerstedt & Folkard), using weekend mid-sleep for chronotype phase \(\varphi\):

$$A(t) = \underbrace{S_{\min} + (S_{\text{rested}} - S_{\min}) e^{-0.035 t}}_{\text{homeostatic}} + \underbrace{2.5\cos\Bigl(\tfrac{2\pi}{24}(h-\varphi)\Bigr)}_{\text{circadian}} - \underbrace{5.7 e^{-1.5 t}}_{\text{sleep inertia}}$$

  • Models: Claude Sonnet 5.5 handles ingestion, vision parsing, and triage; Haiku 5.5 classifies URLs on page load; Qwen3.8 27B (OpenRouter) replans a week in 1–5s.
  • Stack: Next.js 16, Bun, Supabase (RLS), Temporal, suncalc, Overpass API, and FOSSGIS foot-routing, tested via Vitest and Playwright.

Challenges we ran into

  • LLM Temporal Drift: Models broke calendar rules and packed exhausting marathons. Offloading date math and pacing (max 90m work / 30m break) to code fixed both.
  • Latency & Flaky GIS: Moving weekly replanning from Sonnet (40s) to Qwen3.8 27B cut latency to 1–5s. We also raced four Overpass mirrors in parallel to beat 40s timeouts and switched to static maps with FOSSGIS foot-routing.

Accomplishments that we're proud of

On our Playwright test student, deep work averaged 97/100 alertness (vs. 82 for light work), 24/27 consecutive sessions switched courses, zero blocks exceeded 90m, and 78 assignments parsed in ~9s.

What we learned

Letting models judge semantics while code handles clocks made scheduling fast, truthful, and cheap.

Built With

Share this project:

Updates

Submission history