Rob Lee MediaResearch Lead ManageAdrian, Michigan · Since 2023
Light, code,and the worldsin between.
A studio that learned to build its own tools, then kept using them. The agent mesh in Act II built the commercial platform Act I now runs on. The camera work never left.
- Focus
- Agentic AI Systems · Software · Photo & Film · Games
- Projects
- 48
- Open source
- 17 public repos · 10 stars
- Review model
- Cross-vendor judging on critical gates
- Availability
- Engineering: open to full-time / contract · Studio: open to commissions
Prologue
Eleven months from the first line of code.
Rob Lee Media has been a photography and cinematography studio since 2023. In September 2025, with no prior coding, engineering or AI experience of any kind, that changed. Everything in the four acts below was built after that date. The chart below is not an illustration. It is generated at build time from the GitHub account's own repository record.
- First line of code
- Sep 2025
- Prior experience
- None
- To platform launch
- 11 months
- Repositories since
- 89
View as table
| Month | Repositories |
|---|---|
| Oct 2025 | 19 |
| Nov 2025 | 24 |
| Dec 2025 | 3 |
| Jan 2026 | 2 |
| Feb 2026 | 5 |
| Mar 2026 | 2 |
| Apr 2026 | 0 |
| May 2026 | 9 |
| Jun 2026 | 10 |
| Jul 2026 | 14 |
| Aug 2026 | 2 |
- 002022 to August 2025
A studio, and nothing else
Rob Lee Media made pictures. That was the whole business.
The oldest repositories on the account are from 2022. Four of them, written in Batchfile and C, configuring a DayZ game server. Loot tables and spawn rules, the sort of file editing that running a server asks of you.
Then the account goes quiet for three years.
That silence is the honest starting line. No degree in this, no bootcamp, no job in the field. Rob Lee Media was founded in 2023 in Adrian, Michigan, and it shot commercial and event work, portraits, and fine art, and did that well, and there was no reason to think it would ever do anything else.
- Repos
- 4
- Languages
- Batchfile · C
- Quiet
- 3 years
- 01September to December 2025
Vibecoding
Forty six repositories in ninety days, and almost all of them were practice.
The first TypeScript repository lands on 4 October 2025. Forty five more follow before the year is out.
They are what you would expect from someone finding out what is possible. Model wrappers, a meme generator, an image editor, three passes at the same idea in a fortnight. On 12 November alone, sixteen repositories in a single day.
Almost none of it survives into this portfolio, and that is fine. What survived was the pace of learning. This is the part of working with AI that is genuinely new: the distance between wondering whether something is possible and finding out collapsed to an afternoon. Curiosity stopped being expensive.
- Repos
- 46
- First TypeScript
- 4 Oct 2025
- Busiest day
- 16 repos, 12 Nov
- 02January to April 2026
Slowing down on purpose
Nine repositories in four months, and April produced none at all.
After forty six in a quarter, the rate falls off a cliff. That drop is the most encouraging thing on this chart.
A backend with real auth and a provider router. A CLI starter. SpaceFuzz. The studio platform and the client gallery. Projects measured in months rather than evenings, and the first ones that had to keep working the day after they were written.
Speed gets you to the edge of your understanding quickly. It cannot carry you past it. Everything after this point took the time it took.
- Repos
- 9
- April 2026
- None
- Change
- Volume to durability
- 03May 2026
The mesh
On 19 May, five repositories were created in one day. They are one system.
Hydra, TheEights, ExecutiveSuite, MarketBliss and RLM Creative all appear on 19 May 2026. AgentSmith follows the next morning, pair-programmer nine days before.
They arrived together because they were designed together. A supervisor, a memory and governance substrate, and three squads that register into it. Not six projects that later learned to talk to each other, but one architecture committed at once.
This is also where RLM picks up its second meaning. Rob Lee Media still makes pictures. Research, Lead, Manage is what the same three letters do now: research a problem properly, lead the work with judgement, manage the systems that carry it. The studio did not become a software company. It grew a second hand.
- Repos
- 9
- 19 May 2026
- 5 repos, one system
- Public
- All of it
- 04June 2026 to now
Things with users
RLM Platform · launches this month
RLM Platform launches this month. The studio runs on software the studio wrote.
A browser native space sim. A pipeline that turns drone footage into somewhere you can stand. An orchestrator that runs shell steps and model steps in the same graph. A gateway that meters every model call the rest of it makes.
The work now divides cleanly into the four acts below, and the tooling exists because the volume demanded it rather than the other way round.
None of this replaced the photography. The camera work is still the camera work, and the taste that decides which frame is the one is exactly where it always was. What changed is how much of the rest a small studio can carry on its own.
- Repos
- 25
- RLM Platform
- Launching Aug 2026
- Still shooting
- Yes
Act IRob Lee Media · Photography · Cinematography · Video
Light & Time
Where it started in 2023, and what everything since was built to serve.
RLM Platform, the bookings, delivery, and invoicing the studio runs on, was built by the agent mesh in Act II for the studio in this one.
5 projects
LAUNCHES THIS MONTH · AUGUST 2026

- 001RLM PlatformPrivateReplaces WordPress, a legal template subscription, Google Drive and a folder of spreadsheets with one system the studio actually owns.Next.js 15SupabaseStripeThree.jsTurborepo
Metrics
- Launching
- August 2026
- Replaces
- 4 disconnected tools
- Built by
- Hydra · pair-programmer · AgentSmith
- 002PhotoLib AIPrivateA photo library that runs on your machine and answers to you. No subscription, no forced cloud, and you choose the models.Tauri 2RustReact 19FastAPI
Metrics
- Default
- Fully offline
- Cloud AI
- Opt in, never required
- Library
- Non-destructive
- 003Photo GeniePrivateThe editing half of the same argument: your provider, your model, your machine if you want it.TypeScriptVision modelsLocal inference
- 004Client GalleryPrivateDelivery is the last thing a client remembers about a shoot, so it gets the same care as the grade.TypeScriptSigned URLsCDN
- 005RLM CinemaPrivateThe motion side of the studio, kept close enough to the stills that one shoot can feed both.DaVinci ResolveBlenderWebCodecs
Act IIResearch · Lead · Manage · Agentic AI
The Mesh
Named things behave. A supervisor, a memory, and squads that know what they owe.
Built the studio's own platform end to end, under governance that survives a vendor swap.
17 projects
One body, many heads
Every part of it is named for something.
The naming started as instinct. A squad given a role with a story attached behaves more steadily than one given a job title, because the story carries expectations a title does not. A jurist knows what a jurist owes. A host knows what is owed to a guest.
What follows is one architecture rather than a collection. Five of these repositories were created on the same day in May 2026, because they were designed on the same afternoon.
- Systems
- 11
- Squad packs
- 5
- Agents
- 65
- Open source
- 10 of 11
- Stars
- 10
- The BodySupervisorHydra ★2The Lernaean Hydra was hard to kill because cutting off a head produced two more. A useful shape for a system that should get stronger where you push on it.Classifies a goal, decomposes it into typed envelopes, dispatches subgraphs in parallel, and returns one decision record. Budgets enforced, not reported.
- The CouncilSquad packExecutiveSuite ★2Twenty executives and four rooms to convene them in. A council is not a person who knows everything, it is a way of being wrong in public before it costs anything.Twenty executives and four orchestrated rooms. Grounded in a 37,000 word research base and in the EU AI Act, NIST AI RMF and COSO ERM.
- The CuriaSquad packSenateTwelve jurists bound by the Twelve Tables, deliberating under the Law of Citations and halting at the Tribune's Veto. Precedence is written down, so disagreement is the product rather than a fault.Twelve named jurists running the Law of Citations: majority prevails, Papinian breaks ties, dissents stay on the record.
- The ThresholdSquad packXeniaXenia was the Greek covenant of hospitality, binding before introductions. The guest at your door is owed something before you know who they are.Eleven heads. Answers are cited from the knowledge base or it fails closed and escalates. OWASP LLM aware guardrails, hard budgets with terminal states.
- The AgoraSquad packMarketBlissThe agora was where a city argued, traded and decided what it thought. Marketing is that, run deliberately.Fifteen specialists across five squads, six industry profiles, five governance gates between directive and delivered work.
- The GarlandSquad packRLM CreativeA garland is what you give something worth honouring. Eight heads take a brief all the way to a finished frame.Thirteen agents. Eight Muses fan out a brief; a five agent sub-crew under Helios handles video, foley, scoring, mixing and C2PA provenance signing.
- The FactoryFactoryAgentSmith ★1Named for the agent that replicates itself until it is the whole system. The joke stopped being funny once it turned out to describe the job.Ten hash-bound invariants across eight sibling projects. Factory, Inspector, Sentinel and Archivist. Fails closed, and cannot raise its own replication cap.
- The OuroborosSubstrateTheEightsAn eight on its side is infinity, and the shape a thing makes when it loops back through itself and keeps going. Memory that feeds the next decision.Local-first daemon and MCP server. Shared memory, governance gates, an append-only audit graph, and a gated self-evolution loop. The root of trust.
- The ForgeHarnesspair-programmer ★5Three smiths at one anvil, each striking differently, and a judge deciding which blow was right. One model agreeing with itself is an echo, not review.Thirty-nine sub-agents across twenty-two teams. Critical gates are judged by a different vendor than the one that generated the work.
- The AnvilHarnesspi-pp-platformSomewhere solid for the forge to strike against. Unglamorous, and the reason the work holds its shape.The same harness ported onto the pi runtime with no vendor CLI dependency at all. Four run modes, twenty-six team pipelines, a typed API and a web surface.
- The BindingControl planeAgentMesh PrivateThe ring that holds the others without ruling them. It routes and it watches, and it enforces nothing, because authority that accumulates at the switchboard is how a mesh quietly becomes a monolith.The governed control plane binding the nine-system mesh. Registry, lifecycle and observability. Calls AgentSmith at enrollment for structural inspection.
- 001HydraPublic2 GitHub starsMany heads, one covenant. Routes work across specialist squads under governance you cannot quietly edit mid-run.Python 3.11LangGraphClaude Code plugin
Metrics
- Squads
- Executive · Forge · Garland + packs
- Governance
- SHA-256 attested constitution
- Gates
- HITL · budget · cross-model judging
- 002TheEightsPublicShared memory and a tamper-evident decision trail for agents that must not be coupled to each other.TypeScriptSQLitesqlite-vecMCP
Metrics
- Position
- Below the orchestrators
- Audit
- Append-only graph
- Deployment
- Local first daemon
- 003pair-programmerPublic5 GitHub starsCritical work is judged by a model from a different vendor than the one that wrote it. Marking your own homework is the failure mode.TypeScriptClaudeCodexGeminiSQLite
Metrics
- Sub-agents
- 39 across 22 teams
- Judging
- Cross-vendor on critical gates
- Taxonomy
- 16 SDLC sections enforced
- 004AgentSmithPublic1 GitHub starTen invariants, bound by hash, that no agent in the fleet can rewrite. Including this one.TypeScriptMCPNode 20
- 005ExecutiveSuitePublic2 GitHub starsA C-suite you can convene on a Tuesday, with the meeting structures that make a room of experts useful.Claude CodeHydra squad pack
- 006SenatePublicRome solved the conflicting-experts problem in 426 AD. The Law of Citations still works, so this runs it natively.Claude CodeHydra squad pack
- 007XeniaPublicSupport answers are cited or they are not given. An unsourced confident reply is worse than no reply.TypeScriptHydra squad packRAG
- 008MarketBlissPublicTurns a CMO directive into executed work: research, strategy, briefs, copy, production, media plans and measurement.TypeScriptHydra squad pack
- 009RLM CreativePublicA brief goes in, campaign-ready deliverables come out, and every generated asset is signed with its provenance.CrewAI-styleHydra squad packC2PA
- 010Enterprise Data BrokerPublicIntegrate once with the broker instead of rebuilding Salesforce, Genesys, Jira and M365 connectors in every internal tool.PythonZero TrustOpenAPI 3.1
- 011
pi-pp-platformPublicThe same harness with the vendor CLIs removed. No Claude Code, no Gemini, no Codex, no Copilot required.TypeScriptpi runtimeFastifyReact - 012nightshiftPublicQueue specs in the evening. Wake to staged patches, a briefing, and a decision queue for anything that needs you.PythonClaude CodepiSQLite
- 013FABLE HarnessPublicA full development platform built from nothing but Claude Code primitives. No MCP servers, never headless.Claude CodePowerShell 7Git worktrees
- 014Claude Code OrchestratorPublicA tiered engineering fleet where cheap models write first and expensive ones are earned, not defaulted to.PowerShellClaude CodeCodex
- 015Mythic ProportionPublicDrop any document into a folder. Get back a self-linking knowledge graph you can search, own, and fly through in 3D.PythonGraphRAGSQLiteReact Three Fiber
- 016maf-template + AutoMeshPublicGoverned agents on Microsoft Agent Framework and Azure AI Foundry, with a working cross-system automation to prove it.Python.NETAzure AI FoundryA2A
- 017deepseek-pi-mcpPublicAdds a model to your session without handing it the filesystem. Asking for more authority than you hold gets you less.TypeScriptMCPDeepSeek V4
Act IIISoftware Platforms · Tools · Pipelines
The Machine
Most of these started as something the studio needed. A few outgrew that.
Built and judged the same way either time: candidates generated, then judged across vendors before anything ships.
18 projects
- 001AutoOrchestratePrivateAn autonomous software factory for the enterprise: multi-provider agent workflows with governance, real cost accounting and analytics on every run.TypeScriptNode 22SQLiteWebSocketDocker
Metrics
- Providers
- Claude · Copilot · Codex · Gemini · pi (25+ vendors)
- Triggers
- CLI · web · REST · cron · webhook
- Accounting
- Real token cost, per action
- Concurrency
- 10 active, 50 queued
- 002AuthHubPrivateThe control plane every other project plugs into: identity, AI routing, databases, secrets and Kubernetes, behind one API and two SDKs.TypeScriptFastifyPostgreSQLRedisKubernetesOIDC
Metrics
- Pillars
- Auth · AI · Data · Secrets · K8s
- Identity
- JWT · API keys · OAuth · RBAC · OIDC provider
- Clusters
- k0s · k3s · k3d · kind, multi-cluster
- SDKs
- TypeScript and Python
- Naming
- Rename pending
- 003
RLMgsplatPrivateFly a drone over a place, get somewhere people can move through in a browser. No plugin, no download.PythonBabylon.js 9WebGPUCOLMAPMetrics
- Inputs
- Drone · handheld · COLMAP · text to 3D
- Exports
- PLY · SPLAT · SPZ · SOGS
- Fallback
- WebGL2 required, not optional
- 004CineOSPrivateAn AI-native production studio in one system: storyboards, shot lists, scheduling, cast and crew, previs, character development and assisted writing.TypeScriptReactPostgreSQL
Metrics
- Span
- Script to delivery
- Includes
- Storyboard · shot list · schedule · previs
- 005forge3dPrivateGenerating a mesh is the easy part now. This is everything between that and an asset a game engine will accept.Blender 4.xblender-mcpTRELLIS-2Hunyuan3D-2glTF
- 006RLMstudioPrivateBuild the lighting setup in 3D, then generate the photograph. Twenty years of studio craft, pointed at image models.TypeScriptThree.jsImage models
Metrics
- Camera presets
- 23+ cinematic
- Control
- Position, rotation, per-preset overrides
- 007
RLManimatorProPrivateGenerated images are easy. Generated images that hold continuity across forty frames are not.TypeScriptReactWebCodecs - 008Nexus AIPrivateRoutes every task to the model that suits it across 35+ options, which lands 20 to 30 percent under always using the expensive one.TypeScriptReact35+ providers
- 009StreetMusePrivateA social network for street photographers built around getting better, with the masters as the curriculum.TypeScriptPostgreSQLS3
- 010AI Design System GeneratorPrivateGenerates a whole design system with a point of view, rather than another screen that looks like every other generated screen.TypeScriptReactImage models
- 011Tripo3D StudioPrivateEvery Tripo3D endpoint and every parameter, generated from a registry so the forms can never drift from the API.TypeScriptReactTripo3D OpenAPI
- 012ElevenLabs API StudioPrivateNarration and sound design as a versioned pipeline, so re-recording one line replaces one line.TypeScriptElevenLabsAuthHub
- 013R3F Level EditorPrivatePick a real place on Earth, get terrain you can walk on, in the browser.React Three FiberViteElevation data
- 014Cultural Spanish CoursesPrivateA course platform built around one teacher and her students, accessible to WCAG 2.2 AA from the first commit.ReactTypeScriptSupabaseNetlify
- 015The RLM MethodPrivateThe nine-phase pipeline behind most of this portfolio, running the same way whether you drive it with Copilot CLI, Claude Code or Gemini CLI.Copilot CLIClaude CodeGemini CLI
Metrics
- Phases
- 9, idea to production
- Harnesses
- 3, one canonical workflow
- Version
- v2.7
- 016RLMvibe EvolvedPrivateThe second attempt at the tool that built everything else, rebuilt once it was clear what the first one had been for.TypeScriptReactSQL Server
- 0173pPortalPrivateOne console for the cloud services a project actually runs on, instead of eight dashboards and eight logins.TypeScriptProvider APIs
- 018
RLM P107PrivateStudy and practice for the FAA Part 107 exam, the certificate you need before flying a drone commercially.TypeScriptReact
Act IVGames · Simulation · Real-time 3D
Worlds
Places built to be flown through, and the pipelines that fill them.
10,000-frame determinism closes, not screenshots.
8 projects
- 001
Black MarblePrivateHard science, soft heart, one pilot. You fly by instruments and signal locks rather than a waypoint marker, and the opening act plays end to end today.TypeScriptThree.jsMonorepoMetrics
- Playable
- Through Act 1
- Target
- Browser, single player
- 002
SpaceFuzzPrivateThe wide-open counterpart to Black Marble. Five loops (fly, fight, build, mine, trade) feed one connected economy, not five separate demos.TypeScriptThree.jsDockerMetrics
- Loops
- Flight · combat · build · mine · trade
- Multiplayer
- Lobby driven, partly wired
- 003
DRYDOCKPrivateHow close can a browser tab get to a shipped AAA space sim? This exists to find out, and to be honest about the answer.Three.js r185WebGPUTSL/WGSLBlender - 004GoldenEye 007 RemakePrivateNostalgia is unforgiving. People remember how it felt, and they are right, so the simulation has to be reproducible: a 10,000-frame determinism close, not a screenshot.TypeScriptWebGLPlaywright
- 005ChaosPrivateThe same game built twice on purpose, once in the browser and once in Unreal, to find out which parts are engine shaped.Three.jsNext.jsUnreal Engine 5
- 006Solar FrontierPrivateSpace strategy that keeps the real distances, so a decision commits you for the length of a transfer.TypeScriptVite
- 007Extraction PrototypePrivateThe smallest version of an extraction loop that still produces the feeling: the run is only worth what you leave with.GodotGDScript
- 008
PlanetForgePrivateEvery space project here needs planets, and none of them can afford to generate one at runtime.BlenderPythonWeb export