htmlsharechecking
/ uses · fitness · a timer with your intervals in it

ninety seconds, then go again.

the rest timer is the smallest useful thing in this library and the one most likely to be ruined by advertising. you want a big number counting down, a noise at the end, and a button to start it again.

what you get from a store is a timer wrapped in a subscription, or a phone clock app with three taps between you and ninety seconds.

ask for the timer instead. your intervals, your sound, one screen. it takes a minute to build and it is the fastest way to see this whole loop work end to end.

what you make
a countdown with your presets on it
where the data lives
your presets, in this browser. nothing else is kept
how long it takes
a minute — the smallest recipe here

a countdown and nothing else.

01 / what it is

this is the least ambitious page in the library and the one most likely to get used daily. it counts down, it makes a noise, it starts again. the only reason to build your own is that the ones you can install are not this.

it is also the recipe to try first if you have never asked an agent for software. one message, one file, one url, and something you will genuinely open tomorrow — the whole loop in about two minutes, with nothing to lose if it comes out wrong.

  • a countdown you can read from the floor
  • your own presets, one tap each
  • a sound and a vibration at zero, both of which you can turn off
  • interval mode if you want it — work, rest, rounds
  • a screen that does not sleep while the timer runs, as far as a browser can manage
what it does
counts down, signals at zero, repeats — with presets you defined
what it stores
your presets, in this browser only. no session history at all
offline
works once loaded; there is nothing to fetch while it runs
the browser limits
a web page cannot reliably run in the background or wake your phone. keep it on screen

see one in action.

02 / example
htmlshare.net/p/…
screen capture · silent loop
video coming soon

a three-preset timer — 90s, 3min, and a 40/20 interval 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 rest timer as a single web page for use on my phone at the gym.

Ask me first:
- What rest lengths I use most, so they can be presets.
- Whether I want a simple countdown, an interval timer (work/rest/rounds), or both.
- What should happen at zero: a sound, a vibration, a colour change, or some combination.

Keep the interview to those. Do not invent intervals for a training style I did not describe.

WHAT IT DOES

- One screen. The countdown is the largest thing on it by a long way — readable at arm's length, sitting on a bench, in bad light.
- My presets are buttons along the bottom. Tapping one starts it immediately; there is no "set up timer" step.
- A big start/stop control and a reset. Tapping the countdown itself restarts the current preset, because that is the gesture I will reach for.
- At zero: play a short sound, vibrate if the browser allows it, and change the screen colour so it works with the sound off. Let me mute it.
- Interval mode, if I asked for it: work seconds, rest seconds, number of rounds, and a clear display of which round I am in.
- Add and edit presets in the page itself, and remember them for next time.
- Keep the screen awake while a timer is running if the browser supports it, and do not pretend to if it does not.

DESIGN

- Enormous numerals. Everything else small and out of the way.
- High contrast, works in a bright gym and a dark one.
- No animation except the countdown itself. Nothing that draws attention while I am mid-set.

BE HONEST ON THE PAGE

- Note that presets are stored in this browser only.
- Do not claim background timing, lock-screen controls, or notifications. A web page cannot do those reliably, and a timer that silently stops when the screen locks is worse than no timer — say that the page needs to stay open.
- Do not invent a training protocol or tell me how long to rest.

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="rest-timer">

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
say what your rests actually are. "90 seconds and 3 minutes" gets you two buttons you will press a hundred times; "some presets" gets you 30/60/90 like everything else.
test the sound before you trust it. phones are inconsistent about audio from a page that has not been tapped yet — tap the page once when you open it and check you can hear zero over the gym.
if you want emom or tabata, say the format in words rather than the name. the agent will build the right thing from "20 seconds work, 10 rest, 8 rounds" every time.

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
you will open this between sets, which means the only thing that matters is that it is one tap away. claim the page, give it a short slug, and add it to your home screen before you use it once.

a timer is only useful if it is already there.

05 / keeping it around
anonymous
24h

perfect for testing — publish it, try it for a session, see whether the sound is loud enough. it stops serving 24 hours later, with a 7-day recovery window behind that.

custom url
this is a page you re-find by typing. a short slug you chose beats a random id you have to search for.
keep it around
a timer that expires overnight is a novelty. claimed, it is on your home screen for as long as you train.
stable updates
you will want a fourth preset eventually. changing the page at the same url means the icon keeps working.

questions.

06 / questions
will it keep counting if i lock my phone?

probably not, and no page should promise it will. browsers throttle or suspend a backgrounded tab, so the honest design is a timer that stays on screen — which the prompt asks it to say out loud rather than failing silently mid-set.

why not just use the clock app?

use it if it is fine. this wins on the two things a clock app is bad at: your exact rests as one-tap buttons, and nothing else on the screen. it loses on background timing, which is a real trade.

does it need signal?

only to load. after that it is a self-contained file, so it counts down in a basement gym with no bars at all.

can i have different timers for different sessions?

yes — either more presets on one page, or a second page for a different sport. these cost a message each, so people often end up with two.