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 Sign up
Already have an account? Sign in
- 2 Install and run the demo One prompt to paste into your agent.
The prompt
What Claude was given to build this app.
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.