What we left out of Kevta: no sprints, no reporting, no importer
An issue tracker without sprints or reporting is a choice, not an oversight — except for the two absences we are genuinely uncomfortable with. The full list, written by us.
Essays on issue tracking, tooling and pricing for small software teams. The product shows up as an illustration, not as the point.
An issue tracker without sprints or reporting is a choice, not an oversight — except for the two absences we are genuinely uncomfortable with. The full list, written by us.
How many columns should a kanban board have? Three, for most small teams. Here is the test for whether a fourth deserves to exist, the two worth adding later, and the one that is a mistake.
A kanban board answers one question well and every other question badly. Four signs you have a presentation problem rather than a tool problem, and what to do instead of exporting.
Being the Jira admin for a small team is not a role, it is an interruption queue. The honest case for configurability first, then the bill nobody puts a number on.
Small remote teams keep standup because nobody trusts the board. Two testable properties decide whether async project management can replace the meeting, and neither is a chat tool.
Project management for solo developers is pure overhead until two specific things are true. Which two, what to look for when they are, and the honest case for a plain text file instead.
Flat pricing is not a moral position, it is a bet with a cost. Why we bill $10 per workspace, where that is worse than per seat, and why Pro stops at 50 members.
What guest access actually means, what a contractor can see, what it costs to add them, and how to reverse it cleanly on the last day. With the member cap stated as a cap.
Every flat-rate project management tool resolves the vendor's arithmetic somehow. Basecamp does it with price, Huly with metering, Kevta with a 50-member ceiling. The shopping list, each catch named.
Nine free plans in one table, with the two columns nobody else fills in: the exact ceiling, and what specifically breaks the moment you cross it. Including the three that beat ours.
A tracker holds private data, its tickets are written by strangers, and comments are an outbound channel. What a leaked MCP token can reach, and how to bound the damage.
Acceptance criteria were process theatre for twenty years because no human read them first. An agent does. How to write tickets for AI coding agents, and what to leave out.
Manage issues from Claude Code over MCP: the setup command, the nine tools, the field-discovery problem every generic tracker MCP hits, and which verbs to withhold.
Beads and Backlog.md win the job they were built for. An issue tracker for AI agents and one for your team are two jobs sharing a noun. Here is the line, and what earns a row a human reads.
Which trackers ship an MCP server, what auth each one uses, which plan tier it needs, and what an agent is allowed to write. Every row verified against the vendor's own docs.
Agents write the code, review becomes the bottleneck, and the board goes stale in a week. What an issue tracker for Claude Code has to do differently once a machine does the work.
How to track developer progress as a non-technical founder without relying on a self-report: the merged pull request is the one status that exists whether or not anyone updates the board.
GitHub Projects is free, already installed and sits beside your code. Three checkable conditions under which a separate issue tracker starts to pay, and why staying is usually right.
It is not a discipline problem. Nobody updates the project board because a status field is a second manual copy of something git already knows — and it drifts worst when the board matters most.
Nothing reads your feat/ prefix. The only segment doing work is the issue key, and where it sits decides whether your tracker sees the branch at all. The matching rules, from source.
Linking a pull request to an issue with a GitHub keyword is a closing mechanism, not a status mechanism, and it is ignored outside the default branch. Three approaches, compared from source.
Update an issue's status on pull request merge and you have done the easy half. Which git events are worth binding to a state, which are not, and the guard that stops rules dragging work backwards.
Spreadsheets stop working for reasons that have nothing to do with features, and Jira's real cost is not its licence. What actually sits between the two.
Per-seat billing is a reasonable model that produces an unreasonable habit: rationing access to the tool your team is supposed to work in. What flat pricing changes, and what it costs.
A short list of what is load-bearing at five people, a longer list of what is ceremony borrowed from larger teams, and a test for telling them apart.