TempoLife

TempoLifeFeaturesBrowser extension

Browser extension

No extension is published yet. This page describes the planned nutrition overlay and its permissions honestly, and gives you a bookmarklet that looks up any selected food through the live TempoLife API right now.

There is no TempoLife browser extension. It is not in the Chrome Web Store, not on addons.mozilla.org, and there is no unpacked build to sideload. Anything you find under that name is not ours. What is on this page is a description of what it would do, and a bookmarklet that does a useful slice of it today.

0published extensions
bookmarkletworks today
noneexternal code loaded
noneaccounts required

Use this today: the food-lookup bookmarklet

This is the part of the idea that does not need a store listing, a review queue or a permission prompt. It is a link. Drag it to your bookmarks bar and it becomes a button that works on every site you visit.

TempoLife food lookup

Drag that button to your bookmarks bar. Do not click it here. This page sends a strict Content-Security-Policy that forbids inline script, so a click on this site is blocked by design — which is also a small demonstration that the page is not running it for you. Once the link lives in your bookmarks bar it runs against whatever page you are on instead.

What it does, in order

  1. Reads the text you have selected on the current page. Nothing else on the page is read.
  2. If you selected nothing, it asks you what to look up, pre-filled with an example.
  3. Collapses whitespace, trims, and cuts anything over 160 characters — the limit /api/answer enforces, so a long selection returns an answer instead of an error.
  4. Opens https://tempolife.app/api/answer?q=… in a new tab with noopener, so the new tab cannot reach back into the page you came from.

The source, in full

Read it before you install it. That is the point of a bookmarklet: it is small enough that you can.

javascript:(function () {
  var q = '';
  try {
    q = String(window.getSelection ? window.getSelection() : '');
  } catch (e) {
    q = '';
  }
  q = q.replace(/\s+/g, ' ').trim();
  if (!q) {
    q = String(window.prompt('Ask TempoLife about a food', 'calories in banana') || '');
    q = q.replace(/\s+/g, ' ').trim();
  }
  if (!q) { return; }
  if (q.length > 160) { q = q.slice(0, 160); }
  window.open('https://tempolife.app/api/answer?q=' + encodeURIComponent(q), '_blank', 'noopener');
})();

There is no fetch, no XMLHttpRequest, no injected <script>, no cookie access, no localStorage, and no code loaded from anywhere. It reads a selection and opens a URL. The minified form in the link above is this and nothing more, percent-encoded so no quote or angle bracket ends up in an HTML attribute.

What it sends, and where

The text you selected is sent to tempolife.app in the URL of the new tab, because that is how a query parameter works. Select a food name, not a private sentence. The endpoint logs are ordinary web-server logs; nothing is attached to an account, because the bookmarklet sends no cookie and needs no sign-in.

Where it will not work

Sites with a strict Content-Security-Policy of their own can block bookmarklets — behaviour varies by browser and has changed more than once. Browser-internal pages such as chrome:// or about: never run one. And on mobile, bookmarks bars mostly do not exist; use the form below instead. When a bookmarklet fails it usually fails silently, so if nothing happens, that is why.

The same thing without a bookmark

No JavaScript, no extension, no account. It returns raw JSON because it is an API endpoint rather than a page — which is exactly what makes it useful from a script of your own. The developer portal documents the response shape and the 60-per-hour rate limit.

What the extension would add

The bookmarklet answers one question at a time in a new tab. An extension can do two things it cannot: draw on the page you are already reading, and write to your diary.

Nutrition overlay on recipe pages

You open a recipe. The extension recognises the ingredient list — most recipe sites publish it as structured data, which is how search engines show cooking times, so this is reading a labelled list rather than guessing at prose. Each ingredient is resolved through the same /api/answer endpoint the bookmarklet uses, and a small panel shows calories and macros per serving for the whole recipe, with the ingredients it could not match listed honestly rather than silently dropped. That last detail is what separates a useful overlay from a confident wrong number: a recipe with two unmatched ingredients is a recipe whose total is incomplete, and it should say so.

One-click logging

Having computed a recipe, the obvious next step is to put it in your diary with one click instead of retyping it. Worth being precise about the blocker: TempoLife has no public write API, so this cannot be built as a third-party integration today. It would work by carrying your existing signed-in session to the app in a new tab, prefilled — the same thing a share link does, without the copy and paste.

Right-click any ingredient

Select "200 g ricotta" anywhere — a shop, a menu, a message — right-click, and get the numbers in a popup rather than a new tab. This is the bookmarklet with better manners.

Permissions it would ask for, and why each one

A recipe overlay needs less access than people assume, and the difference between a well-scoped extension and a badly scoped one is visible in the install prompt. This is the manifest it would ship with.

PermissionWhat it allowsWhy it is needed
activeTabRead the page in the current tab, and only after you click the toolbar button.The overlay has to read the ingredient list. This grant expires when you leave the tab, so it cannot be used to watch you browse.
scriptingInject the overlay script into that tab.Modern extensions cannot draw on a page without it. It is inert without a host grant.
contextMenusAdd one right-click item on selected text.The "look up this ingredient" path. It adds a menu entry and nothing else.
storageStore settings in the browser.Your unit preference and which tips you have dismissed. Local to the browser; never sent anywhere.
Optional host accessRun on a site you explicitly allow.Requested per site, at the moment you first use it there, instead of asking for every site at install time.

What it would deliberately not ask for

If a nutrition extension you are considering asks for access to all sites at install time and does not explain why, that is worth a moment's thought regardless of whose it is.

Why it is not built yet

Two honest reasons rather than a roadmap slogan. First, an extension is a permanent security commitment: code with access to pages you are signed into, updating silently, in a supply chain that has been attacked repeatedly through bought-out extensions. Shipping one is easy; being a responsible owner of one for years is not. Second, the overlay is only worth installing if ingredient matching is good, and the honest assessment is that a European recipe with regional ingredient names is still hit-and-miss against the food table. A confident wrong calorie count is worse than no overlay.

The bookmarklet exists because it sidesteps both problems. There is no auto-update channel to hijack, no permission to grant, and it hands you an answer with its source attached instead of pretending to have computed a whole recipe.

Pages

Chrome and Edge

Chromium install path, what the store review would cover, and the bookmarklet in Chrome.

Not published

Firefox

How the Firefox build would differ, and the bookmarklet in Firefox.

Not published

Privacy

Exactly what would be read, what would leave your browser, and what the bookmarklet sends.

What it would and would not read

Changelog

No releases. What a version entry will contain when there is one.

No releases yet

Frequently asked questions

Is there a TempoLife extension I can install?

No. Nothing is published in the Chrome Web Store or on addons.mozilla.org, and there is no sideloadable build. Anything using the name is not ours.

Is there a waitlist?

Deliberately not. Collecting email addresses for an unbuilt product creates a list to leak and a promise to break. Create a TempoLife account if you want to hear about it — the same announcement goes to account holders.

What can I actually use today?

The bookmarklet on this page. Select a food name on any site, click the bookmark, and the live answer endpoint opens in a new tab with calories or macros and a source link.

Does the bookmarklet track me?

It has no tracking code, no storage and no network call of its own. It reads your selection and opens a URL. The text you select does travel to tempolife.app in that URL, which is the one thing to be aware of.

Which browsers would the extension support?

Chrome, Edge and any other Chromium browser from one build, and Firefox from a near-identical one. Safari would need a separate wrapper and is not planned.

Source: TempoLife /api/answer endpoint — live, documented in the developer portal · checked 2026-09-02

Want to hear when it ships?

There is no waitlist here on purpose. Create a free account and you will hear about it with everything else — no separate list, no extra email address sitting somewhere.

Create a free accountGet the app