← All posts

September 15, 2026

Two-Week Check-in #10: Falling into place (GET IT?! CUZ SUMMER IS OVER)

Hello hello hellooo,

We're mid September now. No more sunlight past 8, no more 30 degree weather. Fall is here... and I heard this is the best running season. Back is ALMOST back, so let's see how much I can progress on my runs in these last few months of outdoor weather.

Okay, onto what we've been building šŸ‘‡

We're ordering the alpha batch šŸ“¦

Last check-in I said the next time I wrote, we'd be putting in the order. Called it.

148 boards going into production this week. About four weeks to land. Then they're yours.

Pepe the Frog looking nervously off to the side

Are we confident about the product? LMAO ĀÆ\_(惄)_/ĀÆ.

But I am very proud of it. Hopefully in a month, they can show off a new category of running product and shine a light on how your shoes are changing your runs (with a few bugs... but we'll be fixing them fast!)

Firmware rewrite šŸ”§

We were prepping for York and comparing our two accelerometers side by side. We went looking for a difference between two chips. We found something critical in our own code.

Our sensor takes 100 readings every second. Our "CPU" was only catching about 62 of them.

Easiest way to explain it is a phone call. You're the listener (our CPU), and every call is one sensor reading. If you're listening to a call live and a second call comes in, it can't go through and gets lost. So in our old setup, the CPU could only take about 60 calls while 100 were coming in. No voicemail. No missed-call alert. Gone.

→ This is called direct polling. Easy to build, fast to read, but the CPU has to keep up with the sensor every single time.

Our rewrite uses FIFO. FIFO stands for first in, first out. In phone terms, it's voicemail. Every call gets recorded and saved in the order it came in. When the brain is free, it plays back all the messages, oldest first. It might listen a little after the call came in, but it hears every single one.

Here's the part that surprised us. Our firmware now wakes up less often and gets more data. It no longer has to pick up the instant the phone rings. It just has to check its voicemail before the inbox fills up.

→ Not only is our gait data better now (cadence especially), our steps are more accurate too.

Diagram comparing old and new firmware. Old: calls taken live one at a time, so a second call arriving while busy is missed, 4 of every 10 calls lost. New, FIFO: every call goes to voicemail and is played back in order, nothing missed.

App šŸ“±

Most of the app you touch every day got rebuilt. A lot of it came straight from your bug reports, so thank you šŸ™

→ Import your Strava shoes. You could already connect Strava. Now you can pull all your Strava shoes straight into mylz, mileage included. We keep that old mileage separate from what mylz actually tracked, so the two never get blended.

→ Setup is way shorter. Onboarding went from 11 screens to 7. Point your camera at a shoe and we'll figure out what it is.

→ New layout. Home, Sneakers, Activities. Retired shoes get tucked away instead of dumping the whole graveyard on you 🪦

The new mylz Home screen for a runner and a walker side by side: today's distance or steps, a gait insight from the latest session, cadence, stride and asymmetry, and the weekly shoe rotation, with Home, Sneakers and Activities tabs along the bottom

Stay active, stay healthy, keep logging mylz.

Brian āœŒļø