Find organizations that have already paid to measure their pain. The strongest demand signal for what to build.
You describe a problem space. The app:
- Generates 30-50 targeted search queries using Claude — dynamically, based on your input
- Runs all queries through Serper (Google search API), deduplicates URLs
- Screens each page with Claude Haiku looking for the "Madrid Pattern" — evidence someone paid to quantify their losses
- Presents findings as product intelligence — what the pain is, who measured it, what it implies you should build
Cost per run: ~$1-2. Time: ~5-15 minutes.
The pipeline is split into three API routes so each stays under Vercel's function timeout (works on Hobby plan):
/api/generate → Claude generates queries from your input (~3s)
/api/search → Serper runs batches of 15 queries (~10s each)
/api/screen → Haiku screens batches of 8 URLs (~20s each)
The frontend orchestrates these in sequence, batching as needed, showing progress and streaming findings as they arrive.
cd north-star-web
git init
git add .
git commit -m "North Star Agent v1"
git remote add origin https://github.com/YOUR_USERNAME/north-star-agent.git
git push -u origin main- Go to vercel.com → "Add New Project"
- Import your GitHub repo
- Add Environment Variables:
SERPER_API_KEY— get at serper.dev (free: 2,500 searches)ANTHROPIC_API_KEY— get at console.anthropic.com
- Click Deploy
Works on Vercel Hobby (free) plan — no Pro required.
cp .env.local.example .env.local
# Edit .env.local with your API keys
npm install
npm run dev
# Open http://localhost:3000app/
page.tsx — Main UI (input, progress, result cards)
layout.tsx — HTML shell, fonts
globals.css — Design tokens
api/
generate/route.ts — Step 1: query generation
search/route.ts — Step 2: Serper search (batched)
screen/route.ts — Step 3: Haiku screening (batched)
lib/
pipeline.ts — All pipeline logic (shared by API routes)
When someone pays to measure their pain, they have done your product discovery for you. Find those studies. The spec is already written.