Applicant tracking with a pipeline board, built by Claude Code on Elements
A careers page with PDF resume uploads, a drag-and-drop pipeline board for each job, and interview scorecards, all live.
How it's built
Applyfold needed resume uploads, a pipeline board that updates for everyone watching, emails to applicants, and two kinds of hiring accounts. Each of those is a part of Elements, so the agent spent its 17 minutes on the hiring workflow itself.
- A live pipeline board. Applications are a LiveTable, one view per job. Dragging a candidate to a new column saves the move, and a database trigger broadcasts every new application and stage change, so each open board updates whether the change came from the careers page, a candidate's page or another board.
- Resume uploads. The apply form sends the resume as a file field to an
@rpcfunction, which checks that the bytes are a real PDF under 5 MB and stores it. The hiring team previews it on the candidate's page. - Server calls as function calls. Scorecards, notes, interviewer assignments and the job editor call server functions straight from the page with
@rpc, and validation messages come back to the field they belong to. - Email to applicants. Each application sends a confirmation from an email template. Dragging a candidate to rejected offers a polite rejection email, sent from a second template.
- Sessions and roles. Admins see every job and board. An interviewer sees only the candidates assigned to them, and one guard enforces it on every page and server call.
- Data from SQL files. Migrations define the schema and seed three accounts, four jobs, 21 candidates and ten scorecards, each candidate with a one-page PDF resume built in SQL. The project server applied each one as soon as it was saved.
Why Elements
Elements is an integrated full-stack app framework and a project server. The project server checks the agent's work as it builds: it type-checks the server and browser code, analyzes the program, applies migrations and runs the tests, then reports the results to the agent. A security mistake, such as calling a server-only function from the browser, is a compile error. The agent reads the report and fixes its own mistakes before it tells you a feature is done. The same checks run on every feature you ask for next.
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 applicant tracking system named applyfold for a growing startup, with a public careers page. PUBLIC - Careers page listing open jobs, each with a description page. - Apply: name, email, phone, resume upload (PDF), a short answer. - The applicant gets a confirmation email. HIRING TEAM (accounts: admin and interviewer) - Admins create jobs (title, team, location, markdown description, open or closed). - Each job's pipeline board: applied, screen, interview, offer, hired, rejected. Drag a candidate to move them. - Candidate page: resume preview, application answers, notes, and interview scorecards (1 to 4 on each of three criteria plus a recommendation). - Interviewers see only candidates assigned to them and fill in scorecards. - Moving a candidate to rejected offers to send a polite rejection email. Seed one admin, two interviewers, three open jobs, and fifteen candidates across stages with a few scorecards. Show the seeded logins on the sign-in page. Board moves and new applications update in real time.