Life Island β a 3D world where the townspeople think for themselves
A walkable 3D island in the browser. Its 24 townspeople are LLM-driven characters who work an AI-planned daily schedule, speak in their own voices, and are audited every night by another AI that files GitHub issues about the island it lives on.
Project Highlights
Live and publicly walkable β 151 tests, deployed backend, guardrails enforced
Real-time 3D / Applied AI
Three.js, TypeScript, Vite, Firebase Cloud Functions, Realtime Database, Claude API, ElevenLabs, Vitest
Life Island β a 3D world where the townspeople think for themselves
Live at island.digiscalability.com
What it is
A portfolio you walk around in. Life Island is a 3D planet in the browser with 24 townspeople who are not scripted β each is an LLM-driven persona with a role, a personality, and a daily schedule planned by another model overnight. You can talk to them, and they answer in their own voice.
Most of the interesting engineering is not the rendering. It is what happens when you let a language model drive parts of a live world that strangers can visit.
What is actually running
- 24 AI townspeople β server-side Claude personas, matched id-for-id between the client roster and the Cloud Functions backend
- A daily planner β an overnight model run that schedules what each character does the next day
- A nightly analyst β reviews the island's own telemetry and files GitHub issues about problems it finds. It has filed ten. One of them politely reported that the island was getting zero leads.
- Live multiplayer presence β see other visitors in real time, with proximity chat bubbles, spatialised push-to-talk voice, and emotes over Firebase Realtime Database
- An in-world economy β fishing, shops, and a bank vault backed by an idempotency-keyed Cloud Function transaction that cannot overdraw
- 151 unit and parity tests across 16 files, plus typecheck, lint and a production build on every push
The guardrail that made it shippable
Letting a model write text that strangers read is a risk. The invariant here: for anything world-visible, the model selects an index from pre-authored pools rather than writing prose. That selection is validated on the server and again on the client. Free-form model prose is confined to surfaces only the owner sees β the digest email and the GitHub issue bodies.
That single rule is what let AI characters go in front of the public without a moderation incident waiting to happen.
Honest status
Live and publicly reachable, but not launched β no announcement has been posted anywhere, and it has no visitors, users, or revenue. It is a portfolio and R&D artifact, not a product for sale. Progression is deliberately stored per-device; cloud coin merging was removed after it turned out to be a refund exploit (there is a blog post about that).
Built by one person, pair-programmed with Claude Code β most commits are co-authored, and that is part of the story rather than a footnote.
Why it matters for client work
Everything hard about production AI shows up here in miniature: cost caps, prompt guardrails, validation on both sides of the wire, graceful degradation, and a deployed backend that enforces its own rules. It is the same discipline applied to client systems β with the advantage that you can go and click on this one.
Need Similar Results?
Let's discuss how we can help your business achieve comparable success.
Start Your Project