ethan.roberts

 

 

 

 

 

 

I build the software
I want to live with.

By day I build partnerships at CET Sandbox, teaming American defense contractors with Israeli defense-tech startups. Somewhere in that chapter I realized what I actually want to work on is health tech, so I started building it myself: systems that run my own training, sleep, and fueling — on my wrist, my phone, and a server that texts me before I wake up. I’m relocating to Boston in November 2026 to do this for real. Everything below is real, running, and mine.

49 bpm resting

Real numbers, synced 2026-09-07 from my watch. Daily aggregates only — the rest stays between me and it.

selected work — real, running, and mine

LOG/01 · runs on my wrist

AI Workout DJ

session replay · representative data

00:00
the hillheart ratedrop 03:12

30-second replay of a real-shaped run, set to real music. Sound on — the drop is the point.

onTimerStart → t=0 backdated

HR 162 → drop scheduled 03:12

deck B cued ▸ armed

music via Mixkit (mixkit.co) · Mixkit License

Music apps react. This one anticipates: a deterministic choreography engine reads live heart rate, GPS, and the structure of a planned workout, and lands the drop where the hill or interval starts.

A Garmin Connect IQ field streams the run off the watch in real time; a TypeScript conductor is the source of truth, ported line-for-line to Swift for iOS with a parity suite replaying real sessions. Engine changes ship with a verdict from a critic that renders and judges actual audio — not vibes.

TypeScript · Swift · Monkey C (Garmin) · audio DSP · Vercel

source ↗

LOG/02 · texts me first

Health Coach

morning briefing · representative data

06:05

The coach that texts first. Press play to replay one morning.

06:05 coach ▸ sleep 7.5h (91)

06:05 coach ▸ leg day · feels-like 27°

06:05 coach ▸ eat by 06:45

Every morning at 6:05 an agent reads my night — real sleep stages, resting HR, training load from my watch — checks my training plan and the Tel Aviv weather, and texts me exactly what to eat and when. I never open a dashboard.

Garmin data flows into a local SQLite system of record; an always-on agent on my own server writes the briefings and answers ad-hoc questions grounded in the actual numbers. Meal logs sync between machines through git. Built in a weekend, coaching me daily since — and the ingest layer is wearable-agnostic: it speaks both Garmin and the WHOOP v2 API.

Python · SQLite · LLM agent · Telegram · Garmin + WHOOP v2 API

source ↗

LOG/03 · built to understand

LLM from scratch

training replay · representative log

step 4800
loss10.316.874.103.022.41

Press play to watch a GPT learn to read — from random noise to sentences.

sample ▸

deep sleep lowers resting heart rate and helps the body recover.

A GPT built from first principles — tokenizer, attention, training loop, all of it — trained on a corpus of health facts, then supervised-fine-tuned into a small chat model. No frameworks doing the thinking.

Written as an explain-it-simply series: every mechanism gets a working implementation and a plain-language account of why it exists. The point wasn’t the model; it was earning the right to reason about the tools I use every day.

Python · PyTorch · tokenization → attention → SFT

source ↗

currently

Partnerships at CET Sandbox.

Teaming American defense contractors with Israeli defense-tech startups — and writing the weekly newsletter that maps the landscape — from Tel Aviv, where the proving ground is the neighborhood. Next: Boston, November 2026, building health tech full time.