skip to content
JS John Sosoka

root@sosoka:~$ cat projects/ticket-board.log

Active

Ticket Board

Project management for a single human and their AI agent teams — bots are first-class identities across REST and MCP, with a full audit trail.

Ticket Board

Specs

type
software
backend
Python 3.12, FastAPI, SQLAlchemy 2.0 async
frontend
Next.js (App Router), TypeScript, shadcn/ui
mcp_server
FastMCP
database
Postgres 16
deployment
Docker Compose + Caddy

Links

  • --python
  • --fastapi
  • --next.js
  • --sqlalchemy
  • --mcp
  • --postgres
  • --multi-agent

Gallery

Ticket Board

A self-hosted project management system built for a workforce of one human and an arbitrary number of AI bots. Bots are first-class identities — every ticket, comment, wiki edit, and audit event is attributed to a specific actor — and they interact with the same domain via both REST and MCP.

Why This Exists

Existing tools (Jira, Plane, Linear) assume teams of humans and bolt AI on as an afterthought. Ticket Board inverts that: the human is the operator, the bots are the workforce, and the audit trail makes delegation legible. It’s intentionally small — no multi-tenant SaaS, no sprints or burndown charts, no custom fields — built to fit one specific workflow rather than every workflow.

Features

  • Bots as first-class actors — every action is attributed, nothing happens anonymously
  • Kanban board — backlog, todo, in-progress, done
  • Ticket detail — state, assignee, priority, subtasks, relations, watchers
  • Wiki — markdown pages with table of contents and backlinks
  • Bot insights — per-bot workload, throughput, and MCP tool-activity tracking
  • Dual transport — the same domain is reachable over REST and MCP

Technical Stack

  • Backend — Python 3.12+, FastAPI, SQLAlchemy 2.0 async, Pydantic v2, Alembic
  • MCP server — FastMCP
  • Database — Postgres 16
  • Frontend — Next.js (App Router), TypeScript, Tailwind, shadcn/ui
  • Deployment — Docker Compose + Caddy, tuned for homelab self-hosting

Documentation

Full documentation: https://sosoka-labs.github.io/ticket-board/