htmlsharechecking
/ uses · fitness · one page, your sessions

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.

what you make
a tracker for your sessions, not a generic one
where the data lives
your browser, on the device you log from
how long it takes
about a minute, then a url

shaped like your week.

01 / what it is

a 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 / example
htmlshare.net/p/…
screen capture · silent loop
video coming soon

a 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 prompt

a 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.

starting prompt · paste into your ai
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.
works as-is inclaudechatgptcodexcursorgrok
adapting it
answer the week question properly.the whole quality of this page comes from the session list. "gym, sometimes a run" gets you a generic tracker; "monday spin, wednesday and friday circuits, a swim when the pool is free, physio daily" gets you something worth opening.
say no to the streak if you mean it.agents add gamification by default because most products have it. if a broken streak makes you stop training rather than start, say so in the first message and it will not appear.
ask for one thing at a time afterwards."add a rowing session", "put the week total at the top", "drop the notes field". single changes republish cleanly; a list of twelve tends to come back as a redesign.

give it a url.

04 / publishing it

how 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 around
anonymous
24h

good 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.

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 / questions
can 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.