AI Office

AI Office is a multi-agent workspace built for startup teams. The idea is to give a founder a small AI organization that can take a startup from an initial description to actual tasks and execution.

The process starts with onboarding. The founder describes the startup, what they are building, their goals, constraints, priorities, and current stage. The AI converts this into a structured startup context which the founder can review and edit.

From this context, the system suggests an organization using a fixed set of six roles: CEO, Tech Manager, Backend Engineer, Frontend Engineer, Growth Manager, and Marketing Employee. The founder can choose which roles to activate, with the CEO always being required.

Once the organization is created, the founder communicates with the CEO. Instructions and decisions from the conversation are stored so they can be used later. When the founder gives the CEO a task, the CEO can delegate it to the appropriate manager. The manager then breaks it down into smaller tasks and assigns them to the relevant worker agents.

For example, an instruction such as "build a landing page" can move from the CEO to the Tech Manager and then be divided between the Frontend Engineer and Backend Engineer. Each task keeps track of who created it, who owns it, its parent task, and its current status.

The worker agents execute their assigned tasks and return an execution result containing a summary, output or draft, whether they are blocked, and what should happen next. Task status is also sent to the frontend in real time using Socket.IO, so the founder can see progress without refreshing the page.

A major part of the project is the escalation flow. If a worker cannot complete a task, the blocker first goes to its manager. If the manager cannot solve it, it moves to the CEO. If the CEO also cannot resolve it, the workflow reaches the founder. At this point, LangGraph pauses the execution using an interrupt. After the founder provides an answer, the same workflow is resumed from its previous state rather than starting a new execution.

The system also generates an end-of-day report. The numbers in the report, such as completed tasks, blockers, and pending decisions, are calculated from the database instead of being generated by the LLM. The CEO agent then uses those results to produce the final written summary.

The project uses two backend services. The API service handles the application data, database operations, tasks, decisions, and realtime updates. The AI service handles the LLM calls and the LangGraph workflow. The individual agents are kept as separate modules inside the AI service rather than being deployed as separate microservices.

We made this decision because all the agents need to participate in the same LangGraph StateGraph. Keeping them in one graph allows delegation, escalation, checkpointing, and the founder interrupt/resume flow to work together properly.

PostgreSQL stores the application data as well as the LangGraph checkpoints. This means an interrupted workflow can be loaded again and continued from its saved state. The whole development setup is containerized using Docker Compose with separate containers for the frontend, API, AI service, and PostgreSQL.

Built With

Share this project:

Updates

Submission history