
🤖 Liftosaur now is in the official Claude connectors directory!
Similar to ChatGPT plugin, there's now Claude's Liftosaur connector: https://claude.ai/directory/liftosaur that you can find in the list of connectors on claude.ai

Similar to ChatGPT plugin, there's now Claude's Liftosaur connector: https://claude.ai/directory/liftosaur that you can find in the list of connectors on claude.ai
I'm rethinking the equipment setup in Liftosaur. How could I make it more flexible, easy to use, and cover all the wide variety of gym machines.
Basically, the idea is to have 4 types of equipment:
Each type has slightly different configurations:
There you define the weights like 10lb -> 200lb goes by 10lb, 200lb -> 300lb goes by 20lb. It has the support for additional micro weights, like lever/dial/knob, or plates you can add - like magnets, small blocks, etc. You can ignore the micro weights for the warmups though.
There's a toggle to convert it to 'assisted' equipment, where it'd decrease the weight from the bodyweight, or from 0 (if you prefer negative weights).
Same as now - you specify the base (bar) weight + plates, you specify sides. But can also add horns (for leverage machines) - and the weight ratio for horns. Also, there's ability to use only specific plates for warmups, enable assisted mode - with bodyweight or from 0.
You enter the range of weights, and increment. Can also add outside of range weights if necessary.
Just specify weights - min, max and step. That's really it.
Each equipment supports notes, ability to override unit, change rounding - nearest or down.
Check out the designs - those are not final, it's just explorations what it may look like. But should give you an idea.
My main question - would this cover your usecase? The variety of machines is very broad, I'm curious if it covers your case?
On iOS, it now shows the heart rate (if available) on the workout screen. It takes it from the Apple Watch - if you have them. Alternatively, it can also get the heart rate from AirPods 3 Pro as well.
This: https://www.liftosaur.com/features
Just a bunch of pages with screenshots, explaining what the app can do. Hopefully will be useful when people google some question, or ask AI how to do something in the app.
Redesigned the workout screen. Main goal was to declutter it, make it easier to use with shaking hands after heavy weight, and also ability to see things in distance (e.g. when your phone is laying down on a bench).
So, did the following changes. For the next set:
Also:
And there're also some other minor tweaks here and there.
⚠️ Need an iOS/Android native app update!
I’m thinking to do redesign of the workout screen. The main goal is to declutter the workout screen, make it easier to see what you need to do (reps/weight and plates) from distance, easier to tap a complete set button with your shaking hands after heavy set. Also, make it easier to swipe between exercises (because now swipe is often intercepted by set rows).
This is what I’m going to do (from top to bottom):
Kinda controversial change, but hopefully will make it easier to use the app in gym conditions (you’re tired, need to see what needs to be done easily, etc).
Would love your feedback!
There's a preview icon in the bottom sheet Liftoscript editor on the right of the pills. It shows how the exercise liftoscript looks with all resolved reuses. E.g. if it shows:
Squat / ...t1
and t1 is defined like
t1 / used: none / 3x8 100lb
it will show
Squat / 3x8 100lb
Now that preview is editable. You can tap e.g. on that 100lb in t1 and change it to e.g. 105lb, and the
original exercise text will have that override - becomes:
Squat / ...t1 / 105lb
It's useful when you need to tweak some values of the reusing exercise, but they only exist in the reused exercise.
There's now a countdown timer for the time-based exercises. It starts when you approach the end of rest time. You can set it in Me -> Timers.
Also, now the unilateral exercises will present 2 set timers one after another - for the left, and the for right side. With the countdown in-between as well.
Countdown is extracted from the rest time:
30s|60s, and countdown == 5s, your rest time would be 55s, and then 5s countdown would start. If you want to disable countdown completely on specific exercise.30s|0s there will be no countdown (and if it's unilateral - no countdown between sides)⚠️ Requires an update of the iOS / Android app version
Now if in the freeform mode in Liftoscript editor you have autocompletion. It'll suggest the exercise names, variable names in progress/update blocks, the template names when you add reusing, etc etc.
Some time ago, I posted about the idea of doing this grid/calendar based program editor: https://www.reddit.com/r/liftosaur/comments/1ulm4rr/rfc_rethinking_ui_for_editing_programs/ Got mixed feedback, but decided to do it anyway! It just feels this is a good birds-eye view for doing structural changes in the program.
So, added it instead of the previous week-reordering mode. Now, that mode shows a calendar-like view grid view of your program. If your exercises span multiple weeks with repeat ranges, you'll see them as a single strip crossing multiple weeks. You can drag the end of that strip to extend it to more weeks - and it'll adjust the repeat ranges.
When you select an exercise, it now highlights the template it reuses.
Everything is draggable there, you can long-tap and then drag exercises to reorder within the same day, and across days. You can also drag weeks to reorder them. When you select a day and drag - it drags across all weeks though - because the program layout is usually the same across all weeks, and dragging a single day in a multiweek program likely would break the program.
You can pinch-zoom the grid to scale the weeks. All that stuff hopefully gives you a good birds-eye view of your entire program (especially useful if it's multiweek), and you can easily restructure across all of the weeks.
You can also add multiple exercises from the same picker now there.
I'm thinking to eventually remove per-day mode as well (the [][] mode), that new view should do pretty much all the same things. But let me know what you think!
And yeah, it was a massive and very complex change, so let me know if you find any bugs!
If you're on Android - you need to update the app version from the Google Play
No need to enable developer mode anymore, and paste MCP URL, etc.
Just go to Plugins -> search for Liftosaur, and add it. That's it!
Or go there to install: https://chatgpt.com/plugins/plugin_asdk_app_6a5bb283d24481918813e6efbc3d66ad
If you tap the edit icon on the workout screen, it now opens the liftoeditor in a bottomsheet with the current program day, that you can edit.
You can reorder exercises in the editor by long-press and dragging them.
On the "Edit Program Exercise" sheet, there's the preview icon that shows the preview of the exercise with all the reuses filled in.
On the "Edit Program Exercise" it also will tell you if the progress is defined on some other week/day, and you jump there, or show it right for this week/day, editable.
When you swap an exercise during a workout, it now remembers the last exercises you swapped, and offers them in a "Recent" section at the top of the exercise picker. That should make doing repeated swaps faster.
Also, it used to keep the same weight when you swap to an adhoc exercise. Which only makes sense if you used 1RM percentage weights. But for absolute weights it almost never makes sense.
So, now it'll try to adjust the weight. It'll try to find the latest weights you did for the same reps in history, and use that weight. If it couldn't - it'll try to find the closest and infer from it. If it couldn't - it'll infer the weights from 1RM.
And for warmups - it'll check if you have specific warmup config in your current program for that exercise, and will use that if it's there. Otherwise - just fallback to the default warmups.
And also fixed some bugs along the way in the new "Edit Program Exercise" too after last release.
You need to update iOS or Android app version for this again...
One of the main sources of confusion and frustration in Liftosaur are the "Program" and "Edit Program Exercise" screens. They provide the UI to edit the program, but the problem is that the UI maps pretty poorly to Liftoscript. And Liftoscript is still source of truth. Also, when you edit UI - you have little idea what Liftoscript it'd result to. Users get weird errors they have no idea how to resolve - because errors come from Liftoscript syntax, not UI.
Historically, I tried to hide the complexity of Liftoscript, trying to lower the learning curve. But IMHO it doesn't work - I just need to be honest and upfront that knowing at least some Liftoscript basics is required to use Liftosaur effectively. So, I'm pivoting to the new approach - embracing Liftoscript!
As a first step - now "Edit Program Exercise" is not a screen anymore, it's a bottom sheet, where you can edit Liftoscript. For that, I created a new native code editor from ground up. Typing code generally is not convenient on a phone, so it solves that by having 'structured' editing mode, where you can tap values, elements, and use the action pills to do actions with them. So, kinda a mix of UI and code. You can swipe between elements, and you can double-tap on text to switch to freeform editing. Each element also shows a hint what it means, so hopefully it helps to learn Liftoscript basics easier.
For now, it's only "Edit Program Exercise" screen, but I will work on replacing all the editors in the app with this new native editor.
I understand it's a quite controversial change, so please let me know your thoughts here.
You need to update iOS or Android version of the app to get it.
The confusing UI of the Program and Edit Program Exercise screens stay the main reason why the app ever gets bad reviews. People are like - Liftoscript is cool, but the UI is shit, so here's your 1 star.
I first tried to hide the complexity of Liftoscript with more-or-less familiar UI - where you can customize the program via UI elements. But maybe that probably was a wrong decision - it's very hard to map UI to Liftoscript syntax. And it's not always clear how the UI changes transform to Liftoscript - which is important, because Liftoscript is still the source of truth. So, people were (and are) still often frustrated with it.
Now, I want to try to go to the opposite direction - embrace Liftoscript instead! Just accept the fact that you HAVE to know Liftoscript to some extent to use the app. And if it deters some people - that's probably ok, I don't want to compete with Hevy, Strong, etc for the same users who need a simple logger. But focus on people who intentionally seeks customizability.
So, as a first step - I could redesign the Edit Program Exercise screen - and let users edit the exercise directly through Liftoscript.
There's an issue though - currently we use CodeMirror, which is a web code editor. So, we need to show it in the webview. Like, we load the whole browser, and inside we load the code editor. And if we show multiple days, each with the Liftoscript editor - we load separate browser for each of them. That's very inefficient, and also it feels non-native, and editing sometimes is buggy.
So, we need a native code editor on iOS and Android, with syntax highlighting, autocompletion and ability to show errors.
Also, editing text on a phone generally sucks. Cursor pixelhunting and screen keyboard don't make it easy to type code, especially all those curly braces, special characters, etc. Need to find a way how to make it convenient on a phone.
I was prototyping and trying different approaches, and I think I found a pretty neat way to do so. Basically, it'll look like this:
I played around with it, and IMHO it's way nicer that what current UI. It'll be a massive change though, so gonna take a while. Check out the video! What do you think? :)
Liftosaur can now import your sleep and nutrition (calories and protein) from Apple Health or Google Health Connect. To turn it on, go to Me -> "Apple Health" (or "Google Health Connect" on Android), and there enable "Sync Sleep & Nutrition".
Then, you can find it in ME -> Sleep & Nutrition screen. The data is also available through the REST API and the MCP server. So you can e.g. ask an AI assistant to correlate your sleep or protein intake with your training performance.
⚠️ You need an iOS/Android native app update (from App Store / Google Play) to get this feature.
Added a new MCP tool, that provides the guidance how to design novice/intermediate (and some hints for advanced) programs, and map them to Liftosaur capabilities.
Hopefully will help y'all to design and tweak better programs with your AI of choice.
Basically, this: https://github.com/astashov/liftosaur/blob/751e6454ef13ce27289f7e2ec1e0a3df8edd3455/llms/program_design.md
Everyone and their cat is trying to add AI to their apps, SaaS and businesses. Usually it's some sort of chat or sparkly "AI" button that's placed at the most visible spot on your site or app. It often looks very annoying, works poorly, users hate it - but the companies still push it, because if they aren't "AI-native" in 2026, they're pretty much doomed.
And it makes sense it works poorly. If the company uses a powerful model, it will cost A LOT. So, either the price for the service goes significantly up to justify increased costs, or the company has to use cheaper models to keep the price down.
But users likely already pay for a ChatGPT or Claude subscription. And have access to the most powerful models. And got used to the chat interface there, and have all the context and memory. They feel way more comfy being there. So, IMHO the right way is not to integrate AI into your app/site, but to let users connect to your service and use it from their ChatGPT - i.e. good old API!
There's a standard for that - Model Context Protocol (MCP), which frankly is a bit ugly and overcomplicated, but all the major AI-providers (Claude/ChatGPT/Gemini) support it, and it handles auth. It basically gives the agent the commands (like API endpoints), and instructions on how to use them.
If you don't have MCP for your SaaS, app, website, business - you're missing out. That's IMHO the right way of adding "AI" to your business. Not adding another AI chat client to your app, or adding this sparkles button that will apply "AI" to whatever your app's output is. But letting Claude/ChatGPT/Gemini/etc do the things that users had to do previously through your UI. Because before users couldn't use API directly. Now they kinda can.
As developers, we already use that heavily. For example, I have MCPs connected to the iOS simulator, devtools, Google Ads, analytics, error aggregators - and I'm sitting like a spider in the center of my web, getting data from all those things, and telling the agents to do stuff with it.
And non-software-eng-people are also catching up. They want to delegate booking their flight tickets, hotels and museums. They want to search for homes to buy or rent, book tables in restaurants, update their credit card on insurance or utility sites, etc etc. Because all that work is annoying and takes time to do. So, provide an API/MCP for that! Otherwise, your competitors will.
I've got a small business - a weightlifting app. Almost every single thing there could be configured through MCP. You can make the agent set up available equipment, enter all the plates, create workouts, create lifting programs, validate them, write the logic for them. And it's amazing what people do with it.
Agents write the lifting programs for users, help to visualize the progress, and recommend the next steps. The app has graphs, but Claude can build way richer personalized visualization, HTML/CSS/JS right on the spot.
My favorite example is when a user told me they just went around the gym, took pictures of all the equipment pieces - machines, plates, dumbbells - uploaded the pics to ChatGPT, and told it to update the equipment settings in the app according to the pics. And it worked perfectly.
There's a concern though that if the AI agent can do anything the app can do - why do we need the apps then? Will they die eventually? Your business survives because it owns the data and does things LLMs can't do on their own (available houses, tickets, venues, etc). Your UI survives wherever it's faster than chat - like tapping a button on a watch to log a set vs typing in the chat what you just lifted. The parts of the UI that are just forms over an API though - those may die. But that's ok.
The funny thing is - the "AI-native or doomed" panic is justified. If you don't integrate into the AI wave somehow in 2026, you may be doomed. It's just not about having an AI button on your site - it's about giving the AI ecosystem convenient access to your site, app and data. Not the sparkles button.
When a set's target shows a crossed-out weight next to another one - that's the app rounding the program's exact weight to what you can actually load with your equipment. It's been a common source of confusion: why is my working weight different from the target? Why is it suddenly 0?
Now the rounded weight is underlined, and you can tap it to get the full explanation: how the target was calculated (e.g. as a percentage of your 1RM), how it was converted between kg and lb, and how it was matched to your equipment - the bar weight, the plates per side, or the closest fixed dumbbell.
If the equipment is marked as "Is Assisting" (like an assisted pull-up machine, where added weight makes the exercise easier), the explanation will call that out too - accidentally enabling it is the usual reason weights unexpectedly drop to 0.
Hopefully that'll help to understand why it crosses out the weights!