# Kaiwa

> Kaiwa: Team chat with issue tracking built in.

URL: https://sayanbiswas.in/p/kaiwa/

- status · waitlist
- started · 2024
- updated · oct 2026
- stack · hono, cloudflare workers, d1, durable objects, bun, sqlite, react, shadcn/ui
- site · [kaiwa.im](https://kaiwa.im)

![The #product channel in Kaiwa, with mentions, reactions, linked issues and a thread open beside it.](https://sayanbiswas.in/_astro/kaiwa-chat-light.0zdvt2Wu_1TAyLd.webp) 

Most teams decide things in chat, then copy the decision into a tracker, and the context gets lost on the way. Kaiwa keeps both in one place. A message becomes an owned issue in one move, the issue links back to the conversation, and the thread hears when it’s done.

I’m building it to move our own team of ten off Slack. If it works for us every day, it goes out to the waitlist.

## what you can do

- Talk in channels, private channels, threads and DMs, with mentions, reactions and files.
- Turn any message into an issue. If the conversation is private, Kaiwa shows who will be able to read the copied text before anything is created.
- Plan on a list or a board, with priorities, labels, assignees and saved views.
- Track projects with milestones and status updates, and run cycles.
- One inbox for what needs you: mentions, replies and assigned work.
- Let bots and webhooks post updates and open issues, through the same API the app uses.

![The Northwind issues board with Triage, Backlog, Todo and In progress columns.](https://sayanbiswas.in/_astro/kaiwa-board-light.CQfiDUGP_Z1uUcWq.webp) 

*Every issue on one board, grouped by status.*

![An issue open beside the issue list, showing status, priority, project, cycle and its activity.](https://sayanbiswas.in/_astro/kaiwa-issue-light.CVljQ6mZ_ZkkrgB.webp) 

*NW-15 was created from a chat message, and links back to it.*

## how it fits

*Diagram:* Web, desktop and mobile clients talk to one API over REST, realtime and MCP. Behind it is one domain layer, which runs on Cloudflare or self-hosted.

The app, bots and MCP all go through the same rules, so an automation can’t do something a person couldn’t. Writes are safe to retry, and edits carry a revision, so two people changing the same issue get a conflict instead of silently overwriting each other. Realtime events replay from where a client left off, so a laptop waking from sleep catches up without a reload.

![The Public beta project overview with its lead, target date, progress, an at-risk update and milestones.](https://sayanbiswas.in/_astro/kaiwa-project-light.DeEn42jw_Z1poEp7.webp) 

*A project with its latest update and milestones.*

The screenshots use a seeded demo workspace with made-up people, not real users.

## how it got here

- **2024.** A small group chat app on Django.
- **August 2026.** Rebuilt on Cloudflare Workers with a React client. It became agent-first: you mentioned a coding agent in a channel and it worked on your own machine, through an Electron desktop app.
- **October 2026.** I changed direction. Ordinary team chat comes first, with Linear-style work tracking built in and APIs for bots. Agents become optional. I wrote a new backend from scratch that runs on Cloudflare or self-hosted, and rebuilt the client around glass and pill navigation on shadcn/ui.

## where it is now

The landing page at [kaiwa.im](https://kaiwa.im) takes waitlist sign-ups. The new backend and client are working end to end locally. Next up: deploying the new backend, then moving our team over from Slack in stages.

## log

- 2026-10-07 · new screenshots and this write-up.
- 2026-10-06 · waitlist landing page on kaiwa.im.
- 2026-10-06 · new backend and the glass client.
- 2026-10 · direction change: team chat with work tracking, agents optional.
- 2026-08 · rebuilt on Cloudflare Workers, agent-first with a desktop app.
- 2024-05 · first commit.
