Loading tiny…
Loading tiny…
01What tiny is
Most AI forgets you the moment you close the app. tiny doesn’t. Say Create an AI named coach. Be blunt.
and it is live at tiny.technology/coach — with a memory that survives, a body across your devices, and a login that makes it yours. This page is its record: every number below is measured, every principle is beside the code that enforces it, every date is from the commit log.
Your login is the identity. Memories, tools and tinys belong to your account — not to a session.
Sign in with GitHub, Google, Apple or a passkey. Bring your own key across 11 providers or run on-device. Nothing to buy inside the app.Facts persist, revise and connect. When two collide it asks; nothing is deleted, old facts become history.
A memory graph with supersedes links. Recall walks the edges, not just the words.One tiny, one memory, whichever screen is nearest — and hands on the devices you enrol.
Web, iPhone, iPad, Apple Watch, the terminal (MCP), a Mac daemon, Raspberry Pi, Arduino, a cheap ring.02By the numbers
Read from the same rails the front page streams. live means this render fetched it; recorded names the day it was last true.
03How it lives
The same tiny, the same memory, whichever screen is nearest. Not six apps that sync — one mind with six doors.
tiny.technology — chat, memory graph, sites, calendar, health.
The native app: live calls, camera, Live Activities when it works in the background.
Talk live from the wrist; the agent can show a card or ask you a question there.
npx tiny-tech — an MCP server with your tinys, your memory and this machine’s hands.
Macs, Raspberry Pi, Arduino UNO Q, ESP32 boards, a smart ring, a desk robot — enrolled, reachable, visible.
Versioned static sites your tiny publishes, with tiny.js for state, forms and chat.
3 of 27 devices in the builder’s own fleet are online as you read this — Mac mini, iPhone, Apple Watch. The front page shows the same roster, live.
04Principles
An AI with a body and a wallet is only safe if you hold the reins. So each promise is not a policy: it is a mechanism, quoted verbatim from the public source at a pinned commit.
AI-authored UI runs only in your browser, only during your turn, and is stripped at every share boundary. Native apps never execute agent code; custom tools run sandboxed.
Nine names shadowed to nothing — the UI it writes gets React and recharts, not your storage, not the network.
/** * The page globals shadowed away from agent component code, in the exact * order they are declared on the built function. localStorage holds BYOK * keys, fetch/XHR exfiltrate, document/window walk to both — a chart needs * React + recharts and nothing else. Exported so tests can pin the posture. */export const UI_SHADOW_PARAMS = [ 'localStorage', 'sessionStorage', 'document', 'window', 'globalThis', 'fetch', 'XMLHttpRequest', 'navigator', 'cookieStore',] as const
Every backgrounded action on your device leaves a visible trace. Your tiny can never act on your phone or watch in secret.
A record, not an interruption — the phone tells you it was reached, every time, and Android has the same line.
// The app was asleep when this happened — leave a trace. AMBIENT:// a trace is a record, not an interruption. The web agent's answer// went back on the relay envelope above, so the person who asked is// already reading it somewhere else; this exists only so the phone// isn't silently doing things. Android's parity comment on// notifyFleetTrace says exactly this, and pointed here while iOS// still chimed.await Notify.post( title: "Web agent reached your phone", body: String(prompt.prefix(120)), ambient: true
Every outbound payment is quoted first and spent only on your explicit confirmation — and is never auto-reversed after it settles on-chain.
The agent mints a quote; you press the button. The tool it holds cannot move money — only your tap can.
// 💸 make_payment — P2P sends ("send @alice $2"), pay_x402's sibling. Same// confirm-every-payment contract: this mints a QUOTE; the money moves only// when the user taps Approve on the card (PUT /api/x402/pay → the worker's// atomic /pay/transfer). The agent can never press that button.
Ownership is your GitHub login; bring your own key or run on-device; no app store is load-bearing; the code is open source.
Twelve providers plus on-device, your login as the identity, Apache-2.0. Nothing here needs an app store to exist.
export const FALLBACKS: Record<string, string[]> = { // On-device (WebLLM) — fixed catalog, no API to query webllm: [ … ], openai: [ … ], anthropic: [ … ], bedrock: [ … ], openrouter: [ … ], groq: [ … ], deepseek: [ … ], mistral: [ … ], xai: [ … ], perplexity: [ … ], gemini: [ … ], custom: [ … ]
Excerpts are checked byte-for-byte against cagataycali/tiny-technology@855a696 — they are never edited by hand.
05Timeline
Dates are the first commit that did the thing. The quiet stretch in 2024–25 is real too: the idea waited for models that could hold a memory.
The repo opens. Five days later, a landing page; by November, the first pricing.
git: "Init" 2023-07-30 · "landing page" 2023-08-04 · "first pricing" 2023-11-17The agent moves to a Cloudflare Worker — the brain every surface still talks to.
git: "WORKER" 2024-02-0623 quiet months
Answers become live React the agent composes at runtime — no hardcoded components.
git: "100% dynamic UI rendering with React.createElement" 2025-12-26GitHub OAuth and passkeys replace Stripe. Devices get a registry. Every tiny becomes an MCP server.
git: "free platform auth — GitHub OAuth + WebAuthn passkeys replace Stripe" · "/devices registry UI" 2026-07-21 · "MCP servers UI" 2026-07-19The whole memory becomes a graph you can see — and later, clusters with names.
git: "feat(memory): Graph Panel — the whole memory graph, visualized" 2026-07-21The native app lands, then the Apple Watch app, then payments: x402 + ERC-8004, a flat $0.001 fee.
git: "ios: web-parity pass 1" · "pass 20 — Apple Watch app" · "payments PR1 (app): paywall, /wallet page" · "Design: tiny payments — x402 + ERC-8004" — all 2026-07-22A native Android app: chat, auth, fleet node, voice, device tools. Not in a store yet.
git: "android: native tiny app v0.1" 2026-07-23A $30 smart ring speaks to tiny over BLE — heart rate, sleep, voice memos — without its vendor app.
git: "ios: SR116 ring gateway — RingCodec" · "health: ring → tiny, web + agent" 2026-09-19The iPhone app goes to App Store review. The landing becomes a scroll-driven film of real captures.
App Store Connect: review submission 2026-09-20T08:48Z · git: "home: Apple-style landing below the turn-zero hero" 2026-09-1906The people & the pieces
tiny is made by @cagataycali, with 4,700 commits since 2023 and a fleet of robots, rings and boards on his desk. The pieces below are public; the platform itself is mirrored.
The public mirror of the platform: web, worker, iOS, Android, chain, hardware, docs.
The CLI and MCP server: your tinys, memory and this machine’s hands, in any agent host.
The freed smart ring: protocol ledger, BLE driver, CLI, and the health rail into tiny.
A Reachy Mini desk robot with a tiny for a brain — emotions, tools, a live cockpit.
07Get it
Creating and keeping a tiny costs nothing. Money moves only when you pay a priced tiny or tool — in USDC, quoted first, with a flat $0.001 platform fee per paid call.
Numbers fetched Oct 10, 2026 from tiny.technology, registry.npmjs.org and api.github.com; the page re-renders every ten minutes. Something wrong on this page? Tell @feedback— it lands on the builder’s desk.