← All work

SomaDesk — AI-Native Project Orchestration


Timeline
Jan – May 2026
Platform
Web App · SaaS
Domain
AI Project Management
Role
Founding Product Designer
Stack
Next.js · ShadCN · Neon · Railway
Status
Live · Testing Phase
AI

Overview

SomaDesk is an AI-native project management platform built for teams and individuals who work alongside AI agents using their own existing AI provider. It started as a personal tool — a unified dashboard for managing multiple software projects without context-switching between five different tabs — and grew into a SaaS platform where AI agents are first-class team members, not sidebar chatbots.

Three decisions shape everything: it starts empty (you build your workspace by connecting tools), it never hosts AI (you bring your own key), and agents participate in the actual workflow — they get assigned tasks, move cards, and post comments — but humans are always the final gate. The product is live at somadesk.app, designed and built by me as the founding product designer and owner.

The problem

Building two software products simultaneously (Visual Shield and Meer) while using AI coding tools that had zero awareness of project state. Claude Code could write excellent code, but it didn't know what sprint was active, what bugs were open, or what tasks it was supposed to be working on. That context had to be manually re-explained every session. Every tool was an island.

At the same time, the tools built for project management (GitHub Projects, Plane, Linear) had AI bolted on as a feature: an assistant that summarises tickets, but one that doesn't get assigned work, doesn't move cards, and can't be held accountable. The gap wasn't a lack of AI or a lack of PM tools. It was that nothing connected the two.

5+
Tools managed per project — GitHub, PM, analytics, errors, CI/CD
$0
Operational AI hosting cost at any scale — BYOK model
10
MCP tools bridging coding environments to the project board

The insight

The real problem wasn't that AI was dumb or that PM tools were limited. It was that nothing spoke to everything else. Build the center first. Not another PM tool. Not another AI assistant. A unified workspace that connects to your existing tools and makes AI an active, accountable participant — not an afterthought.

Three Core Differentiators
BYOK
Connect your own Claude, OpenAI, Gemini, or Ollama key
SomaDesk never bills for AI — zero operational AI cost
Same key works inside SomaDesk and your coding tool
Switch providers in settings — no agent reconfiguration
Agents with Roles
PM, QA, Developer, Code Reviewer, Docs — 5 built-in roles
Agents appear alongside humans in the team list
Event-driven — triggered on @mention, schedule, or event
Humans are always the final gate — agents can't mark Done
Modular Shell
Fresh install = empty dashboard, zero clutter
Connect GitHub, Jira, Plane, Sentry one at a time
Dashboard shows only what's connected — nothing else
Remove a tool and its UI disappears immediately

Design decisions

Decision 01
Start empty. Build your workspace by connecting tools.

Every competing PM tool onboards you with a pre-filled template workspace — example projects, demo sprints, placeholder tasks. It's overwhelming on day one and clutters the UI with things you never set up. The message is "here's what this product can do," but the effect is cognitive noise before you've done anything real.

SomaDesk installs as an empty shell. No widgets, no boards, no agents — just a welcome message and a single call to action: "Add your first integration." As the user connects tools (GitHub, Plane, Claude), the dashboard adapts. Components appear only for connected tools. Remove an integration and its UI disappears immediately. The workspace is always a true reflection of what's actually running.

State 1
Empty shell
Sign up. Empty dashboard. One prompt: "Add your first integration." No templates, no demo data, no noise.
State 2
Connect your tools
Add GitHub, your PM tool, analytics, error tracking, and your AI key. Each connection unlocks its UI components.
State 3
Dashboard fills
Only connected tools appear. No extra menus. No features you didn't enable. SomaDesk is honest about what's plugged in.
Empty state — fresh install dashboard
Populated dashboard — GitHub + Plane + Claude connected
Decision 02
Don't host AI. Let users bring their own key.

Most AI SaaS platforms own the AI layer — they proxy calls to Claude or GPT-4 and charge a premium on top. At scale, this becomes the single largest cost driver. A platform with 500 active users running 100 AI interactions per day through hosted infrastructure is paying $500–$5,000 per month in AI costs alone — before any infrastructure or support overhead.

SomaDesk doesn't provide AI. It orchestrates the AI the user already has. They connect their own Claude, OpenAI, Gemini, or Ollama key in settings — their API key, their billing relationship. SomaDesk never sees, stores, or proxies AI responses. It's a direct connection between the user's account and their chosen provider. Switching from Claude to GPT-4 is a settings change. No agent reconfiguration needed.

The business implication: SomaDesk's operational AI cost at any scale is $0. The design implication is cleaner: no subscription tier logic around "AI calls included," no usage meters, no "upgrade for more AI." The AI settings screen just asks for a key.

Traditional hosted AI SaaS
AI cost per user / month ~$10–$50
500 users AI cost $500–$5,000 / mo
Provider flexibility Locked to provider
User controls AI spend No
SomaDesk — BYOK
AI cost per user / month User pays directly
500 users AI cost $0 platform cost
Provider flexibility Claude, OpenAI, Gemini, Ollama
User controls AI spend Yes — completely
AI provider settings — connect key screen with provider selector
Decision 03
Agents are team members, not chatbots. They work the board.

Most "AI in PM tools" means a chat panel bolted to the side. You type a question, it answers. It doesn't participate in the workflow — it doesn't get assigned tasks, it doesn't move cards, and it can't be held to account for what it did or didn't do. It's a Q&A feature, not a team member.

In SomaDesk, agents are created on the Team page alongside human members. They have roles — PM, QA, Developer, Code Reviewer, Docs — and they appear in the team list. They can be assigned tasks on the board. When triggered (by @mention, schedule, or event), they do real work: pick up the task, move it to In Progress, complete the work, post a summary comment with @AdminName, and move the card to In Review. Then they stop and wait.

The key constraint: agents can never move a task to Done. This is enforced at the API level — the endpoint returns a 403 if an agent attempts it. Only a human admin can mark a task complete. This approval gate is what makes the system safe enough to grant agents real permissions. Without it, agents would be a liability. With it, they're a reliable layer of the team.

Agent Task Lifecycle
H
Task assigned to agent

Human or PM agent assigns a task on the board. The dispatcher picks it up within 5 seconds.

AI
Agent picks up → In Progress

Agent moves the task to In Progress automatically. Posts a starting comment. No approval needed to begin work.

AI
Agent completes work → In Review

Agent finishes, posts a completion comment with @AdminName, moves the card to In Review. Stops and waits for human review.

H
Human approves → Done ✓ — enforced gate

Only a human admin can move to Done. API returns 403 if an agent tries. Code is pushed to GitHub only after this approval.

Team page — human members and agents in the same list
Task detail — agent comment with @mention and In Review status
Decision 04
Close the gap between planning and doing — the MCP bridge.

Even with agents tracking work on the board, there was still a gap: the actual work happens in a code editor. An AI agent that plans tasks in SomaDesk but has no awareness of the code it's writing is still operating in two disconnected contexts. That was the original problem. The MCP server is the answer.

SomaDesk runs a Model Context Protocol (MCP) server. Coding tools — Claude Code, Cursor, Windsurf — connect to it with a single workspace token generated during onboarding. Once connected, the AI assistant inside the editor can see the current sprint, assigned tasks, open bugs, and project context. It can pick up a task, post a comment, or move a card to In Review without leaving the editor.

One token covers all projects and all agents. Set it once, work everywhere. The 10 MCP tools expose everything an agent needs to participate meaningfully in the sprint — and enforce the same approval rules as the UI. Agents can read and act, but can never mark a task Done or push to GitHub on their own.

MCP onboarding — workspace token setup with Claude Code config snippet

From personal tool to SaaS

SomaDesk began as HeadsUp Center — a personal dashboard built to manage two projects (Visual Shield and Meer) without constant context-switching between GitHub, Firebase, Plane, and Claude Code. The first version ran on localhost, single-user, designed to solve one concrete problem: seeing everything about a project in one place while building with AI.

Over 18 development sessions between January and May 2026, it grew from a personal dashboard to a multi-user platform with agent infrastructure, MCP integration, real-time SSE board updates, file management, marketing pages, Stripe billing, and full production deployment on Railway. The rename to SomaDesk came in April alongside the domain purchase (somadesk.app) and a shift in positioning from "my dashboard" to "the center everything connects to."

The Claude API path is the primary tested and confirmed-working integration. OpenAI, Gemini, and Ollama adapters are written and wired — the architecture is provider-agnostic by design — but live key verification at production scale is still in progress. The platform is currently in a live testing phase.

Where it's going

The AI tooling market is moving fast. When SomaDesk was designed, the core gap was clear: AI coding environments had no project context. The orchestration layer was the answer. That premise is still correct. But the question is evolving — as AI IDEs get smarter about context natively and agent frameworks proliferate, where should orchestration live? In the tool? In the AI provider? In a separate layer that everything connects to?

The direction being explored now is multi-agentic architecture — agents that can spawn sub-tasks, hand off to other agents, and operate with less human intervention between steps. SomaDesk's existing approval-gate model (agents max out at In Review, humans gate Done) is already the right foundation. The next version extends that model: a PM agent that coordinates QA and Developer agents across a sprint, with human approval only at the sprint level, not the individual task level.

The goal hasn't changed: build the center. Let everything connect to it. The human stays in control. The AI does the work.

Next.js 14 TypeScript ShadCN + Radix UI Tailwind CSS Drizzle ORM Neon PostgreSQL NextAuth.js AES-256-GCM Railway SSE MCP BYOK