eighteen holes, your handicaps, no ads.
a golf scorecard is a grid with some arithmetic. the apps that do it want a login, show you an advert on the seventh, and handle your group’s particular format badly.
and every course is different, which is why the generic ones always need setting up before you can start.
a page built for your course has the pars and stroke indexes already in it, applies the handicaps your group actually plays off, and does the sums nobody wants to do walking up the eighteenth.
the card, already set up.
01 / what it isthe tedious part of a golf app is the beginning: choosing a course, entering players, setting handicaps, picking a format. a page built for your regular game has all of that baked in, so the first interaction of the round is entering a score on the first hole.
it does the arithmetic you would otherwise do badly in your head — net scores against stroke index, stableford points, who is up in the match — and it does it in your group’s format, however unusual that is.
- your course: pars and stroke indexes, already in the page
- your group and their handicaps
- score entry that takes one tap per hole
- net, stableford or matchplay, computed as you go
- a card you can read at a glance on the tee
- a reset for the next round that keeps the course
- what is in the page
- the course, the pars, the stroke indexes, your usual players
- what it stores
- the round in progress, in the browser scoring it
- the format
- whatever you described — stableford, matchplay, skins, your own thing
- offline
- works once loaded, which matters on most courses
see one in action.
02 / examplea four-player card for one course, with stroke index, net scores and a running stableford total
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 golf scorecard as a single web page, for my course and my group.
Ask me first:
- The course, and the par and stroke index for each hole. If I do not have all of them, ask for what I have rather than inventing the rest.
- Who usually plays and their handicaps.
- Which format we play — stableford, medal, matchplay, skins, or something of our own. Take my description literally.
- Whether we play nine or eighteen, or both.
Do not invent a course, pars, stroke indexes or handicaps. If I leave gaps, mark them clearly as unset rather than filling them in.
WHAT IT DOES
- The card is a grid: holes across, players down, par and stroke index shown per hole.
- Entering a score is one tap on the current hole — a stepper or a set of buttons around the expected range, not a keyboard.
- Compute as we go, in our format: net scores using the stroke index, stableford points, or the matchplay state. Show the running result prominently.
- Show the front nine, back nine and total, the way a paper card does.
- Handle a player picking up or not finishing a hole without breaking the arithmetic.
- Let me correct a score. Someone will always enter a 4 for the wrong player.
- Start a new round without losing the course or the regular players.
DESIGN
- Readable in sunlight, one-handed, with a glove on. Big numbers, big targets, high contrast.
- The current hole should be obvious when the page is opened mid-round.
- Nothing that requires precision or two hands.
BE HONEST ON THE PAGE
- Say the round is stored in the browser keeping score, so the other players' phones will not show it.
- Do not claim gps, distances, shot tracking or handicap submission to any governing body.
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="golf-scorecard">
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 page is worth building because you play the same course repeatedly. claim it so it is there next saturday, and add it to the scorer’s home screen.
the course setup is the thing you are keeping.
05 / keeping it aroundfine for one round. the page stops serving after 24 hours with a 7-day recovery window, taking your course data with it.
claimed, it is the card for that course forever. the ten minutes describing the stroke indexes pays back every round after the first.
- keep it around
- the course setup is the investment and an anonymous page throws it away overnight.
- custom url
- something the group can all bookmark and find on a saturday morning.
- stable updates
- formats and handicaps change. the page changes; the bookmark does not.
questions.
06 / questionscan everyone enter their own score?
not into the same card — each browser keeps its own. one phone scores the round, which is what usually happens with a paper card anyway.
does it work on the course with no signal?
yes, once loaded. it is a self-contained page with nothing to fetch, so it keeps working in the middle of a course. open it in the car park.
does it do distances or gps?
no. that needs location services and course mapping data, neither of which is in scope for a page like this. it is a card and the arithmetic on it.
can i submit scores for a handicap?
no. nothing here connects to a governing body or a handicap system, and the page says so. it is your group’s record, not an official one.