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.
Agent specs
- Agent
- Claude Code, Opus 5.5 Medium
- Time
- 20 min
- Cost
- $7.25*
Agents work faster and more accurately on Elements.
* Cost at API rates, September 2026.
Run it yourself
Paste this prompt into your AI agent. You get the finished app on your own machine, ready to change however you like.
Install elements: curl -fsSL 'https://install.elements.dev?os=darwin' | sh && export PATH=~/elements/bin:$PATH Create an Elements app from the elementscode/demo-tickwell scaffold: cd ~/elements/projects elements create tickwell -scaffold=elementscode/demo-tickwell cd tickwell Start the app.
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.
The code
Build it from scratch
To watch your agent build this app from an empty project, use the prompt we used instead. It takes longer than starting from the finished app above.
Install elements: curl -fsSL 'https://install.elements.dev?os=darwin' | sh && export PATH=~/elements/bin:$PATH Create an Elements app: cd ~/elements/projects elements create tickwell cd tickwell Start the app, then build this: 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.
Comments· 0