the workout you actually do.
not everyone lifts. people do classes, circuits, swims, physio sets, a bike and a rowing machine in a garage — and every tracker on a phone assumes one of those and handles the rest badly.
the fix is not a better app. it is a page that knows the six things you actually do and records them in the units they come in: minutes, laps, rounds, distance, or just "done".
describe your week to an agent, get one html file back, and put it at a url. it takes a minute, and if it is wrong you say what is wrong and it takes another.
shaped like your week.
01 / what it isa workout tracker is a diary with opinions. the opinions are what make general-purpose ones annoying: they want a duration when you counted rounds, a distance when you swam laps, an exercise list when you went to a class and someone else decided what you did.
this page starts from your week instead. you tell the agent what you do — the class on tuesday, the swim on thursday, the twenty minutes of physio you are supposed to do daily and mostly do not — and it builds entry screens that fit each one. nothing on the page asks for a number you do not have.
- the session types you actually do, each recording what it should
- one tap to log a session you have done before
- a week view that shows what you have done and what is left
- a streak or a weekly count, if that is what keeps you going — or nothing, if it is not
- notes per session, because half of training is remembering how it felt
- export and import as json, so the log can move to another device
- what it records
- whatever your sessions are measured in — time, distance, rounds, laps, or a tick
- where that goes
- localStorage in one browser. not synced between devices, not sent to us
- moving it
- json export and import, which is the only route between devices
- changing it
- new class, dropped habit, different week — one sentence and a republish to the same url
see one in action.
02 / examplea week of mixed sessions — two classes, a swim, a bike, and a physio set
the live example is still being built — the prompt below is the one it was made with.
copy this, then make it yours.
03 / starting prompta starting point, not a template — the point of an agent is that the result is yours. change the sections to match what you want, and remove anything you don’t need.
Build me a workout tracker as a single web page, for the workouts I actually do.
Ask me first:
- What sessions I do in a typical week, and what each one is called.
- For each session type, what is worth recording — time, distance, rounds, laps, sets, how it felt, or just that I did it.
- Whether I care about a weekly target or a streak, or whether I would rather not see one.
- Whether the week starts on Monday or Sunday for me.
Build from my answers. Do not invent sessions, targets, or a training plan I did not describe.
WHAT IT DOES
- Shows the current week first: what I have done, what I planned, what is left.
- Logging a session I do regularly is one tap from that week view. Only then ask for details, and only the details that session type actually has.
- Each session type has its own entry fields. A swim asks for laps or distance; a class asks for which class and how long; a physio set asks whether I did it. Never show a field that does not apply.
- Let me add a one-off session that is not one of my usual types.
- Keep a simple history: the last several weeks, per session type, with the numbers I recorded.
- If I said I want a target or streak, show it plainly and without celebration animation. If I said I do not, do not add one anyway.
DESIGN
- Mobile-first, thumb-sized controls, readable in a gym or outdoors.
- The week view is the page. Everything else is one level down.
- No badges, no confetti, no motivational copy. I am the one who decides whether the week was good.
BE HONEST ON THE PAGE
- Say plainly that everything is stored in this browser and does not sync.
- Do not describe it as an app, do not claim notifications or reminders — a static page cannot send them.
- Do not give training or medical advice.
STORING THE DATA
- Save everything to localStorage in the browser, automatically, as I go. No
accounts, no login, no server call.
- On the page, say plainly that data lives in this browser only and does not
sync to other devices. Do not bury it.
- Give me an "export" button that copies or downloads everything as JSON, and an
"import" that reads the same JSON back. That is the only way my data can move
between devices, so it is not optional.
- Never lose what I have already entered. If the stored data is from an older
version of the page, read what you can rather than throwing it away.
DELIVERY
- Produce one self-contained HTML file. Inline the CSS and JavaScript.
- No build step, no server, no framework, no package install, no external
requests at runtime.
- Mobile-first and responsive; it has to be usable one-handed on a phone and
still look right on a laptop.
- Accessible: semantic HTML, real contrast, visible keyboard focus, labelled
controls, touch targets big enough to hit, and respect reduced-motion.
- Use placeholders where information is missing. Do not invent facts, numbers,
names, dates, prices, or results I have not given you.
- Before you call it finished, use it yourself: enter real-looking data, reload
the page, and confirm nothing is lost or mangled.
PUBLISHING
Publish the finished page to HTMLShare and give me the link.
Use exactly one of the two paths below, preferring the first. Make the call
directly. Do not route it through a code sandbox, container, or computer-use
session — that is where the request gets blocked, and it is never necessary.
1. An HTMLShare integration or connector, if you have one configured.
The page is permanent and owned by my account. Report the url and the
siteId. There is no claimUrl or manageToken on this path — do not go
looking for one, and do not switch paths in order to produce one.
2. Otherwise, publish anonymously over REST. No account, key, or signup is
needed:
POST https://api.htmlshare.net/v1/publish
content-type: application/json
{"html": "<!doctype html> ... "}
The reference is https://htmlshare.net/docs and, for the full schema,
https://api.htmlshare.net/openapi.json
Report these from the response, in your reply and never inside the page:
url the public page
claimUrl a private link that is mine alone. opening it is how I keep
the page past its 24-hour expiry, or set an email reminder
before it goes. it carries the manage token, so it must
never appear in the published HTML or anywhere a visitor
could see it.
manageToken the only thing that can edit or delete this page later. it is
returned once and never again, so tell me what it is.
Tell me which of the two you used. If the path you reach for first is
unavailable in your environment, say so and tell me what you are switching to
before you publish — a permanent page on my account and a 24-hour anonymous
page are different things, and which one I get is my decision, not a detail.
If I ask for a change afterwards, update the existing page instead of
publishing again, so the URL I have already shared keeps working — through the
same integration on path 1, or with the manage token as an X-Manage-Token
header on path 2.
RECIPE MARKER
Include this tag in the <head>, exactly as written:
<meta name="htmlshare-recipe" content="workout-tracker">
It tells htmlshare which recipe the page came from, so the library can count
that this one was actually made. It carries nothing else.give it a url.
04 / publishing ithow you publish depends on how you’re working.
- with an integration
- if your assistant already has htmlshare connected — mcp or another supported integration — just ask it to publish the finished page and hand back the url. the page belongs to your account and is permanent. when you want a change, ask for an update to that same page rather than a new one.
- with no integration
- the prompt tells the assistant to post the html to the rest api instead, which needs no account and no key. it comes back with a live url you can open immediately, a private claim link, and a manage token. the claim link is how the page stops being temporary — keep it.
- by hand
- nothing stops you doing it yourself: have the assistant give you the html file and drop it on the htmlshare home page. same url, same page, one more step.
- what matters here
- this is a page you open four times a week for a year, or once and never again — and which of those it is comes down to whether it is at a url you can find. claim it and put it on your home screen the day you make it.
the tracker you lose is the tracker you stop using.
05 / keeping it aroundgood for a first look at what the agent built. the page stops serving after 24 hours, with a 7-day recovery window behind it, so anything beyond trying the idea needs the next paragraph.
claimed, the page is permanent and the url is one you chose. that is the whole difference between a tracker you use in march and one you made in january.
- keep it around
- anonymous pages stop serving after 24 hours. a tracker is a habit, and a habit cannot depend on a page that expires.
- custom url
- short and memorable beats a random id when the page lives on your phone home screen and occasionally gets re-found by typing.
- stable updates
- your week changes every few months. the page should change without the address changing underneath it.
questions.
06 / questionscan it remind me to train?
no. a published page is html — it cannot send a notification, and any tracker that claims it can is describing something we do not do. what it can do is sit on your home screen where you will see it.
what happens if i get a new phone?
the page opens fine; the history does not come with it, because it lived in the old browser. export the json from the old device first and import it on the new one. that is the honest answer and it is why every prompt here asks for those two buttons.
can my partner use the same page?
they can open it, and they will get their own empty copy — there is no shared data between browsers. two people tracking together works best as two pages, or one page on one shared device.
is this better than a notes app?
only in that it has the right fields and adds things up. a notes app is fine if a list of lines is all you want; this earns its place when you want the week visible and the entry to take two taps instead of typing.