Skip to content
Fuuud
Nutrition agent · Nigeria

Never declare your allergy twice.

Tell it once that you're diabetic, or that groundnuts bring you out in hives. It remembers — across every session, on every screen — and suggests food people here actually eat.

No wallet. No seed phrase. Your record, your address.

What it knows about you

Condition

Type 2 diabetes

Allergy

Groundnuts — hives

“Boiled yam with efo riro and grilled titus. Light on the palm oil, skip the swallow tonight.”

recalled 2 facts · never asked again

groundnutskuli kulisemovitagarden eggpalm oiltype 2 diabetesulcerhypertensionmalt drinkakaramoi moiefo riroshellfishlactoseofadaegusi
The problem

Every other food app makes you start from zero.

01

You type it again

Diabetic. Allergic to groundnuts. Can't take too much salt. Every new chat, from the top.

02

One day you forget

For a craving that's an annoyance. For an allergy it's a hospital visit.

03

And it isn't yours

Whatever it did learn sits in someone else's database, on their terms.

How it works

Three steps, then it stops asking.

  1. Step 01

    Sign in with Google

    A Sui address is created for you behind the scenes. No wallet to install, no gas to pay, nothing to write down.

    zkLogin via Enoki
    address owned by you

    Their record, at step 01

    account
    0x7f3a…c21e
    delegate
    granted to this app
    record
    empty — nobody has asked yet
  2. Step 02

    Talk to it like a person

    It writes down conditions, allergies, and foods that disagreed with you. It ignores cravings and small talk — and stops entirely if you say “don’t save that”.

    encrypted before it leaves
    stored on Walrus

    Their record, at step 02

    condition
    type 2 diabetes
    allergy
    groundnuts — hives
    not stored
    “I fancy jollof tonight”
  3. Step 03

    Everything else follows

    Meal suggestions, and the practitioners you’re shown, both rank off what it remembers. You never fill in a form twice.

    semantic recall
    newer facts win

    Their record, at step 03

    meal
    boiled yam, efo riro, grilled titus
    screened
    kuli kuli blocked — groundnut
    consultant
    dietitian · cites diabetes
What it does

Rules in the code, not promises in a prompt.

A model that is told to be careful is careful most of the time. Everything below is enforced whether it cooperates or not.

Recalls before it speaks

Every turn that touches food starts with a search of your own record, filtered by relevance. Nothing is answered from what it happens to remember from earlier in the chat.

A write gate, not a diary

Six things get written: a condition, an allergy, an explicit “no allergies”, a refusal with a reason, a symptom after eating, a standing dislike. Cravings, small talk and its own suggestions never do. Most turns store nothing.

The safety check isn't the model's job

Ingredients are matched against your recorded allergens after the model speaks. It knows kuli kuli is groundnut, semovita is gluten, and that garden egg is not an egg.

Newer facts win, out loud

Entries are dated and never overwritten. When two disagree, the newer one is used and the agent says which one it is acting on rather than quietly averaging them.

Taking something back is real

Retracting a fact writes a record that outranks it, so nothing reads it again — not this app, not any other agent holding your key. It is out of reach, and we don't call that deleted.

The same record, from any agent

An MCP server exposes the identical contract to Claude Code, Cursor, or anything else you use. A fact learned in one is enforced by the other, because the record isn't inside either.

The difference

One change, and everything else follows from it.

The record is not in our database. Every row below is a consequence of that, not a feature we bolted on.

 FuuudA normal nutrition chatbot
Where your conditions liveOn Walrus, under your own addressIn their database, under their terms
Starting a fresh sessionIt already knowsYou type it all again
Switching to another agentSame record, over MCPStart from zero
What gets written downFour named categories, gated in codeWhatever the extractor felt like keeping
Allergen screeningDeterministic, runs after the modelThe model's good intentions
Two facts that disagreeNewer date wins, said out loudWhichever the retriever ranked first
Taking a fact backRetraction nothing can read pastA support ticket, maybe
Cutting off accessRevoke the key onchain, no permission askedDelete your account and hope
What it runs on

There is no database. Memory is the only store.

Which is what lets someone clone the repo and run the whole thing with three environment variables — and what stops us keeping a copy of your conditions.

Ownership

Sui

Your account and the delegate key this app holds are objects onchain. Revoking is a transaction, not a request to us.

Durability

Walrus

Every fact is a blob you own. The app can disappear tomorrow and the record is still there, still yours.

Encryption

Seal

Facts are encrypted before they leave. Nobody running this service can read what you are managing.

Recall

Walrus Memory

Search by meaning, so “what can I eat tonight?” finds the allergy you declared in different words months ago.

Your data

We're a guest in your record, not its keeper.

Your memory belongs to your address, encrypted with keys only you hold. This app holds a delegate key you granted — and one button takes it back. We can't refuse, because the permission was never ours.

Encrypted end to end

Nobody running this service can read your conditions.

Revocable in one tap

Enforced onchain, not by our good behaviour. Revocation is forward-only, so it closes off everything saved from that moment on.

What we can't do yet

Nothing deletes. Retracting a fact puts it permanently out of reach of anything that reads your memory, but the encrypted entry stays on Walrus until its storage period expires. We'd rather say so.

Questions

The things worth asking a health app.

Is this medical advice?

No. It does not diagnose and it is not a doctor. When a condition is involved it says so and points you to a practitioner — and the practitioner list is ranked by what it recalled, so it can be specific about who.

What exactly gets written down?

Six things you assert about yourself: a medical condition, an allergy or intolerance, an explicit “I have no allergies”, a suggestion you refused with a reason, a symptom after eating, and a standing dislike such as “I don’t like a lot of vegetables”. Cravings, small talk, hypotheticals and its own suggestions are never stored. Most turns store nothing at all.

What if I say something I don't want kept?

Say “don't save that”, or anything meaning the same, and nothing from that turn is written — including a real condition mentioned inside it. That is enforced before the write, in code, not left to the model's judgement.

Can I take a fact back later?

Yes, from the settings page or by asking. Retracting writes a record that outranks the fact, so nothing can recall it again. It is not deletion: the encrypted entry stays on Walrus until its storage period expires, and we say that everywhere rather than in a footnote.

Do I need a wallet?

No. Signing in with Google creates a Sui address for you through zkLogin. Nothing to install, no gas to pay, no seed phrase to lose — and the address is yours, not ours.

What happens if this app shuts down?

Your record is unaffected. It lives on Walrus under your address, not in our database, and any other agent you authorise can read it over MCP. That is the point of building it this way.

Tell it once. That's the whole product.

Free while in beta. Health guidance only — not a substitute for a practitioner.