Tickwell: an issue tracker for a software team

Tickwell: an issue tracker for a software team

Keyed issues on a drag-and-drop board and a filtered list, with comment threads, a full change history, assignment emails and CSV import, all live.

How it's built

Tickwell needed a board and a list that every teammate sees change at once, a history of every edit, email when work is assigned or discussed, team invites and CSV import. Each of those is a part of Elements, so the agent spent its 20 minutes on the tracker itself.

What Elements gave the app

  • A live board and list. Issues are a LiveTable opened per project. Dragging a card is an update through the view, so every open board and list moves with it. Comments and the issue history are LiveTables too.
  • History in one place. The board, the form and the importer all create issues through one function, and every update compares the row before and after inside a transaction, recording each changed field. A database trigger hands out keys such as WEB-14.
  • Email from background jobs. Assignments, comments and invites each schedule a job that sends its email, inside the same transaction as the change.
  • Invites and roles. Admins invite teammates by email through an @rpc, and every rpc and LiveTable handler checks the signed-in user and their role.
  • CSV import as a function call. The import page sends the file to an rpc for a preview, then inserts each row through the project's live view, so open boards fill in as the issues land.
  • Data from SQL files. Two migrations define the tracker and seed three teammates, two projects with 19 issues, their history and comments, and a pending invite.

What the project server gave the agent

The project server runs alongside the agent and answers as soon as a file is saved: it type-checks the templates, TypeScript and SQL, applies migrations and reruns the tests, so every question came back right away and the agent kept building.

What shipped

The app type-checks with zero errors and all 31 tests pass. Every page works on desktop and phone, and live updates arrive across tabs, such as a card dragged to a new column.

Run it yourself

  1. 1 Sign up

    Already have an account? Sign in

  2. 2 Install and run the demo One prompt to paste into your agent.

View the code on GitHub →

The prompt

What Claude was given to build this app.

Agent Prompt
Build an issue tracker named tickwell for a software team.

Two kinds of accounts: admin and member. Admins manage projects and invite
members. Everyone works on issues.

- Invite by email: an admin enters an address, the invitee gets a link to set
  a password.
- Projects have a short key (WEB). Issues get numbered keys (WEB-12).
- Issue: title, markdown description, status (backlog, todo, in progress,
  in review, done), priority (low, medium, high, urgent), assignee, labels.
- Board per project: a column per status, drag a card to change its status.
- List view: filter by status, assignee, priority and label, plus text search.
- Issue detail: comment thread and a history of every change.
- Email the assignee when an issue is assigned to them and when someone
  comments on it.
- Import issues from a Jira CSV export (columns Summary, Description, Status,
  Priority, Assignee).

Seed one admin, two members, two projects and a dozen issues across statuses.
Show the seeded logins on the sign-in page.

Board moves, new issues and comments update in real time.