BeStreak developer diary feature image 20260829

BeStreak: Developer Diary | What I’d Tell Myself Before Starting (Lessons Learned)

Views: 9

A look back at the whole build, from the first gym log in March 2026 to the Google Play launch on August 28, 2026.


BeStreak app icon
Get BeStreak on Google Play

From a notepad to Google Play

BeStreak started in March as a gym log I vibe coded in about twenty minutes and turned into a PWA. In April I stripped it back to one job, recording my personal bests, and called it the PB Tracker. On August 28 it was approved for production and published on Google Play. In between there were roughly 300 versions.

It was a very simple app to begin with. You track your personal bests at the gym. Then it became a way to log your weight, then I added a gym session recorder, and it just snowballed from there.

What was harder than it looked

User data. The longest fights were never about features. They were about whose data was on the phone. For days in May, one account could see what the previous account had left on the device, and when I fixed that, the settings started resetting to defaults instead. Later a storage map showed me that personal best history was only ever saved locally.

The simplest bugs cost the most. The black screen on login burned an evening and a pile of credits across two AI tools. It was one unclosed div.

Shipping the wrong file. More than once I uploaded a build with an old index file inside it, including the time subscriptions refused to trigger. At one point a build was more than forty versions behind, because I was skipping a sync step.

Everything around the app. Signing bundles, fingerprints for Google sign-in, AdMob, RevenueCat, subscriptions, store forms, DNS records. I bought the wrong domain name by typing into a field I didn’t understand, and on launch day I broke my own marketing website with a DNS change.

Closed testing. Getting twelve testers was one thing. Getting them to actually use a gym app was another. Nobody wanted to sign in and do the hard yards, and Google sent me back for a second fourteen days.

What was easier than expected

Coding the app itself. Changes to this app came out clean, often in one go. I think that’s because there’s only really one path for every action: you open a session, record it, it gets saved, and you can view it.

Building features from the gym floor. The best ideas came mid workout: machine settings, the personal best badge inside the voice builder, drop sets, the photo cap rules I dictated from the treadmill. I would talk the idea out, send it, and test the result at my next session.

Voice. Speaking a set into the phone and having it parsed into sets, reps and an exercise sounded like the hard part. It became the thing that sets the app apart.

Data at scale. A nutrition database that grew from fifteen meals to about 3,500, sourced from an official food database, mostly while I was doing something else.

Things I didn’t know going in

That a twelfth tester would open the app, skip onboarding and land on an empty screen, and that this would teach me more than my own months of use. The fix was a button to add a personal best directly on that page.

BeStreak gym and PB tracker app icon
BeStreak: Gym & PB Tracker

Log your personal bests, plan your weekly routine and build a workout streak you will not want to break. Download the app on Google Play.

Get it on Google Play

That real testers find what you never touch. A tester found the settings keyboard bug that I had missed for weeks, because I had been doing gym stuff rather than going into settings.

That by the time the store reviews an upload, you have made more changes, and you no longer know which version is live.

That naming is a job in itself. The first good name from the research was already taken, and the name I chose came with initials I had to design around.

Advice for anyone starting an app

Use your own app, in the place it is meant to be used, before you ask anyone else to.

Have the AI produce documents as well as code: a feature profile, a storage map, a tier list. Those documents caught problems that testing didn’t.

Decide early what is free, what is capped and what is premium, and make the caps visible to the user.

Keep two builds from every change: a clean one for the website and a debug one for testers.

Don’t think of it as one pass. I’m not a one pass developer. This took hundreds of passes, and each one was small.

And promise yourself a finish line. I told myself the app was done more than once. It’s already chockers full of stuff that I want.

Next Post
Monday, August 31, 2026 (evening) Get Polymatrix on Google Play…