htmlsharechecking
/ uses · fitness · your food, your words

write down what you ate.

most food logging fails at the same place: the search box. you ate a bowl of the thing you always make, and the app wants you to pick between four hundred entries called "chicken soup", each with a different number attached.

the version that works is the one you will actually do — your own meals, named the way you name them, portioned the way you portion them.

so build that. an agent makes a page with your regular meals as one-tap buttons and a text box for everything else, and it is yours by the end of the message.

what you make
a food log with your own regular meals in it
where the data lives
your browser only, on the device you log from
what it will not do
look up nutrition — it adds up numbers you supply

a diary, not a database.

01 / what it is

the useful thing about food logging is rarely the total. it is noticing on thursday that the last three bad afternoons all followed the same lunch. that needs a diary you keep honestly, which means it has to be quicker to log than to skip.

this page optimises for that and gives up the rest. there is no nutrition database behind it, so if you want calories you type them once when you save a meal and the page reuses the number. that is less accurate than a lookup and considerably more likely to still be happening in three weeks.

  • your regular meals as one-tap buttons
  • a free-text line for everything else, with no required fields
  • optional numbers — calories or protein — only if you want to count something
  • a day view that is the page, and a week you can read back
  • no search box, no barcode scanner, no food database
  • export and import as json
what it records
what you ate, when, and any numbers you chose to attach
where that goes
localStorage in one browser. not synced, not uploaded
the numbers
arithmetic on what you typed. no food database, no lookups, no accuracy claim
what it is not
nutritional or medical advice, and the page says so

see one in action.

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

a day of eating with eight saved regulars and a free-text box for the rest

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 food log as a single web page. It is a diary, not a calorie database.

Ask me first:
- The meals I eat regularly, so they can be saved as one-tap entries.
- Whether I want to count anything numeric — calories, protein, both, or nothing.
- Whether I log by meal (breakfast/lunch/dinner/snack) or just by time of day.
- Whether I want to note anything else alongside food, such as how I felt afterwards.

Build from that. Do not invent meals, portion sizes, or nutrition numbers. If I want calories, I will tell you them — never estimate them for me.

WHAT IT DOES

- Today is the page. My saved regular meals are buttons; tapping one logs it with the current time.
- A free-text box logs anything not saved, with no required fields. "two slices of the leftover pizza" is a valid entry and must not be rejected or turned into a form.
- Let me save any free-text entry as a new regular, so the button list grows into my actual diet.
- If I asked to count something: a total for the day, shown plainly, and the number attached to each saved meal editable at any time. State on the page that these are numbers I supplied, not looked up.
- A week view I can read back — days in rows, entries in order. This is the part that makes a pattern visible.
- Editing and deleting entries has to be easy.

WHAT IT MUST NOT HAVE

- No search box against a food database. There is no database.
- No barcode scanning. A self-contained page cannot do it.
- No estimated calories, no macro breakdown you inferred, no "healthy" or "unhealthy" labelling of anything I ate.
- No daily target unless I asked for one, and no commentary when I go over or under it.

DESIGN

- Fast and quiet. Logging should feel like writing a line, not filling a form.
- Mobile-first: this gets used standing in a kitchen holding a plate.

BE HONEST ON THE PAGE

- Say the log is stored in this browser only.
- Say that any numbers are arithmetic on what I entered, with no nutritional database behind them, and that this is not nutritional 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="food-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
list your real regulars, all of them.fifteen saved meals covers most people’s eating. spend the first message listing them properly — it is the difference between a page you use for a month and one you abandon on day three.
decide whether you are counting at all.a log with no numbers is still useful and much more likely to be kept. if you do want calories, accept that they are your own estimates typed once per meal — which is the honest version of what most apps are doing anyway.
keep free text free.if the agent turns the text box into a form with quantity and unit fields, push back. the whole point is that "a handful of nuts" is an acceptable entry.

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
the saved-meal list is the asset here — it takes a couple of weeks to become genuinely yours. claim the page so that work is not sitting behind a url that expires tonight.

the saved meals are the part worth keeping.

05 / keeping it around
anonymous
24h

fine for a day of trying it. the page stops serving after 24 hours, with a 7-day recovery window — and your saved meals were in the browser, so a fresh page starts empty.

keep it around
your saved-meal list takes weeks to build and lives in a page that expires in 24 hours unless you claim it.
custom url
a page you open three times a day should have an address you can type without looking it up.
stable updates
diets change. so does what you want to count. the page can change at the same address.

questions.

06 / questions
does it know how many calories are in things?

no. there is no food database and no lookup — if you want a number it is one you typed, saved against your own meal, and reused. that is less precise than an app and much more honest about where the figure came from.

is this nutritional advice?

no. it is a diary that adds up numbers you supplied. the page says so, and anything involving actual dietary decisions belongs with a professional who knows your situation.

can i scan barcodes?

no — that needs a camera pipeline and a product database, neither of which exists in a self-contained page. the saved-meal buttons are the substitute, and for most people they are faster than scanning anyway.

who can see what i eat?

nobody. entries are in your browser’s storage, not in the published html, so someone opening your url sees an empty log. we never receive what you typed.