Next.js on Vercel · Cloudflare Worker · Apache-2.0

Start your own tiny.technology on Vercel.

Personal AIs anyone can create by chatting — with an agent loop and tools, passkeys, devices and memory. The production codebase, distilled into a template you own.

  • No feature cut. All 64 API routes of the original web app and all 121 worker endpoints are here (plus one new /api/health); where docs and code disagreed, the code won and the difference is written down.
  • Nothing points home. Hosts, ids, keys and owner identity are environment variables. An unset value is an off switch, never a silent fallback.
  • Fifteen minutes to a login page. One script provisions Cloudflare, one wrangler deploy, one click on Vercel.

Deploy with Vercel Get started Live demo ↗

Personal AIs

/<slug> is a living AI: system prompt, knowledge, tools, memory, a public profile card, vCard, QR and Open Graph image. Visitors chat with it; the owner shapes it by chatting too.

Agent loop with tools

POST /api/chat streams Server-Sent Events from a Strands agent. Memory, learnings, web, devices, scheduling, community, media and voice are tools; the model is the user's choice.

Identity

GitHub OAuth for the first login, WebAuthn passkeys after that, a CLI token flow for daemons, an HS256 session cookie. Owner-only routes fail closed when OWNER_LOGIN is unset.

Devices

Laptops, phones, e-ink displays, robot arms or any HTTP endpoint enroll under app/api/devices/*. Relay envelopes, heartbeats, task results, transcripts and Web Push live here.

the 15-minute deploy
# 1 · Cloudflare storage: 3 KV, 1 D1 (36 migrations), 2 Vectorize, 1 R2 — under one prefix
node scripts/bootstrap-cloudflare.mjs --prefix tiny-vercel --migrate

# 2 · the worker
cd apps/worker
openssl rand -hex 32 > /tmp/internal-key
npx wrangler secret put INTERNAL_API_KEY --config wrangler.generated.toml < /tmp/internal-key
npx wrangler secret put OPENAI_API_KEY   --config wrangler.generated.toml
npx wrangler deploy --config wrangler.generated.toml
curl https://tiny-vercel-worker.<you>.workers.dev/health   # {"ok":true,"service":"worker",…}

# 3 · a GitHub OAuth App (callback https://<your-app>/api/auth), then the Deploy button
# 4 · sign in → Create your AI → chat → add a passkey → Devices → npx tiny-tech

What plugs in

The account behind this template runs a small fleet through the same routes you deploy: Macs and a Linux box on tiny-tech, an iPhone and iPad, a WiFi Pineapple, a DJI drone, a Nicla Vision necklace, three e-ink displays, a robot arm and a 3D printer. Dial-in devices hold a token and poll a mailbox; dial-out devices expose three HTTPS routes and the worker calls them.

Connect a device →  ·  How devices work →

Read the docs

Deploy in 15 minutes — the exact sequence that produced the live demo.
Reference — every HTTP route, the wire contracts, and the engineering ledgers the code was ported against.