# Case study: Kanera Work Management

> Kanera is the work management product we designed, built, and run: boards, cards, and shared workspace setup, planning views with dependencies and a timeline, automations, and an MCP server and CLI so AI agents can pick up cards and report back on the same boards as the team.

- URL: https://www.happen.software/case-studies/kanera-work-management
- Publisher: Happen Software (https://www.happen.software/)

## At a glance

- **Client**: Happen Software (our own product)
- **Category**: Software · Platforms & portals
- **Running**: Since 2026
- **Product**: Work management: boards, cards, planning views, automations, and AI agent access
- **Availability**: Hosted with a free plan, or self-hosted from prebuilt Docker images
- **Licence**: Source-available under the Elastic License 2.0, with an MIT-licensed SDK
- **AI agents**: An MCP server with 104 tools, a CLI, an agent skill, and a TypeScript SDK
- **Integrations**: GitHub, Slack, Discord, Telegram, Zulip, a REST API, webhooks, and Trello and CSV import
- **Languages**: 11, across the app, emails, and push notifications

## Outcomes

- **2 months**: From starting the build in May 2026 to v1.0 on 30 June, with our own work run on it throughout
- **MCP + CLI**: So AI agents pick up cards and report back on the same boards as the team
- **14s → ~3s**: Time for notifications to reach a 200-member team at the 95th percentile, after one performance pass
- **3,500+**: Automated tests across the API, web app, MCP server, CLI, SDK, and end-to-end suite, run on every push

## Context

Kanera is for teams that have outgrown a basic board but don't want a heavyweight suite. Work lives on cards inside boards, and the boards in a workspace share the same lists, labels, custom fields, checklist templates, and automations, so a stage like In Review means the same thing on every project.

We built it because running Happen kept hitting the same problem: tasks on one board, the context in notes, the updates in chat, and progress that had to be chased person by person every week. We started building Kanera in May 2026 and ran our own work on it from then, before releasing v1.0 on 30 June, and we still track its development there, including work we hand to coding agents.

AI agents were part of the design from the start. AI assistants connect over MCP, coding agents use the CLI, and both work within the permissions of the person they act for, with their progress and changes visible on the card.

## The challenge

- **Work scattered across tools**: Tasks lived on a board, the context in notes, the updates in chat, and the small follow-ups disappeared, so progress had to be chased by hand.
- **Too light or too heavy**: Simple boards fell apart once the work got real, and the tools that could model anything needed long set-up and someone to administer them.
- **AI agents outside the record**: Agents can do real work, but they need to read the task, act within the right permissions, show their progress, and leave a trail the team can review.

## Before and after

| Area | Without it | With Kanera |
|---|---|---|
| Board set-up | Each board configured on its own, with statuses and fields drifting apart. | Lists, labels, custom fields, checklist templates, and automations set once per workspace and shared by its boards. |
| Status updates | Progress chased person by person. | Work Done records what was created, moved, and completed each day, and Team overview shows what everyone has in progress. |
| Blocked work | Hold-ups found when someone asks. | Blocking links across boards, a Blocked filter, and a notification when the last prerequisite clears. |
| Routine updates | Labels, assignees, and due dates updated by hand. | Automations built from 16 triggers and 14 actions, for one board or every board in a workspace. |
| AI agents | Tasks pasted into a chat, with the results copied back. | Agents read the card, open a run, and comment and move cards within the permissions of the person they act for. |
| Code and tasks | Pull request links pasted into the task by hand. | A card key in a branch or title links the pull request to the card, and GitHub keeps its state current. |

## A card, from request to done

1. **Capture**: A card is added on a board, captured from the scratchpad, mirrored in from a client's board, or created by an agent, up to 50 at a time. It picks up the workspace's lists, labels, and fields.
2. **Plan**: It gets a start and due date and links to the cards it waits on. The Timeline runs a working-day schedule, highlights the critical path, and flags any card planned to start before its blocker finishes.
3. **Delegate**: It's assigned to a teammate or handed to an AI agent. The agent opens a run, and everyone on the board sees a live chip on the card that turns amber when it's waiting on a person.
4. **Build**: A branch named with the card key links its pull request to the card, which shows the repository, the lines changed, and whether it's draft, open, merged, or closed.
5. **Move**: When the card enters review, an automation can assign the reviewer, set a due date, post a comment, or call a webhook, and the change can be posted to Slack, Discord, Telegram, or Zulip.
6. **Review**: The run's outcome stays in the card's activity, and Work Done and its report show what moved forward, with agent work told apart from the team's own.

## What we built

- **Shared workspaces**: Boards in a workspace share lists, labels, custom fields, checklist templates, and automations, so reporting stays consistent. Standalone boards keep their own set-up for work that doesn't fit.
- **Views of the same work**: Kanban, Table, Calendar, Timeline, and Dependencies on a board, plus My Cards, Team Cards, and Work Done across boards, with a ranked Up next queue for each person.
- **Dependencies & timeline**: Blocking links across boards, traced in a map, timeline, or numbered steps. A Gantt-style Timeline shows the critical path and how far each other card could slip.
- **Automations**: A When trigger and ordered Do actions: 16 triggers, from cards entering lists to blocked work and slipping plans, and 14 actions, from assigning people to calling a webhook.
- **AI agents on the board**: An MCP server with 104 tools, a CLI on the same tool layer, an agent skill, and an Agent Workflow template. Runs show live progress, and comments carry a badge naming the agent.
- **GitHub pull requests**: A card key such as KAN-123 in a branch, title, or description links the pull request to the card. Its state stays current, and commit links render as readable change summaries.
- **Notifications where you want them**: Each notification type can go to email, browser push, ntfy, Gotify, or your own signed webhook, with exceptions per workspace. Card activity can be posted to team chat.
- **Any screen, any language**: The full product works on phones and tablets and installs as an app, with recently opened boards readable offline. The app, emails, and push notifications come in 11 languages.

## What each team gets

### Team members

- One ranked Up next queue across every board
- Context, files, and history kept on the card
- Notifications by email, push, or their own channel

### Team leads

- Team overview of what everyone has in progress
- Work Done reports for stand-ups and reviews
- Blocked, at-risk, and critical-path work in view

### Admins

- Workspace set-up shared across every board
- Automations that run across a whole workspace
- Read-only or write access for each agent connection

### AI agents

- 104 MCP tools, or the same tools from a CLI
- Runs that show live progress and blockers
- Event subscriptions for new cards, comments, and moves

### Clients & guests

- Access to only the boards they're invited to
- Mirrored boards that keep internal fields private
- Comments and files that reach the team live

### Developers

- A REST API, signed webhooks, and a TypeScript SDK
- Pull requests linked to cards by card key
- A self-hosted option with no plan limits

## How it was delivered

- **May–June 2026, Launch**: Built from May and used for our own work from the start. The public site began on 1 June, and v1.0 shipped on 30 June with the MCP server and its tests in place.
- **July–August 2026, Teams & integrations**: Multiple organisations, card keys, personal notification channels, Up next, the scratchpad, idempotent API writes, and the CLI and SDK.
- **September 2026, Agents on the board**: Agent runs and attribution, CSV import, undo, themes, agents setting up workspaces from templates, and an end-to-end test suite.
- **October–November 2026, Planning & delivery**: The Agent Workflow template, prebuilt self-host images, dependencies, time in progress, 11 languages, then the Timeline and GitHub pull requests on cards.

## Engineering

- The MCP server and the CLI share one tool layer, so anything an agent can do over MCP it can also do from a shell, and read-only credentials are refused writes by the server itself.
- Every change is validated, checked against the person's access, recorded in the card's activity, and then broadcast, with events kept in a durable outbox so other processes and webhooks deliver them too.
- An agent run that stops reporting is marked stalled after 15 minutes, so an interrupted agent can't leave a card looking active.
- One shared package defines the database schema, request and response shapes, and realtime events, so the API, web app, MCP server, and CLI change together.
- More than 3,500 automated tests. Unit, web, MCP, CLI, and SDK suites and a three-way parallel end-to-end suite run on every push.
- Performance changes are measured before and after: in one pass, the time for notifications to reach a 200-member team fell from 14 seconds to about 3 at the 95th percentile.

Stack: TypeScript, Angular, Fastify, Socket.IO, PostgreSQL, Drizzle ORM, Valkey, MCP, Docker, Playwright

## Get in touch

Want work management that keeps people and agents in step? Try Kanera for your team, or talk to us about building a platform of your own with automations, integrations, and AI agent access designed in from the start. Book a free 30-minute call with one of our engineers.

Contact: https://www.happen.software/contact or sales@happen.software
