A menu-bar control room for AI media, coding agents, and Remotion renders.
Live demo. Click Run to load the real app and use it right here, or open it full-screen.
Forge is a native macOS desktop app Pablo built as a personal AI orchestration center: one surface for generating media, running coding agents, and rendering demo videos. Instead of tab-hopping between provider dashboards and CLIs, everything runs through an Electron shell that spawns a local Express backend and streams progress to a React UI over WebSocket. It lives in the menu-bar tray and auto-launches hidden at login.
The centerpiece is the AI-to-Remotion pipeline. Describe a video in plain English and Forge asks Gemini for a schema-constrained component, writes a self-contained .tsx with an isolated entry that registers only that one composition, runs `remotion render`, and streams the log back to the UI without ever touching the source project's Root.tsx. Forge also mirrors its powers as an MCP server, so Claude or any agent can generate images, video, and voice, read repos, and manage templates headlessly. API keys never hit disk in plaintext: they are encrypted at rest with Electron safeStorage, with env fallbacks for headless dev.
Producing AI media and demo videos means juggling provider dashboards, CLI tools, and one-off render scripts. Forge collapses that into a single macOS app: generate images, voice, and video, drive coding agents, and render Remotion demos from one window. Agents can reach the same media and repo tools over MCP.
electron/main.tsappmacOS menu-bar shell that spawns the Express backend as a child process, holds the tray menu (show window, MCP status, copy LAN IP), and stores provider keys in the Keychain.
server/index.tsserviceExpress 5 API on port 3400 that routes media generation, agent tasks, Remotion templates, git repos, providers, and workspace files, with a WebSocket for live task and render progress.
server/mcp-server.tsmcpStandalone stdio MCP server that hands Claude Code eleven forge_* tools (generate, edit, and upscale media; list repos and media; run and create templates) by calling the Forge API.
src (Forge dashboard)appReact 19 and Vite dashboard (templates, images, video, audio, gallery, editor, agents, repos, providers, workspace, settings) that drives every backend route and serves as the localhost:3400 browser view.
server/gemini-compose.tslibraryAsks Gemini for structured JSON plus relevant SKILL.md context to synthesize a self-contained Remotion component, then writes it under the active project's src/ai-generated/ folder.
server/remotion-templates.tslibraryRemotion template engine that scans a project's Root.tsx for literal Composition tags, tracks parameterized and standalone templates, and maps rendered videos into the shared media root.
server/providerslibraryProvider adapters for Gemini (Imagen, Veo, TTS), ElevenLabs voice, RunPod serverless GPU (Qwen-Edit, RealESRGAN, Qwen3-TTS), and Codex and Claude CLI subprocess launchers for agent tasks.
server/skills.tslibrarySkills bridge that indexes SKILL.md files across the Claude, Stitch, and Projects skill roots and loads raw content on demand for Gemini's system prompt.