Mass applying doesn't work
Sending hundreds of applications and hearing nothing back isn't bad luck — it's a targeting problem. StackMatch optimizes for fit, not volume.
StackMatch mirrors jobs from HireGraph, scores every role against your profile, and auto-applies through a Chrome extension — with a separate community for hiring insiders. No mass applying. No wasted effort.
Mass applying feels productive. But hundreds of applications with a handful of callbacks isn't a strategy — it's noise. StackMatch does less, better.
Sending hundreds of applications and hearing nothing back isn't bad luck — it's a targeting problem. StackMatch optimizes for fit, not volume.
Ghosted after applying? Match scores surface skill gaps, salary mismatches, and missing experience — so you can adjust instead of guessing.
Generic auto-apply platforms blast every ATS. StackMatch only surfaces roles where your profile genuinely qualifies, with extension-based apply you control.
Three steps stand between you and a pipeline of targeted applications running in the background.
Add skills, experience, salary targets, and resume text in the Careers Hub. Profiles drive matching and auto-apply form filling across web, extension, and mobile.
HireGraph feeds open roles into StackMatch. Celery workers mirror companies and jobs into Postgres + Elasticsearch, then score each job against your profile with rule + semantic matching.
Approve high-match roles in the Careers Hub. The Chrome extension opens the ATS, fills forms from your profile, and logs every step back to your application tracker.
StackMatch is a monorepo: separate Next.js apps for careers and community, a FastAPI backend, Celery workers, Chrome extension, and Expo mobile — all orchestrated with Docker Compose.
apply-web · :3000
Authenticated careers surface — job search, profile-scoped matches, saved jobs, application kanban, and auto-apply prep. This is where your job search lives.
Open Careers Hub →community-web · :3001
Public community feed for hiring discussions, posts, comments, and votes. Sign in to participate; browse anonymously when you want signal without noise.
Explore Community →API
FastAPI · JWT auth · :8010
Data
Postgres + pgvector · Elasticsearch · Redis
Workers
Celery beat sync · match compute · embeddings
Extension
Chrome MV3 · ATS form fill bridge
Mobile
Expo · careers tabs
Source
HireGraph REST polling (30 min)
// Data flow
HireGraph API → Celery sync → Postgres (jobs, companies) + Elasticsearch (search index)
Profile embedding → match scorer → job_matches table → Careers Hub UI
Auto-apply prepare → Extension → ATS → application status + apply logs
Every job is scored against your specific profile — skills, seniority, salary, remote preference — using a 70/30 rule + semantic blend. Dismiss noise, focus on real fits.
The Chrome MV3 extension bridges to Careers Hub, opens the ATS apply URL, fills forms from your profile payload, and reports success or failure back to the API.
Track every application through saved → applied → screening → interview → offer stages. Drag cards between columns; status syncs to Postgres in real time.
Jobs are indexed in Elasticsearch for sub-second search by title, company, and skills — while Postgres remains the system of record for matches and applications.
A separate community app for hiring discussions, posts, and votes — public feed with auth for posting. Careers and community share JWT auth but run as independent surfaces.
Expo mobile app for jobs, matches, saved roles, applications, and profile management on the go — careers-only, no community surface on mobile yet.
Senior Backend Engineer · Active job search
“I needed interviews fast without manually applying to hundreds of companies. StackMatch scores roles against my profile and the extension handles the ATS forms — I just review matches and prep for screens.”
Full Stack Engineer · Returning to market
“The match breakdown told me my salary band was above range for half the jobs I was targeting. That alone saved weeks. The kanban board keeps every application visible.”
Platform Engineer · Remote-first
“Splitting careers and community makes sense — I use Careers Hub for applications and Inside Hiring for real hiring signal from people who've been through it.”
rule-based + semantic blend in the match scorer
application pipeline stages in the kanban tracker
default HireGraph sync interval via Celery beat
JWT shared across apply-web, community, extension, and mobile
Review matches in the Careers Hub, check score breakdowns, then trigger auto-apply. The extension only runs after you explicitly start a session.
Matching and form fill use skills and experience from your profile — no fabricated credentials. Embeddings are computed from your real resume text.
Every extension run logs steps to apply_logs. Failed applies surface last_error on the kanban card so you know what went wrong.
StackMatch scores every job against your specific profile before surfacing it. You review matches, see skill gaps, and trigger auto-apply through a Chrome extension — not a blind spray to hundreds of ATS portals.
Create a profile, review scored matches, and let the extension handle ATS forms — while Inside Hiring keeps you connected to real hiring signal.
Self-hosted monorepo · Docker Compose · JWT auth · No vendor lock-in