Kanban with terminals.
Card → Terminal → Agent

Every card hides a terminal, a browser, git management, worktree, and much more. Agent management for humans.

slayzone — project: api-v2 — 14 tasks
Auth refactor ⎇ feat/auth-refactor
Backlog 3
Rate limiting
queued
Webhook retries
queued
In Progress 4
Auth refactor
working
Search endpoint
working
DB migration
attention
Review 3
Pagination
working
Error handling
attention
Done 4
Fix navbar
done
Setup CI
done
claude code — auth-refactor
Claude Code v2.1.42
Opus 4.6 · Claude Team
~/dev/projects/api-v2
────────────────────────────────────────────────────────────────────
❯ Try "edit auth.ts to..."
────────────────────────────────────────────────────────────────────
? for shortcuts

refactor auth middleware to use JWT validation

Claude I'll refactor the auth middleware. Examining current code...

src/middleware/auth.ts — rewriting
src/utils/jwt.ts — created
src/types/auth.d.ts — updated

JWT middleware replacing session-based auth
Token refresh + expiry handling added
Running tests... 14 passed

🔒 localhost:3000/dashboard
Overview Endpoints Logs
API v2 — Auth Refactor Preview
JWT validation active · 3 endpoints updated · all tests passing
Requests / min
1,247
Avg latency
42ms
Auth success
99.2%
EndpointMethodStatusTime
/api/v2/auth/tokenPOST20012ms
/api/v2/users/meGET2008ms
/api/v2/auth/refreshPOST20015ms
± 3 files changed
src/middleware/auth.ts +47 −23
@@ -1,12 +1,18 @@
1 import { Request, Response, Next } from 'express';
2-import { getSession } from '../utils/session';
3-import { SessionStore } from '../types/session';
2+import { verifyToken, TokenPayload } from '../utils/jwt';
3+import { AuthError } from '../types/auth';
4
5-export async function authMiddleware(req, res, next) {
6- const session = await getSession(req.cookies.sid);
7- if (!session) return res.status(401).end();
8- req.user = session.user;
5+export async function authMiddleware(
6+ req: Request, res: Response, next: Next
7+) {
8+ const token = req.headers.authorization?.split(' ')[1];
9+ if (!token) throw new AuthError('NO_TOKEN');
10+
11+ const payload = await verifyToken(token);
12+ req.user = payload.user;
13 next();
14 }
1/4  Kanban board — scan all tasks at a glance
>_

Integrated AI agents

Claude Code, Codex, Gemini, etc. running inside task terminals.

Git worktree per task

Isolated branches with built-in diff/conflict/commit UI.

Kanban board

Drag-and-drop tasks, priorities, tags, sub-tasks, local SQLite.

Embedded browser panels

Docs/PRs/previews inside tasks.

AI config sync

SKILL.md standard syncs context across providers per-project.

Fully local

No cloud, no accounts, no telemetry.

Ready to Slay?

All platforms. Free. Open source.