Ryan Yannelli

2026-08-275 minpersonal

You can see my body stats while I sleep

The homepage plots my live glucose, a new reading every five minutes, including while I sleep. This is how I put that chart on the site.

Type 1 DiabetesOpen SourceAI


150mg/dL

sampled12:42pm ET

in range
84%
below 70
7%
above 180
9%
average
124 mg/dL
mg/dL18070250overnight

Glucose 150 milligrams per decilitre, sampled at 12:42pm Eastern. Over the last 24 hours, 84 percent of readings were inside the target range of 70 to 180, and the average was 124.

24 h12:46pm to 12:46pm ET282 readings

My glucose, from my own Nightscout. The plot is baked into this page at build, then refreshed every five minutes from /api/glucose while the page is open. Shaded hours are overnight.

You can see my body stats while I sleep. It is the first thing on the homepage: a live chart of my glucose, sitting behind the sentence about what I build, still updating at 3am when I am not performing for anyone.

I thought it would be cool and unique. That is the honest reason. I have spent a long time in healthcare, where the default is to treat personal information like a biohazard. Secretive. Protective. Fine when it is someone else’s chart. This is my PHI, why not share it?

I wanted the site to read as somebody who actually lives in this body. If we are being accurate, I meet the definition of a cyborg: a sensor on my arm, a pump, an open-source loop dosing insulin every few minutes. The homepage just makes that visible, live body stats, including while I sleep.

My A1c teeters around 4.9% to 5.0%, and that number does not tell you what the lows feel like. I have not really shared how I got there. This chart is the gateway to that, at least the technology side of what I am doing and building. Fair warning if you stare at it long enough. A normal lunch is a bump. A meal I forgot to bolus is a real spike (oops, whoopsie doodle). Sometimes I sleep on the sensor and you get a compression low, and sometimes the line cliffs to 250 in minutes, out of nowhere. That last one is the sensor falling apart, not my afternoon.

Illustrative strip showing a compression low, a normal lunch bump, a missed-bolus meal spike, and a sudden 250 sensor cliff.

Illustrative, not a real day. The live plot is on the homepage. Learn the shapes before you worry about my pancreas.

The number was already there

Dexcom and DIY Loop have been writing a point every five minutes for years; I already had the history. I needed the public page to stay honest, and I needed the endpoints my providers actually look at to stay off the public internet.

It has to be accurate; if the feed is old, the page has to say so. Stale data can stay on screen, it cannot dress up as live.

The public site does not talk to Nightscout. A Cloudflare Worker sits in front, caches the last stretch, and serves /api/glucose from this domain. The browser only ever hits my site, so the endpoints my clinicians use do not get hammered because someone left the homepage open overnight.

Data path: Dexcom every five minutes into Nightscout and Loop, which providers use, then a Cloudflare Worker cache, then the homepage strip and the about-page clock.

Same five-minute feed. The Worker caches a public slice so Nightscout, the instance my providers use, does not take that traffic.

I did not hesitate. The models did.

I did not flinch about publishing this, not even a little; the AI agents doing the work almost refused. I was putting my own glucose on a page I own. They turned a manageable build into a fight over whether I was allowed to.

Claude, at least with Opus 5, was a pain in the ass for this. The fucking verbosity. Overcomplicated phrases. Mind-bending detours. Four to six hours going over the top on everything. Then the healthcare wall: “that’s a bit I can’t do,” “that’s a line I can’t cross,” even with me sitting there saying this is my data and I am authorizing it. I have liked Anthropic’s work for years. These newer models made the job harder. That was the tipping point. I cancelled the subscription and moved to Cursor Ultra, work and home.

Codex and Grok, in Cursor, were a different animal. Got it boss, working on it now. Then they showed me screenshots and a recording.

The models always want to do more, extra chrome, another widget, a little glow so it feels “alive.” I ranted on speech-to-text for a good minute and it finally gave me an instrument instead of a health-app hero. STT is a superpower engineers should use more. It is your undumped brain, dumped.

This is the prompt I keep using through Paseo:

Dispatch 3 finely scoped agents to design mock-ups of the idea. Single artifact, HTML/CSS/JS only. Show me, then I will pick what I like about each and put them together. Use Playwright for screenshots.

Shoutout to Paseo. Desk or phone, then I pick what stays. That is also how the diagrams in this post got made. Show me the object.

Same day, two drawings

The clock on About came later. Same feed, different drawing. I put it there because that page is about me, and a 24-hour loop of my body sitting under the intro felt like the most literal version of that.

Same 24 hours of glucose drawn two ways: a left-to-right strip for the homepage, and a 24-hour clock for the about page.

Homepage is then-to-now. About is a day on a clock. Same Nightscout samples.

I just build things now

I build things that make me happy. If I can say the idea clearly, I do not wait around for a free week; I can ship the concept, or even the whole piece of software, in minutes and hours instead of days.

I will write about the full protocol behind a 4.9 separately; the chart is already on, go look.