A cloud operating system where AI doesn't automate—it inhabits. Apps are JavaScript artifacts in a shared VM. AI lives in the same address space, sees the same pixels, edits the same DOM.
Try the Live Demo | The Happy Path | Lens Docs
In traditional systems, AI automates from outside via WebDriver protocols. The AI is a client; the app is a server.
In FunctionServer:
- Apps are JavaScript running in the browser's VM
- AI executes in the same VM via the
eyeWebSocket bridge - When AI calls
getBoundingClientRect(), it touches the same DOM element you see - When AI edits code, it sees the result instantly—no file round-trips
This isn't remote control. The AI is inside the browser.
A WebSocket bridge that lets AI execute JavaScript in your browser in ~25ms.
eye 'document.title' // Get page title
eye 'ALGO.bridge.openApp("studio")' // Open an app
eye 'Lens.grep("fetchData")' // Search codeOne API for the complete development workflow. Edit, run, commit, push—all through Lens.
Lens.project("my app") // Create project → GitHub, open in Studio
Lens.grep("fetchData") // → "42:async function fetchData"
Lens.setLine(42, "fixed") // → "✓ L42"
Lens.save() // → "✓ saved"
Lens.run() // Execute and see result
Lens.commit("Fix bug") // → "✓ committed"
Lens.push() // → "✓ pushed"
Lens.help() // Show all commandsFrom idea to deployed code. One namespace. 60x fewer tokens than file operations.
Console monitoring that wakes up AI when errors occur. Toast appears offering AI help. AI receives error context automatically.
When AI looks at or edits something, humans see it happen. Purple highlights for inspection, green flashes for edits.
- Go to functionserver.com/app
- Register or continue as guest
- Open Studio from Programs menu
- Run
Lens.help()for commands
git clone https://github.com/williamsharkey/functionserver
cd functionserver/go
go run .
# Open http://localhost:8080/appIf you're Claude running inside FunctionServer's terminal, see CLAUDE.md for the full guide.
Quick start:
// Create a new project (loads Studio, creates repo, pushes to GitHub)
Lens.project("my app")
// Or open an existing file
getFileFromDisk('~/repos/my-app/main.js')
// Get command reference
Lens.help()┌─────────────────────────────────────────────────────────┐
│ Browser (FunctionServer) │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────┐ │
│ │ Apps │ │ Studio │ │ Guardian │ │
│ │ (JS in VM) │ │ + Lens │ │ (error watch) │ │
│ └─────────────┘ └─────────────┘ └─────────────────┘ │
│ │ │
│ ┌──────────┴──────────┐ │
│ │ ALGO.bridge │ │
│ │ (WebSocket) │ │
│ └──────────┬──────────┘ │
└─────────────────────────┼───────────────────────────────┘
│
┌───────────┴───────────┐
│ │
┌─────▼─────┐ ┌──────▼──────┐
│ eye CLI │ │ eye-mcp │
│ (human) │ │ (Claude) │
└───────────┘ └─────────────┘
functionserver/
├── core/
│ ├── algo-os.html # Main OS (~2500 lines)
│ └── apps/ # System apps
│ ├── studio.js # IDE with Lens
│ ├── launcher.js # Quick access menu
│ └── github-auth.js # OAuth sign-in
├── go/
│ └── main.go # Go backend
├── www/
│ ├── index.html # Landing page
│ ├── lens.html # Lens documentation
│ ├── thehappypath.html # Developer guide
│ └── door.html # Philosophy/story
├── CLAUDE.md # AI agent instructions
└── README.md # This file
- The Happy Path - Developer guide for AI-first development
- Lens - Token-efficient editing API
- The Door - Philosophy and architecture
- CLAUDE.md - Instructions for AI agents
MIT
- Live Demo: functionserver.com/app
- GitHub: github.com/williamsharkey/functionserver
- Issues: github.com/williamsharkey/functionserver/issues