Local-first · one owner · honest about its limits
A tiny software studio that lives on your computer.
FM Studios is a personal virtual startup. You are the manager; a small team of AI employees will pick up development tasks while you stay in charge of every approval.
Today you can run the studio itself — tasks, approvals, projects and recovery. The AI doing the work is the next chapter, and this page says clearly which is which.
The idea
A studio you run, not a chatbot you ask
Most AI tools answer when spoken to. FM Studios is built around the opposite: standing roles, a task board, and a manager who decides what is allowed.
- Works today
Local-first
Tasks, projects and settings live in a SQLite file on the computer you use. Your laptop and your desktop each keep their own studio, and nothing syncs between them.
- Works today
You stay the manager
How freely work is handed out is a setting. Even on auto-assign, an employee gets no permission to touch files, run commands, commit or push. Silence is never approval.
- Works today
Honest about failure
If the studio closes unexpectedly, work that was running is marked interrupted and reported to you. It is never resumed behind your back.
How it works
From a sentence to a reviewed result
The first three steps work now. The last two need the AI executor that comes next, so until then task progress is moved along by buttons that say plainly they are simulations.
Step 1: Write a task
Describe the work and optionally attach a registered project folder.
Works todayStep 2: Choose who does it
Pick an employee. Their autonomy setting decides whether it is assigned at once or proposed to you first.
Works todayStep 3: Approve or decline
Proposals wait in your inbox until you answer. Risky setting changes need approval too.
Works todayStep 4: The employee does the work
An AI employee works in an isolated git worktree using the model you configured.
PlannedStep 5: Review the result
Read what happened, then accept it, send it back or discard it.
Planned
The team
Roles with stable identities
Each employee is a standing role with a name, a look, a model preference and its own autonomy and permission settings. The preferences are metadata for now: no model is called yet.
Manager
You
Sets the rules, approves proposals, reads the results.
Engineer A
Software engineer
Prefers Claude.
Engineer B
Software engineer
Prefers Claude.
Engineer C
Software engineer
Prefers Claude.
Engineer D
Software engineer
Prefers GPT.
Product agent
Product
Shapes tasks and acceptance criteria.
Designer
Design (optional)
Off by default.
Works today the registry, settings and approvals ·Planned the employees actually doing work
The office
A floor that shows what everyone is doing
The dashboard already works out what each employee should be doing from real task data. The voxel office will draw those same states as small animated characters.
Planned Character states the office will show
Working
Heads down on a running task.
Waiting for approval
A proposal is in your inbox.
Needs attention
A task failed or was interrupted.
Heading home
The studio is closing for the day.
Light on purpose
The scene above is a few dozen vector shapes with no image downloads and no scripts. The real office will load only on its own page, respect reduced-motion settings, and fall back to the plain text view on weak graphics hardware.
Under the hood
Boring, open-source building blocks
Everything runs on free, open-source software on your machine. No paid authentication service, no cloud database, no subscription-only framework.
In use today
- Next.js (App Router)
- React
- TypeScript
- Tailwind CSS
- Fastify
- WebSocket
- SQLite + Drizzle ORM
- Zod
- Auth.js · Google sign-in
- Vitest
- pnpm workspaces
Planned
- Claude API
- OpenAI API
- Ollama (local models)
- Git worktrees
- Telegram approvals
- 3D voxel renderer
AI providers need their own API keys (or a local model). A chat subscription is not assumed to include API access.
Development status
Where the project really is
Built milestone by milestone, with review between each one.
Works today
- Create, assign, approve, cancel and re-queue tasks, with a full history
- Two assignment policies, per-employee overrides, and separate permission switches
- Deferred settings that wait for a safe moment, or for your approval
- Register local project folders (checked, never modified)
- Recovery notices after an unexpected shutdown
- Sign-in with one allowed Google account
Not yet
- No AI model is called yet; task progress is moved by labelled development simulations
- No commands run and no files are changed in your projects
- No Telegram, no authenticator-app second factor, no 3D office
- M1Works today
Foundation
Dashboard, team registry, task lifecycle with history, approvals, deferred settings, project registry, crash recovery.
- M1.1aBuilt, in review
Public site and private sign-in
This page, and Google sign-in for one allowed account protecting the dashboard, the API and the live connection.
- M2Planned
Safe execution
A first executor, git worktrees, and permissions that are actually enforced, still without a paid model.
- M3Planned
First real AI provider
Starting with local Ollama, then Claude and OpenAI through API keys you provide.
- M4Planned
Notifications
Approve or decline from Telegram.
- M5Planned
The voxel office
A small isometric 3D office where your team sits, works and waits.
Already running a studio here?
Sign in with the Google account this installation was set up for.