King Aguirre

Render settings

Look
Motion

W05 Products · Fitness and nutrition

Kai

A voice-first gym and calorie coach: say the set or snap the plate, and it is logged.
Visit the live build
Status
Beta
Source of status
VibeBox launch board, 2026-10-15
Commits
48 (2026-10-11 to 2026-10-16)

S01 Snapshots

Kai, as it ships.

Real captures of the build: the desktop view, the phone, and the whole page.
Kai on a desktop browser
Kai on a phone
The whole page. Scroll inside the frame.
Kai, the full page

C01 What it is

The build, in passes.

You talk to Kai ("bench 80 for 8, felt heavy", "adobo with two cups of rice") or photograph a plate, and Kai logs it. Calories burned come from the watch through Health Connect. The mobile app is Expo and React Native, Android first; the marketing site is Next.js and shares the app's visual pieces.

  • Voice loop: speech to text, a fast on-device path for set grammar, AI for the rest, then speech back
  • kai-agent edge function: utterance to OpenAI tool calls to the database to a spoken reply, with undo
  • kai-meal: plate photo to a vision model with structured output to a logged meal
  • Live talk relay that holds the provider key server side, with quotas and transcripts
  • Unit tests plus AI evals for voice intents and meal photos

C02 How it is built

Wired from the real dependencies.

Every node is a package the repository actually depends on. Hover one to light its neighbours.
  • Expo
  • React Native
  • Next.js
  • TypeScript
  • Supabase
  • TanStack Query
  • Three.js
  • Lenis

C03 AI in it

The signal chain.

Turns a spoken set or a plate photo into a logged entry, with a spoken reply.
  1. 01Voice
  2. 02Speech to text
  3. 03Set grammar or model
  4. 04Tool calls
  5. 05Database
  6. 06Spoken reply

C04 Evidence

What the repository says.

Committed under my name and my VibeBox studio accounts. The frame above is drawn in code from this page’s own data; it is an illustration, not a screenshot.

kai.vibeboxph.com

First commit 2026-10-11, latest 2026-10-16, 48 commits in all. Read from git, 2026-10-16.