Tag: slotho

  • Before we translate a word

    Before we translate a word

    In slotho, “fast” means going without food. In badmintho, a “let” is a rally that gets played again. In pluris, the “vault” is where your passwords are kept, encrypted. Outside those apps, each of those words means something else, and a translator that does not know which app it is working in will reach for the everyday meaning. So every red8.io app keeps a short translation glossary of its own words, and none of an app’s text is translated without it.

    A label arrives without its screen

    Our apps are translated string by string, and a language model drafts each translation. The model is fluent in every language we ship. What it does not get is the screen: a button label such as “Share match” reaches it as two words, with no badminton court anywhere in sight.

    We saw what that costs in August. Told only that badmintho was a health-tracking app, the model read the badminton court as a court of law in 18 languages (Unbekanntes Gericht, German for “unknown court of law”) and a match as a coincidence in 8 (Partager la correspondance, French for sharing a correspondence). No automatic check caught either. Every string was present, every placeholder intact, every sentence grammatical. They were about the wrong thing.

    What goes in a translation glossary

    Each glossary is a page of plain writing, not a database. It says what the app is, who uses it and in what tone, then lists the words that could belong to more than one world: the meaning we want, and the meanings we do not.

    WordAppWhat it means thereNot
    fastslothogoing without food for a whilequick
    stageslothoa phase of a fast, such as ketosisa theatre stage
    letbadminthoa rally that is played againto allow, to rent
    courtbadminthowhere badminton is playeda court of law
    vaultpluristhe encrypted store for your passwordsa bank vault
    blockplurisstop a number from calling youa city block
    cardFlowMaila message on the boarda playing card, a payment card
    refreshformathofetch the latest from the servera refreshment
    A translation glossary in five rows, one word from each red8.io app: fast in slotho means going without food, not quick; let in badmintho is a rally that is played again, not to allow or to rent; vault in pluris is the encrypted store for your passwords, not a bank vault; card in FlowMail is a message on the board, not a playing card; refresh in formatho means fetch the latest from the server, not a refreshment.
    One word from each app’s translation glossary.

    Below the word list sit the decisions that only make sense one language at a time. In Lithuanian and Latvian, slotho’s fasting is never the religious fast. iOS is not available in Estonian or Latvian, so an Estonian or Latvian slotho user’s Health app is almost always labelled in English; slotho calls it “Health” there too, rather than inventing a name the user will never see on their phone.

    Three rules around it

    • No glossary, no translation. The tool that translates our apps stops before it starts if the app has no glossary. That includes the translation step inside a release, which runs unattended, because an unattended run is exactly the one whose mistakes nobody reads before they ship.
    • It lives with the code. Each glossary sits in the app’s codebase beside the text it governs, changes in the same commit as the correction that taught us something, and is reviewed like code. All five apps got theirs in the same week of August 2026, and each has grown since.
    • One word per meaning, held by a test. A badminton match is made of games, and many languages have a sports word for one game that differs from their everyday word. German says Satz, not Spiel; Portuguese says set, not jogo. badmintho’s glossary names that word for twenty languages, and a test fails if any game string in those languages uses a different one.

    What you get from it

    slotho, badmintho and pluris are each available in 22 languages on the App Store, from Danish to Thai. Use one of them in German, Japanese or Polish, and the words on the screen were translated knowing whether they belong on a badminton court, in a fasting window or in a password vault. FlowMail and formatho ship in fewer languages today and keep a glossary as well, so each language they add starts from the same page.

    If a word reads wrong in your language, tell us. Each app’s FAQ says how to reach us (slotho, badmintho, pluris), and we correct the glossary along with the screen.

  • What holds your work together? Mine started as one iOS Shortcut

    What holds your work together? Mine started as one iOS Shortcut

    In July 2021 I published a post called Never again forget anything. It was about one iOS Shortcut. I ran it, typed or pasted a thought, and it put the thought where I would find it again: the clipboard into Data Jar, a task into Jira, a line into a work note. One entry point for every idea, so that nothing depended on my memory.

    I still work that way. What changed is what sits behind the entry point. The one Shortcut has turned into five things I built, and each of them took over one part of my day.

    What each one took over

    • slotho holds what I eat and how I feel afterwards. I log food and digestion symptoms, and it tells me which foods turn up before a symptom more often than on the days I did not eat them, from my own log.
    • badmintho holds my time off. It keeps the score on my Apple Watch while I play badminton, runs my drills, and saves every match and session to Apple Health.
    • FlowMail holds my email. It shows the inbox as a Kanban board, so a message has a status I can see, on Mac, iPhone and iPad.
    • pluris holds the things I cannot afford to lose. Passwords, passkeys and API keys go in its vault, and it keeps my contacts tidy.

    None of these was planned as part of a system. Each one started the way the Shortcut did: there was something I kept having to remember, and I wanted a place to put it the moment it happened.

    Where Cortex comes in

    Four apps that each remember one thing still leave a question: where does the work around them live? The release plan, the task that came out of a meeting, the document someone sent, the post announcing a new version.

    That is what Cortex is becoming for me. It is a hosted workspace, in the EU, where the tools share one memory. Today it holds:

    • My products. Every app is a product in Cortex, and it checks the App Store for the version that is actually live.
    • My projects and tasks. Each app is a project, and the issues from its code repository arrive as cards on the board.
    • My documents and meetings. Notes link to the task or the meeting they came from, and show its current state when I read them again.
    • What I publish. The LinkedIn post for a release is drafted and scheduled in the same place as the release itself.

    What is real today, and what is next

    Today Cortex runs the business side. What I put into the apps stays in the apps: a meal is in slotho, a match is in badmintho, a password is in pluris. Cortex knows about the products, and it holds the work of building them.

    Bringing the two closer is where I am taking it, and I will write about that when there is something to show. For now it already does the thing the Shortcut was for: I put something in once, and I find it again where I expect it.

    Your turn

    Everyone has one part of their day that still lives only in their head. Mine was ideas, in 2021. Tell me which part is yours.

    More

  • Nutri-Score, NOVA and additives, in plain English

    Nutri-Score, NOVA and additives, in plain English

    Some foods in slotho carry two small badges: a letter from A to E, and a number from 1 to 4. Plenty of foods carry neither, which is the first thing worth explaining. They look like two versions of the same verdict. They are not. One is about what is in the food; the other is about what was done to it — and a food can score well on one and badly on the other without either being wrong.

    They come from Open Food Facts, and slotho searches three other food databases besides it — so whether you see them at all depends on which one your result came from. Here is what each badge measures, why a row often has none, and the one score you can sort by but never see.

    Nutri-Score: the letter, A to E

    Nutri-Score grades a food’s nutritional composition per 100 g or 100 ml. Points are counted against it for energy, sugars, saturated fat and salt, and counted back in its favour for fibre, protein and fruit, vegetables and legumes. The balance lands on a letter: A is the better end, E the worse.

    The algorithm was revised by a European scientific committee and the new version took effect on 1 January 2024, with a transition period that ran to the end of 2025 — so the grades you see now are the updated ones. The revision was stricter about sugar, salt and sweeteners, kinder to protein and fibre, and moved nuts and seeds out of the fruit-and-vegetables component. One consequence is easy to state and slightly startling: among drinks, only water can still score an A.

    What the letter does not tell you is whether the food suits you. It is computed per 100 g against a general population, not against your day, your targets or your medical situation. A food that is an E in the abstract can be entirely reasonable in the quantity you actually ate.

    NOVA: the number, 1 to 4

    NOVA ignores nutrition entirely. It classifies a food by how much industrial processing it has been through, in four groups:

    • 1 — unprocessed or minimally processed. An apple. Plain rice. Milk.
    • 2 — processed culinary ingredients. Oil, butter, sugar, salt: things you cook with rather than eat alone.
    • 3 — processed foods. Group 1 plus group 2, and not much else. Tinned beans, bread, cheese.
    • 4 — ultra-processed. Formulations built largely from substances not used in home cooking: protein isolates, modified starches, emulsifiers, colourings, sweeteners.

    A NOVA 4 is not automatically nutritionally bad, and a NOVA 1 is not automatically good — butter is group 2 and no one would call it a health food on that basis.

    Why they disagree, and why that is the useful part

    This is the whole reason slotho shows both rather than picking one.

    A diet drink can be reformulated into a good Nutri-Score while remaining unambiguously ultra-processed. A wholemeal loaf with a long ingredient list can be NOVA 4 and still be a sensible thing to eat. The two systems are measuring two distinct dimensions of the same food, which is exactly what a 2024 study of the revised algorithm concluded — the update made them more coherent with one another without making either redundant.

    If the two badges ever make you look at an ingredient list you would otherwise have skipped, they have done their job. Collapsing them into a single number would remove precisely the information that makes them worth showing.

    The third badge: additives

    Alongside the letter and the number, a food may carry a small count of additives. Tap through to the product detail and slotho lists them individually as E-numbers — the raw data arrives as tags like en:e330 and is displayed as E330.

    It is a count, not a verdict. E330 is citric acid. The chip tells you how many there are and lets you go and look; it does not tell you that any of them is a problem, because that is not a judgement a food log is in a position to make.

    Eco-Score: you can sort by it, you will not see it

    Worth being straight about, because Eco-Score comes up alongside the other two often enough that its absence looks like an oversight.

    Eco-Score rates environmental impact rather than nutrition or processing. In slotho it exists only as a way to sort search results. It is not stored on a food, it is not shown as a badge, and it is not saved against anything you log — unlike Nutri-Score, NOVA and the additive count, which are all written onto the entry so your history keeps them.

    That is a deliberate gap rather than a hidden feature: showing a badge implies we stand behind the number, and this one is not carried consistently enough across the database to stand behind yet.

    Where the numbers come from — and why a food often has none

    slotho does not compute any of these itself. They come with the food record, from Open Food Facts — a public, crowdsourced database. Which explains the thing people notice first: plenty of foods have no badges at all.

    slotho searches four sources — Open Food Facts, the USDA’s FoodData Central, FatSecret, and foods you created yourself — and only Open Food Facts carries these three scores. A barcode scanned off a European packet usually has all of them. A generic ingredient that came back from one of the other three has none, because the scores were never part of that record to begin with.

    There is a way to tell at a glance. Every row carries a small coloured source chip: OFF, FDC, FatSecret or Local. If it does not say OFF, that row will never show a Nutri-Score or a NOVA number, however well known the food is. When slotho has two records for the same food from different sources, it fills the gaps from whichever one has the data — a record with no grade can inherit one from its twin rather than showing a blank.

    And a missing badge means unknown, never bad. slotho hides the placeholder rather than showing an empty grade, for the same reason the daily balance score treats an unlogged meal as a gap instead of a zero — a blank is information about the database, not about your food.

    What slotho deliberately does not do with them

    None of these scores feeds your daily balance. None of them produces a warning, a nudge or a streak you can break. There is no screen that adds up your week’s NOVA 4s and has an opinion about it.

    They are labels on a food, shown at the moment you are choosing it, and then recorded so your history is honest about what you logged. What you do with them is the part we have no business automating.

    More

    Nutri-Score, NOVA and Eco-Score are third-party systems, not ours, and none of this is medical or dietary advice. slotho is free on the App Store for iPhone, iPad and Apple Watch, with two weeks of Pro included.

  • How the daily balance score works — and the things it deliberately won’t do

    How the daily balance score works — and the things it deliberately won’t do

    The daily balance score in slotho is one number out of 100, built from three things: sleep, nutrition and activity. That part is easy to describe. The more interesting half is what it refuses to do — because most of the design decisions in it are refusals, and they are the reason the number is worth looking at.

    The three factors in the daily balance score

    • Sleep — last night’s duration against your sleep target.
    • Nutrition — food and water together, because “did I fuel myself well today” is both of them, and one honest bar reads better than two half-empty ones.
    • Activity — active energy against your movement target.

    Each is scored 0–100 on its own, and the overall number is the average of them. The band underneath is plain language rather than a colour alone: 80–100 on track, 50–79 mixed, below 50 needs attention.

    Refusal one: a blank is a gap, not a zero

    This is the one that matters most. If you did not log any food today, the nutrition factor does not score zero — it scores nothing, shows a dash, and drops out of the average entirely.

    The alternative is what a lot of trackers do: treat an empty field as a failure, and hand you a 33 for a day in which you slept well, moved plenty, and simply did not feel like typing your lunch in. That number is not information about your day. It is information about your logging, dressed up as information about your day.

    When only some factors have data the card says so directly — it reads “N of 3 factors” rather than “out of 100”, so a partial score is never mistaken for a complete one. And if nothing at all has been recorded, there is no score, because there is nothing to score.

    Refusal two: it won’t judge your morning by the whole day’s target

    An early version of this card had a real flaw. You would eat a sensible breakfast at nine in the morning, open slotho, and see 20 out of 100 — because 400 calories is indeed miles short of a 2,000 calorie goal. Technically true, completely useless, and quietly insulting at breakfast.

    So targets are now pro-rated by how much of your waking day has actually elapsed. At 09:00 you are not expected to have eaten a day’s food. A sensible breakfast reads as on pace, and scores accordingly.

    The waking day defaults to 07:00–22:00, not midnight to midnight — nobody should be judged for not having eaten a third of their calories by 08:00 just because a third of the clock has gone. And it is only a default: it is your waking day, so you can move it.

    At the end of the day the pro-rating reduces to exactly the original curve, so a finished day is scored the same way it always was. The maths only bends while the day is still running.

    Refusal three: it won’t let basal metabolism flatter you

    The activity factor uses active energy only — the calories you burned by moving — not total expenditure. Total energy includes the very large number of calories your body spends keeping you alive while you sit still, and counting those would mean the score rises steadily through a day spent entirely on the sofa.

    A score that goes up when you do nothing is not measuring anything.

    Refusal four: it won’t treat every overshoot the same

    The three factors are deliberately asymmetric, because the things they measure are:

    • Calories over the goal are penalised at any hour, measured against the full goal rather than the pro-rated one. Eating tomorrow’s calories by lunchtime is not “ahead of pace”.
    • Water has no overshoot penalty at all. Drinking more than your target is not a failure, unlike overeating, so the water score simply caps at 100.
    • Sleep is a band, not a point. Full marks anywhere inside an hour either side of your target — with the default 8-hour target, that is anything from 7 to 9 hours — falling off in a straight line to zero three hours outside the band. An ordinary night scores full rather than being docked for being eleven minutes short.

    Sleep is also the one factor that is never pro-rated. Last night is already over by the time today starts; there is nothing provisional about it.

    It knows when it is guessing

    While the day is still running, the score is a running read against pro-rated targets, and it can still move. The card labels that state “So far today”, so a mid-afternoon number is never presented as a final verdict on the day.

    It recomputes every minute, so the pace-adjusted number keeps up rather than going stale in your hand.

    If you work nights

    The waking day can wrap past midnight. Set it to 22:00–06:00 and a shift that starts on Tuesday evening and ends on Wednesday morning is scored as one day — the day it ends on, rather than being sliced in half by the calendar and scored as two bad ones.

    Your targets, not ours

    All four targets behind the score — sleep, calories, water and movement — are yours to set. The defaults are only defaults, and changing one re-scores your history against the new number rather than leaving old scores sitting next to a target they were never judged against.

    Tapping the card opens the last month, scored by exactly the same rules, so “how am I doing lately” has an answer that is consistent with today’s.

    What it is not

    It is not a health metric, and it is written that way on purpose. It carries no medical framing and makes no claim about your health. What it summarises is narrower and more honest: how close to your own sensible targets was today.

    The whole thing is computed on your device from data already in Apple Health. Nothing about your day is sent anywhere to produce it — see the slotho privacy policy for the detail. The daily balance card is part of slotho Pro.

    More

    • slotho — food, water, caffeine, sleep, workouts and fasting, in Apple Health
    • slotho FAQ — including what the score needs before it will show you a figure
    • slotho support — if the card is not behaving the way this describes