Cyath — a circadian coach that looks like a game and reasons like a lab notebook
Live right now: cyath.space — the guest demo opens with no account, no email, no card.
Most habit apps record what you did and then scold you for it. Cyath asks a different question: which of your daily behaviours actually move your energy? It logs whole-food fuel and circadian anchors in about 30 seconds, then runs a correlation engine over what you logged to show which habits line up with your good days — and it deliberately scales your targets down on the days you are depleted, instead of punishing you for them.
90 seconds, no signup
- Open cyath.space → Begin Calibration → Explore Demo Without Account.
- Scroll to Food & Focus Patterns and drag any dot in the scatter plot. The Pearson r recomputes in front of you — we measured +1.00 → +0.87 while dragging a single point. Move the protein slider and the predicted focus score moves with it (9.4 → 9.2).
- From the dashboard, press ⌘J / Ctrl+J to open the AI Coach, and try Playbook for the protocol library.
That second step is the whole project: a statistic you can put your hands on.
The problem we picked
Social jetlag — the permanent gap between your body clock and your school or work clock — is the cheapest chronic stressor a student owns and the least measured. Clinicians usually catch metabolic drift years late, at the fasting blood panel, by which point subclinical insulin resistance is already established. The intervention that works earlier isn't a gadget; it's behavioural timing — light in the morning, protein spread through the day, caffeine before a cutoff, a stable wake time.
The problem is that nobody can tell you which of those is doing the work for your body. That is a statistics problem wearing a lifestyle costume — which is exactly the kind of problem a small, well-built app can actually solve.
What it does — mapped to the three UnivaBio pillars
1 · Detect earlier: a correlation engine, not a score. Cyath computes a Pearson correlation over your own logged days and renders it as a scatter plot you can physically drag. Points are real inputs — protein per day, morning-light latency, wake consistency — and the regression line refits as you move them. A protein simulator projects your focus score at a target intake, so you can see the marginal value of another 30 g before you eat it.
2 · Understand it better: the island is the biofeedback. Instead of a wall of red warnings, your circadian consistency drives a 16-bit isometric island — daylight, weather, and biome tier. 25 unlockable badges mark real milestones. The 7-day dossier export renders a PDF of sleep consistency, light latency and macronutrient adherence against published chronobiology protocols.
3 · Live with it more easily: pacing that survives a bad week. The Kintsugi streak does not break — it repairs in gold. When the allostatic-load signal rises, the engine downgrades your targets to a restorative baseline instead of zeroing a counter. This is the feature that decides whether a health app is still installed in week three.
What is actually built — and what isn't
- ✅ Shipped and live: guest demo, dashboard, protocol playbook, nutrition planner, onboarding, AI Coach, pixel island, 25 badges, XP and levels.
- ✅ Shipped, and you can test it yourself: the draggable scatter and the live Pearson r — that is a running model, not a mockup.
- ✅ Shipped: structure-constrained Gemini meal parsing with an instant client-side fallback, so the UI never blocks on the model.
- ✅ Implemented, not exposed to guests: the 7-day PDF dossier (it needs an account, so it is not in the demo).
- 🔜 Designed, not built: CGM / Apple Health / Oura sync. Clinician portal. Both are roadmap, no code yet.
- ❌ Not claimed: Cyath is a behaviour tool. It is not a medical device, it does not diagnose anything, and it makes no clinical claims about any individual.
Honest limitations
- The demo runs on a seeded dataset so the engine is explorable without an account — which is why the default r looks like a suspicious +1.00. Drag one point and it stops looking perfect.
- The nutrition model is heuristic. It estimates macro distribution and timing windows; it does not estimate blood glucose.
- We have no users yet. This is a working product, not a validated one.
How we built it
Next.js 15 App Router, React 19, TypeScript, Tailwind. Zustand with persisted slices for state that survives a refresh. Supabase Postgres with row-level security. Gemini for schema-constrained meal parsing, with a deterministic client-side fallback so nothing ever blocks on the network. HTML5 Canvas for the pixel-art island and the 9:16 story exports. 105 automated tests across 16 files cover the correlation maths, the biomarker helpers and the pacing logic.
What we learned
Peripheral clocks in the liver and gut respond mainly to food timing, not light — so meal scheduling isn't a secondary feature, it's half the product. And the thing that brought our testers back wasn't the analytics. It was watching the island react.
Built With
- canvasapi
- css
- gemini
- html5
- next.js
- postgresql
- react
- supabase
- tailwind
- typescript
- vitest
- zustand
Log in or sign up for Devpost to join the conversation.