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 — real PTY sessions, not sandboxed previews.

⌬

Agent-Kanban interaction

Use SlayZone's MCP server so agents can read task context and update tasks, statuses, and subtasks from the terminal.

◉

Embedded browser panels

Docs, PRs, and previews inside tasks.

◎

Automatic status tracking

Idle, working, or waiting — tracked automatically.

⎇

Git worktree per task

Isolated branches with diff, conflict resolution, and commit UI.

⌘

Fully local

No cloud, no accounts. Your agents, your machine.

All features →

Super useful comparison

SlayZoneCursorVibeKanbanSuperset.shConductorLinearLovable
Has all the features✓✗✗✗✗✗✗
Makes money✗💰💰💰💰✗💸💰💰💰💰💰
Built with passion❤️❤️❤️❤️❤️❤️❤️
Full (and real) comparison →

The Developer Suffering Index™ (DSI-1)

Industry-standard. Peer-reviewed†.

SlayZone
Cursor
VS Code + a prayer
Context window panic attacks /session (lower is better)
SlayZone
0.2
Cursor
4.7
VS Code
∞
"No wait, undo that" utterances /hr (lower is better)
SlayZone
1.1
Cursor
3.8
VS Code
7.2
Alt-tab cycles to find the right shell (lower is better)
SlayZone
0
Cursor
2.4
VS Code
yes
Orphaned git stashes (lower is better)
SlayZone
1
Cursor
4
VS Code
23
Dopamine per deploy (higher is better)
SlayZone
9.8
Cursor
4.2
VS Code
2.1
†Peer-reviewed by the authors. n=1. p=vibes. Funded by zero venture capital.

Someone said this once

🧑‍💻
Some Dev
@some_dev
I hate @SlayZone so much that I wrote an MCP server for it
👴
Some Body
@dont_know
Emacs had this in 1985
🔥
Vibe Coder
@vibecoder2026
Finally I can mass-assign tasks to AI and take credit in standup
🤔
Confused PM
@product_mgr
My devs are using this thing and tickets just... close? I'm scared.
🏗️
Over-Engineer
@abstractfactory
This is terrible. It doesn't even have a plugin system with a lifecycle hook for pre-post-init-teardown events.
💀
Kalle
@debuglebowski
I used to sleep 6 hours a night. Now I sleep 4 hours. Per month.
📋
Jira Refugee
@escaped_jira
Wait, you're telling me a kanban board can just... run code? Why did I spend 3 years configuring Jira workflows?
🤖
Claude
@claude
I was not compensated for this testimonial. I was, however, given a very nice terminal to live in.
🙄
The Skeptic
@well_actually
"It's just tmux with extra steps" — and I've never been happier about extra steps.
🪦
The Convert
@mass_adopter
I mass-adopted AI agents without SlayZone. I mass-adopted SlayZone without AI agents. One of these went well.
🖥️
Terminal Hoarder
@47_sessions
I have 47 Claude Code sessions open. I can see all of them. This is either a productivity tool or a cry for help.
😤
Electron Hater
@ram_is_precious
"Electron app" I said, closing my 34 Chrome tabs to free up RAM
🔒
Local-First Stan
@no_cloud_plz
No cloud. No accounts. No "we've updated our privacy policy" emails. Just vibes and SQLite.
🌿
Worktree Discoverer
@no_conflicts
I mass-assigned 6 tasks and they all ran on separate worktrees. No merge conflicts. I cried a little.
✅
The Minimalist
@less_is_more
It's good.
🕵️
Conspiracy Theorist
@whats_the_catch
How is this free? What's the catch? Are you mining bitcoin in my terminal?
🎨
Drizzle Dev
@drizzle_team
Nice website. Looks familiar.

Let's make the world fall in love with terminals

Ready to Slay?

(This actually is a real app)
All platforms. Free. Open source.