Folk AI Folk AI
Under the hood

One platform. Privacy enforced in the database.

A pragmatic, modern stack chosen so the most important guarantee lives in Postgres, not in app code — and so the cost of every conversation is engineered, not hoped for. The conversation has no read-path to a guardian. The person, guardian and specialist run as one Next.js app.

Data flow · one message
1
The person sends a message → streamed reply (cached persona + volatile context)
2
Both turns persist to the private messages table
3
~12s: deterministic + LLM safety scan reads recent turns for danger only
4
Real risk → alert to a human in ~15-20s
5
Session analysis derives mood, themes & memories
6
Guardian & clinician see signals only — sanitised, never verbatim
The boundary, drawn

One line the data never crosses.

Every feature on this page sits on one side of this line or the other. What the person says stays left of it. What the caring side sees is derived, paraphrased and aggregated — and crosses alone.

How data flows through Folk AIThe person talks to the companion. Messages stay inside a private engine — a private table, a deterministic safety screen and session analysis. Only derived signals — mood, topics, paraphrased alerts — cross a hard boundary to the guardian and the specialist. Raw words never cross that line.The persontalks to the companionPRIVATE ENGINEmessages · a private tablesafety screen · deterministic firstsession analysis · mood & themesraw words never cross this lineDerived signalsmood · topics · alertsparaphrased, never quotedGuardianaggregates onlySpecialistaggregates only
One message, end to end. Everything the person says lives left of the line; the caring side receives only what the engine derives.
One app, one door

Three roles, one product — installed once.

No second codebase, no app-store gatekeeping, no separate portal per role. The same app installs on a phone, runs at a desk, and signs everyone in at one screen.

01 ONE APP

Install it like an app — because it is one.

Folk AI ships as one installable product, tuned per person rather than forked per audience.

  • Installable PWA — real brand icons, a manifest, standalone install straight to the home screen.
  • Windows desktop wrapper — the same app at a desk, for the people who live there.
  • Per-person sensory palettes — colour, type size and motion tuned to the person, driven by design tokens.
  • Seven languages — across chat, voice and easy-read cards.
Display settings in the person's app — palette, text size, motion
02 ONE DOOR

One sign-in for everyone — with a lock on every role.

A person, a caregiver and a specialist all sign in at the same screen, on three tabs. The boundary between roles is enforced at the door, not styled over.

  • Role lock — an address registered as a person’s account cannot sign in through a panel role. Ever.
  • Honest errors — when a code fails, the screen says the real reason, not “try again”.
  • A splash that holds — no white-screen loop on launch: the splash stays up until the session is genuinely verified, hard-capped so it can never hold forever.
folk.ai/login
The sign-in screen — one screen, three role tabs
Engineering for cost

A consumer price point is an engineering result.

Folk AI is priced for families, so the cost of a conversation is treated like a feature: decided in code, capped deterministically and pinned by tests — not discovered on an invoice.

Every model, named in one file

Each model in the system is declared by purpose in a single file, with documented cache minimums. Changing the economics is a reviewed one-line change — not a hunt through the codebase.

one file · documented cache minimums

Cheap by default, deeper on demand

Ordinary conversation runs on a fast model. A deterministic rule escalates to a deeper one only on remember-and-find turns — hourly-capped, and fail-closed: when in doubt, it stays on the cheap path.

deterministic · hourly-capped · fail-closed

The prompt splits on the cache boundary

The stable half of the system prompt is byte-identical from turn to turn, so provider-side caching actually fires. Everything volatile rides behind the split.

stable half cached · volatile half behind it

Memory that never re-reads the past

The hot tail — about ten messages — goes in word-for-word, one short paragraph digests the active day, and typo-tolerant search recalls what the companion has learned. The full history is never replayed.

~10 messages verbatim + a one-paragraph digest

Scheduled work earns its model call

Every gate runs before any model is invoked: companion photo generation is capped at about three days a week per person, and dormant accounts are skipped entirely.

~3 days/week cap · dormant accounts skipped

Pinned by ~60 test files

Safety, privacy, memory, consent, permissions and motion behaviour are held in place by tests — an honest number, not a coverage slogan.

an honest count, not “100% coverage”
Hardened by default

The boring parts, done properly.

None of this demos well. All of it decides whether a platform can be trusted with special-category data.

  • Media behind an app proxyPhotos are served through the app, so storage stays private — nothing lives on a public bucket URL.
  • Uploads verified by actual bytesA file is what its bytes say it is — not what its extension claims to be.
  • Rate limits & schema validation on every routeEvery payload is validated at the boundary, and every endpoint has a ceiling.
  • Environment validated at bootA misconfigured server refuses to start instead of half-working in production.
  • One tested gate for all scheduled jobsBackground work authenticates through a single gate, and a test proves the gate is actually in its path.
  • Prompt-injection hardeningAnything a human typed is framed as data before it reaches the model, and names are sanitised before they touch instruction space.
Roadmap

Where it is, and where it’s going.

The core loop — talk, understand, protect — is live in production today across all three roles.

Done

  • One app: PWA install, Windows desktop wrapper, unified sign-in with role lock
  • Streamed chat with working memory & proactive messages
  • 3-layer safety + session analysis → mood / themes / memories / alerts
  • Guardian dashboard, alerts, analytics & weekly reports; specialist panel with auto DAP notes
  • Companion avatars, contextual photos & scheduled feed posts — capped by design
  • RLS privacy line on every table · cost controls declared in one file · ~60 test files

In progress

  • Photo-post upload & moderation polish for the feed
  • Hardening voice / call UX across iOS Safari
  • First controlled pilot (5-10 participants) as case study #1

Planned

  • Billing & plan-based usage limits — pricing shown on The model page is planned, not live
  • DPIA + final legal review before public launch
  • MDR Class IIa — the certification course we are on
  • Expansion: Denmark → Scandinavia → Europe

The AI is built on Anthropic and Google AI Studio (Gemini). Anthropic models carry the conversation and the analysis behind wellbeing observations; Google AI Studio powers voice and the vision that lets the companion see a photo the person chose to share. Both are contracted sub-processors under a signed DPA, and the deterministic safety screen runs outside any model — so it still fires if a provider is unavailable.

Next

The business model