Inspiration
I normally steal someone elses programming, or attempt to do it myself and end up injuring myself. Now in the age of AI, why not offload this mental burden of planning and programming every workout. So i ended up building my dream gym tracker app with the help of AI to use AI to generate your workouts.
What it does
WorkoutOS is an AI workout generator. Tell it your equipment, goals and time, and it builds the session - warm-up, main work, finisher, with sets, reps, rest and weight suggestions. Then log every set against it, watch progress land on charts, a calendar and personal records, and share finished workouts with friends. A catalog of 1,300+ exercises with demo GIFs. Logging works with no signal and syncs later. Six tabs - Home, Generate, Log, Feed, Rank, Profile. The web app at workoutos.net is free. The mobile app is WorkoutOS Pro.
How we built it
Spec first, then code. I wrote the whole product as self-contained phase docs - eight for the backend, nineteen for the mobile app - and built them one at a time, each with its API contract and a verification checklist it had to pass before moving on. The backend is ASP.NET Core with Orleans virtual actors on Azure, live at workoutos.net. The client is React Native on Expo, TypeScript. Workouts are generated server-side by DeepSeek and Z.ai models over raw HTTP, with admin-editable prompts. What made the pace survivable for one person was AI.
Challenges we ran into
Generation takes 20 to 40 seconds, so the wait became a designed feature: a progress bar running on the native UI thread and eight hand-drawn animated exercise loops. Offline-first meant a SQLite outbox with idempotency keys, so a set logged in airplane mode survives a force-quit and syncs exactly once. And the invisible stuff: an actor framework that serializes enums as integers on the wire, a styling library that hard-crashes on one text-alignment property, and an OAuth flow built for browsers that had to learn to deep-link back into an app.
Accomplishments that we're proud of
A workout generator whose output is structured data, not chat text - every exercise resolved to a catalog entry with a demo GIF. An offline engine where logging in a basement gym just works. Live on web and native, built by one person. And pricing I'd want as a customer: the web stays free, and mobile starts with 14 days free.
What we learned
Structure the output, not just the prompt - the parse matters more than the prose. Offline-first and mobile first is an architecture, not a feature; it has to live under everything. And a long wait is a design surface: you can hide it, or you can make it the best 30 seconds in the app.
What's next for WorkoutOS
Ship to the App Store and Google Play. Smarter regeneration - make it harder, swap the finisher, change the time. More context into the generator, from Strava activities to the weather on the log. Richer social. Stop copying someone else's program. Start with your own.
Built With
- .net
- azure
- blazor
- c#
- orleans
- react-native

Log in or sign up for Devpost to join the conversation.