A job board with paid listings, built by Claude Code on Elements

A job board with paid listings, built by Claude Code on Elements

Remote jobs filtered by category, type and salary, a weekly new-jobs email, and $99 listings paid by card, $50 more to feature.

How it's built

Hirepin needed a board that fills in as listings are paid for, employers who post and edit from an emailed link, card payments for publishing and featuring, expiry reminders and a weekly email. Each of those is a part of Elements, so the agent spent its 25 minutes on the job board itself.

  • A live board. Listings are a LiveTable, so a job appears on every open board the moment its payment lands, and the search, category, job type and salary filters run in the page over that live list.
  • Posting without an account. The post form sends the fields and the logo to the server in one @rpc call, saves a draft and emails the employer a private link for editing and paying later.
  • Card payments. Publishing for 30 days costs $99 and featuring costs $50, with prices from the app's config. The listing goes live once whether the return page or Stripe's webhook arrives first, and until a Stripe key is added the pay button opens a test checkout inside the app that records the payment just as a Stripe one is recorded. In production the app registers its own Stripe webhook on the first checkout.
  • Jobs and email. A cron schedule checks every 15 minutes, takes listings off the board after 30 days and emails each employer a few days before. Every Monday at 9am a job emails each subscriber the new jobs in their categories, once per week.
  • Data from SQL files. Migrations define the board and seed the admin and 25 live listings from 22 made-up companies with drawn logos, four of them featured.
  • Sessions and roles. The admin's review and remove pages and their server calls share one guard on the admin role.

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. 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 a job board named hirepin for remote software jobs.

JOB SEEKER
- Browse and search jobs, filter by category (engineering, design, product,
  marketing), job type and salary range.
- A job page with the description and an apply link.
- Subscribe to a weekly email of new jobs in chosen categories.

EMPLOYER
- Post a job without an account: company, logo, title, category, salary range,
  markdown description, apply url.
- Pay $99 by card to publish for 30 days. A featured upgrade for $50 pins it to
  the top.
- Get an email with a private link to edit the listing.
- Listings expire after 30 days; the employer gets an email a few days before.

ADMIN
- Review and remove listings.

Payments by Stripe.

Seed the admin and about twenty-five live listings from made-up companies with
logos, a few featured. Show the admin login on the sign-in page.

New listings appear on the board in real time.