Wishcairn: a feature request board for a software company
Feature requests with live votes and comments, statuses, merges, a public roadmap, a changelog and voter emails.
Run it yourself
Get the finished app on your own machine, ready to change however you like.
Press 'Enter' to confirm your input or 'Escape' to cancel
Press ⇧⌘P in VS Code and choose Elements: New App. Then paste this line and press Enter.
New to Elements? Install Elements first.
The code
How it's built
Wishcairn needed votes and comments that show up on every open page, statuses and merges run by the team, a public roadmap and changelog, and email to voters when their request moves. Each of those is a part of Elements, so the agent spent its 19 minutes on the board itself.
What Elements gave the app
- Live requests, votes and comments. Requests, votes and comments are LiveTables. Vote counts, status changes and merges are written in SQL, and triggers notify each table's channel, so the board, the roadmap and every open request page move together.
- Votes through a view. A signed-in visitor opens their own votes as a view, so voting is an insert or delete through it, with the voter set from the session.
- Statuses and merges. The team moves and merges requests with
@rpcfunctions. A status change is recorded in the request's thread and schedules the voter email in the same transaction, and a merge moves every vote onto the original request. - Voter emails. A background job sends each voter their own email, naming the request a duplicate was merged into.
- A changelog tied to requests. Publishing a release links the requests it covers and can mark them shipped, which emails their voters and moves them on the roadmap.
- Data from SQL files. Two migrations define the board and its triggers, then seed the feedback board for a team workspace app: 12 accounts, 30 requests across every status, votes, comment threads, a merged duplicate and three changelog entries.
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 36 tests pass. Every page works on desktop and phone, and live updates arrive across tabs, such as votes, comments and a roadmap that moves when a release ships.
Join the community
Get a weekly digest of new posts.
Comments· 0