Skip to content
LogBeetle Blog

Why I built LogBeetle

Joan6 min read

Updated October 14, 2026

A few years ago I wanted to write a 20-minute AMRAP with a 20-second front rack hold in the middle, and the app I was using couldn't do it. It had no way to put a timed exercise inside a timed block. That stayed in the back of my mind for a long time, until one day I decided to do something about it.

I'm a software developer in Barcelona, and I write most of my own training. Even when a coach writes my program, I end up typing it into an app myself, so I spend a lot of time in workout builders.

How I train #

I train a bit of everything, half of it at a gym and half of it in my garage. I use barbells and kettlebells, and I mix strength work, conditioning and some weightlifting. And I get bored fast. I usually run one cyclic program for a mesocycle, with progressive overload and a deload at the end, and then I decide whether to carry on or go find something else.

The workout builders couldn't put a block inside a block.

So I'm writing programs all the time, and every app I tried was built around single workouts, not programs. Programs were either missing or barely there, with no way to say that this is week three of six and the weight goes up on Tuesday. The workout builders couldn't put a block inside a block, there was no undo, and you had to build the whole thing on a phone screen, which is the worst place to write a plan. If the app had a follow-along mode at all, it flattened the session into a list of exercises and threw the structure away.

That's why the front rack hold never made it into any of them. That kind of structure comes up all the time in a circuit, and I couldn't write it down anywhere.

A workout of four blocks. The warm-up, the four-round accessory block and the cool-down are collapsed. The third block is a 20 minute AMRAP holding six movements and a minute of rest, with the two 20-second holds picked out in green.
The two green steps are timed exercises inside a timed block.

2020, a text editor #

In 2020 I built a proof of concept for myself. It had a text editor on the left and a preview on the right. You typed the workout as an indented list, blocks inside blocks as far down as you wanted, and the preview rendered it as cards. That was the whole thing. But it took the front rack hold, and I kept building on it. Soon after, I had a rudimentary player that ran that same structure.

A browser window split in two. On the left, a workout typed as an indented text list with blocks, exercises, durations and rests. On the right, the same workout rendered as red exercise cards and orange rest cards inside a warm-up block.
2020. The whole workout builder was a text editor with a live preview.

2021 to 2025, the first app #

A year later it was an app. The text editor became a workout builder you could use on a phone, with the same nested blocks, folding sections and buttons to add or move an element in place. It had a player that kept the structure, and a program was a named group of workouts.

A pencil sketch of a phone screen. Exercises, rests and blocks are stacked in a list, and blocks open to show more exercises and blocks indented inside them, with plus buttons between rows. A phone screen titled Edit Workout showing a block named Circuito that holds two superset blocks, each with two exercises and their rep counts.
2021. A sketch of the workout builder for phones, and the version that shipped.

Then I kept adding to it for four more years. I added a program list, exercise videos, equipment tags, and a player that walked through the session and timed each exercise.

Its domain went from workout.town to workout.land to onemorerep.app, and I never liked any of them. The way it described a workout never changed, and by 2025 I was training with it every week.

A phone screen headed Main Program, listing six workouts by name with an edit and a preview button on each. The first is Wednesday, a 20 minute AMRAP conditioning workout. A phone screen headed Workout Detail with a Play Squat Snatch Day button, then a block of three sets holding exercise cards. Each card has a title, an embedded video and tags for reps and equipment. A phone screen headed Squat Snatch Day Player, with stop and pause buttons, an elapsed time of 20 seconds, one finished exercise greyed out, and the current exercise Snatch Pull outlined with a Next button.
2025. The old app near the end. Pick a workout, look it over, play it.

I also program for my two daughters and a friend or two. And the way I got their programs into the app was to log into their accounts and type the programs in for them, which was not ideal.

Tools that could hand a program to somebody did exist. They were built for personal trainers with thirty or forty clients, priced for that, and full of features I'd never use, like client billing. I only wanted to send a program to a few people I know. So I kept using mine and kept improving it.

Late 2024 #

Toward the end of 2024, while I was still training with the old app, the AI models got good enough to be worth a try, so I started messing with workout generation on the side, not expecting much. The results weren't great, but for simple sessions they worked, and that was enough to send me back to the old app to look at how much of it I'd want to throw away.

A phone screen headed Workout Builder with three tabs, AI Assistant selected, next to Json Editor and Workout Builder. Below it a dropdown of examples, an empty Describe your workout box, and a Generate workout button.
The generator went in as a third tab, next to the workout builder and a JSON editor that grew out of the original text editor.

One thing led to another, and I got more excited with every piece that worked. What I had was a web page you installed from the browser. What I wanted was a real app on the phone that shared its code with the web version, and there was no way to turn one into the other.

So at some point I stopped patching it and wrote a backlog instead. It listed everything I wanted from a training app, as the athlete typing in my own program and as the parent, brother, partner or friend writing one for somebody else. If it didn't make sense for one of those two, it didn't go on the list.

I've been building what's on that list ever since, and a lot of the old app came with it. A good part of the code could be reused, and so could five years of finding out what didn't work.

Now #

LogBeetle is what came out of that list. The name came from an evening of typing domains into a search box, and logbeetle.com was free, which never happens. I like the pun on log, and a beetle is about the strongest thing alive for its size.

LogBeetle starts with the program, linear or cyclic and with formulas, and works down from there. A workout is made of blocks, and a block can hold other blocks, so a timed exercise inside a timed block is just a normal thing to write. You build it at a desk, in a browser, with undo and redo, and the player runs it on your phone with the structure intact. The Android app is on Google Play. The iPhone app is waiting for Apple's review, so on an iPhone the player runs in the browser for now.

The LogBeetle workout builder open on a workout named Wednesday, with undo and redo at the top right. On the left, four coloured blocks are listed. A warm-up block and a four-round accessory block come first. The third block is named 20 Minute AMRAP and runs for 20:00. It lists Deadlift, Hang Power Clean, Front Rack Hold for 0:20, Push Press, Overhead Hold for 0:20, Front Squat and a rest of 1:00. A cool-down block is last. The Front Rack Hold is selected, and the panel on the right shows its time of 0:20.
2026. The same session in the workout builder. The two holds run for 0:20 each, inside a block that runs for 20:00.

I write a program once now and send it. Nobody on the receiving end has to open a workout builder. And because not everyone reads English comfortably, especially when you're young, the app is in five languages.

The AI stayed in. It drafts a single session from a sentence or a photo, and on Friends & Family a whole program from a short brief, and whatever comes out lands in the workout builder as a draft you can edit.

I only ever need to program for a handful of people, and I doubt I'm unusual there, so the Friends & Family plan stops at five.

Following a program is free, and so are your history and being coached by somebody. The paid part is writing structured programs, and writing them for other people. The pricing page has the rest. Every release has to get through over two thousand automated tests before it goes out, and the changelog shows how often that happens.

One person reads the inbox, and I'd like to keep being the person who answers it. I still type most of my own programs in myself, and the front rack hold is in the AMRAP where it belongs.