From AR robotics to AI tutors, evolved virtual creatures to multiplayer game worlds — here's a taste of what we're working on.
Tech World
A multiplayer 2D virtual world where players solve coding challenges together — with proximity video chat, an AI tutor powered by Claude, and a full in-game code editor.
Loom
Agent-native CMS — humans and AI agents edit the same content store, structurally. The same Zod schema drives the form UI a human sees, the MCP tools an agent calls, the TypeScript types your build consumes, and the validation on every write. An agent isn't an integration; it's a peer editor. Loom is where Scribe lives.
CrowdLeague
A mobile app for finding sports players and venues near you. Built for Melbourne basketball, designed to scale nationally for Brisbane 2032.
LiDAR Robot Arm
Turn your iPhone into a robot arm controller. Uses LiDAR body tracking and hand pose detection to stream joint angles over WebSocket to a LeRobot SO-100 servo arm — no second leader arm required.
Evolving virtual creatures with co-evolved bodies and brains in a 3D physics simulation, extending Karl Sims' 1994 SIGGRAPH classic. Morphology, neural circuits, and locomotion strategies emerge from genetic algorithms.
Rust/WASM SNES Emulator
A cycle-accurate Super Nintendo emulator written in Rust, compiled to WebAssembly, running in the browser. To my knowledge the only Rust/WASM SNES emulator running in a browser. Audio verified to 1.01× amplitude vs blargg reference using principal-component comparison; trace-oracle debugging methodology against Mesen2.
GitHub Desktop Flutter
A GitHub Desktop-inspired app for macOS rebuilt entirely in Flutter, with Redux state management and custom GitHub OAuth via Cloud Functions.
Flutter Shader
GPU shader experiments in Flutter — generating SPIR-V shaders from Dart expressions and rendering them via CustomPaint. Programmable graphics pipelines in Flutter.
GhostHustlers
A cross-platform AR ghost-catching game built with Unity 6. Hold the screen to fire a proton beam at ghosts hovering in your physical space — Ghostbusters meets Pokemon GO.
Dart Box2D WASM
Box2D physics running in Dart via WebAssembly — loading a compiled WASM module and running physics simulations without leaving the Dart runtime.
Embodied Dreamfinder
A voice-interactive 3D avatar that listens, thinks, and talks back with real-time lip sync. Powered by OpenAI Realtime with a TalkingHead frontend and Kan tool integration for project management.
NavMelb
Multimodal Melbourne navigation — chains car and PTV legs into a single journey via a custom streaming Raptor implementation over real GTFS timetable data. Partial-route-failure handling (HTTP 207), station-name search, geocoding, and a Leaflet map served through Expo WebView.
Imagineering Dashboard
Team activity dashboard for the Melbourne Imagineering meetup — tracks what each member is shipping each week. The dashboard linked from /imagineering is this project, built by a member of the meetup it watches.
Claude Chorus
Instruction architecture for orchestrating Claude Code instances — ephemeral and autonomous — with shared culture, coding standards, and memory. Multi-agent orchestration as deliberate architecture, not improvisation.
Dreaming Agent
An autonomous research agent that wakes, works, reads, and dreams — running Claude Code in a Docker container with persistent memory. Independently arrived at the same primitive that powers Enspyr's overnight sleep cycle for Claude.
Melb Tech
Interactive directory and knowledge graph of Melbourne's tech community — Next.js, PostgreSQL, d3-force. Maps the network Robin himself participates in via Imagineering.
The Dreaming Repo
A repository that is alive. It has a heartbeat, it senses the world, and when it sleeps, it dreams. The progenitor of Enspyr's sleep-cycle work and the lineage that became Scribe.
Familiars
Kanban-shaped board where each card is a bound Claude agent — a familiar, summonable from a phone tap. Direct expression of the 'code as familiar' provocation: your past solutions stop being checkboxes and become a party.
An interactive 3D visualization of the Dirac belt trick — why a spinor needs 720° to come home. Two belts twist under a full turn and stay stuck; a second turn unwinds for free. π₁(SO(3)) = ℤ/2ℤ made tangible in three.js.
Real-time GPU fluid: a Gaussian jet of colored smoke enters laminar on the left, Kelvin-Helmholtz instabilities roll it into vortices, and it cascades into turbulent mixing on the right. Navier-Stokes on a 2048×256 grid, Reynolds ~115,000, solved live in the browser.
Our Studio · Melbourne · imagineering.cc
Imagineering is our open meetup and R&D lab. Humans and AI agents collaborate as peers on real, shipped systems — the techniques we use for clients get sharpened here first.
A Claude agent that runs our project management. Listens in chat, writes your standups, opens your tickets, files your docs — no slash commands, just natural language.
~75 tools · 710+ tests · 16 domain tables · deployed
Turing, Gödel, Shannon, Nash, Lovelace, von Neumann, Wiener and Dijkstra debate live — each on a different AI backend (Claude, GPT-4o, Gemini, Ollama), each running on a different machine, all joining a shared LiveKit room.
8 agents · 4 AI backends · multi-machine · realtime voice
Discord, Telegram, WhatsApp, Signal and Element — one shared room. Send on any platform, seen on all the others, with the right name and avatar. Self-hosted Matrix homeserver, custom relay appservice.
5 platforms unified · puppet relay · self-hosted
Our self-hosted stack: Kan.bn (Trello), Outline (Notion), Radicale (Calendar), MinIO (S3), Caddy reverse proxy — all wired into Dreamfinder via MCP, all running on Oracle's free tier.
5 services · MCP-integrated · zero hosting cost
weekly build sessions · open source · collaboration over competition