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.
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.
# 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.
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.