Make it yours

This site runs on design tokens. Change the primary button token and every primary button on the site updates.

Primary button color

Preview

Designpool

  • Agentic AI
  • Full-stack Product
  • 4 min read

A job board that designers can trust, built from an empty repo to production in a weekend.

Tools
GrokGrokbotCursor AgentClaude CodeNext.jsNeonVercel
Duration
One weekend
Stale listings

Most also file everything under “Mid-Senior,” so candidates waste hours checking whether a role is still open and actually at their level. Design job boards are full of stale listings, agency reposts, and roles that barely involve design.

Refresh algorithms

A rules engine keeps only real design roles, sorts each one into one of eight seniority levels, and removes anything older than 30 days. Designpool pulls roles from 107 design-forward companies every night.

107

Companies tracked nightly

8

Seniority levels

~2

Days from empty repo to production

4,800+

Visits

Core Features

1. Live open-role counter

The homepage opens with the number of open roles right now, next to a bar graph of the past five days. The heat reading shows at a glance whether hiring is picking up or slowing down, so a candidate knows the state of the market before they scroll.

2. Job sourcing via public APIs

The About page shows the pipeline in motion. Listings flow in from three public job APIs, pass through the rules engine, and land on the board. Every listing comes from a company’s own job system, and nobody enters data by hand.

3. Search and filter by seniority and industry

Candidates search by title and narrow results by seniority and industry. Because each role already has one of eight precise levels, a filter like “Senior” returns senior roles only, not the usual catch-all bucket.

Calls I Made

Rules first, UI second

Trust depends on getting the rules right, so I designed them before the interface. I wrote the spec as a 110-line rules file that the AI agents read on every request. Grok set up the front end and Neon database, Cursor Agent handled the first build, and Claude Code handled iteration.

Built with Grok (front-end and Neon setup), Cursor Agent (initial build), Claude Code (iteration)

Edge cases are where trust is won or lost

  • “Lead” maps to Staff, or to Manager if the role has direct reports.
  • “Head of Design” counts as Executive at a startup and Director at a larger company.
  • A Senior title that asks for 3 years of experience gets a Stretch badge, so candidates don’t rule themselves out.
  • Chip design, mechanical design, and design recruiter roles are filtered out.

Eighteen test files check each rule against real job titles.

A quiet interface

The interface stays plain so the listings stand out: Fjalla One headlines, Work Sans body text, thin borders, and pill controls. I chose the accent color by contrast. Green failed at 3:1, and blue (#0073e6) passes WCAG AA at 4.57:1.

A design system that enforces itself

Since agents wrote most of the code, a test fails any component that uses a raw hex value, a gradient, or a heavy shadow instead of a token.

Keeping every company fresh

Vercel’s 60-second function limit cut the nightly run off at company 89. I split the job into three staggered runs that each handle every third company, and the next night all 107 refreshed with no timeouts.

Results

4,800+ visits

A live full-stack product, built and launched Friday to Sunday.

Zero manual upkeep

107 companies refresh nightly, and nothing older than 30 days is shown.

Consistent by default

Token tests block off-brand styling on every new page.

Next: Saved roles with a free sign-up, and a weekly newsletter with 3–5 roles matched to each reader’s level.

Stack: Next.js 16 · React 19 · TypeScript · Tailwind CSS 4 · Neon Postgres · Vercel Cron · Vercel Analytics