Searching for tech roles today is frustratingly broken. Job seekers spend hours every day opening dozens of tabs, manually filtering through inactive or "ghost" postings, re-keying resume details into ATS forms, and sending out generic applications into a black hole.
I built SpotApply to solve this exact problem.
The core philosophy behind SpotApply is simple: The machine prepares, the human decides.
🎯 What is SpotApply?
SpotApply is an AI-powered job application copilot that automates the tedious parts of the job hunt while keeping candidates in 100% control of every submission.
Key capabilities include:
- 🛰️ Direct ATS Discovery: Harvester engine scanning 1,000+ ATS platforms (Greenhouse, Lever, Ashby, Workday, SmartRecruiters) and aggregators.
- ⚡ Multi-Stage Matching Cascade: Reranks every posting against your unique résumé with a 0–100 match score.
- 📝 Fact-Checked Tailoring: Generates ATS-optimized résumés and cover letters grounded strictly in your real work history.
- 🤖 Auto-Fill & Handoff: Pre-fills application form fields via a browser extension, leaving you to review and click Submit.
🏗️ Technical Architecture & The Matching Cascade
One of the biggest technical challenges when processing tens of thousands of live job postings is LLM cost management. Running expensive AI prompts directly on every raw posting is financially unviable.
To solve this, SpotApply routes jobs through a 6-Stage Matching Cascade where cheap filters run first and expensive LLMs process only high-confidence candidates:
[Raw Job Feeds] │ ▼
Retrieval (BM25 + FAISS Vector Search) │ ▼
Hard Rule Gate (Seniority, Location, Visa/H-1B) │ ▼
Ghost Job & Inactivity Detection │ ▼
Cosine Embedding Gate (all-MiniLM-L6-v2) │ ▼
LLM Fit Reranker & Urgency Scoring │ ▼
Tailored Resume & Grounding Check ➔ Ready for Review
1. High-Speed Candidate Retrieval
Initial candidate retrieval uses a hybrid of BM25 keyword search and FAISS vector embeddings (all-MiniLM-L6-v2) to narrow down thousands of postings to the top 50 relevant roles in milliseconds.
2. Rule & Ghost-Job Filtering
Hard business rules prune unqualified roles immediately (e.g., mismatched seniority, location restrictions, or H-1B sponsorship constraints). A secondary ghost-filtering engine checks posting age and hiring velocity to filter out fake listings.
3. LLM Reranking & Grounding Check
Surviving jobs enter the AI reranking stage. An LLM evaluates key skill alignment, responsibility overlap, and hiring intent. When tailoring résumés, a Grounding Verification Module cross-checks every bullet point against your real experience so the AI never invents false credentials.
💻 Tech Stack Summary
| Layer | Technology Used |
|---|---|
| Backend API | Python 3.11, FastAPI, Uvicorn |
| Database & ORM | Supabase Postgres, SQLModel |
| Matching & ML |
sentence-transformers, FAISS, rank-bm25
|
| AI / LLM Engine | Anthropic Claude & OpenAI |
| Form Automation | Chrome Extension (Manifest V3) + Playwright |
| Frontend UI | Jinja2 Templates, Tailwind CSS, Chart.js |
🚀 Key Lessons Learned
- Cheapest Gates First: Running vector similarity before LLM reranking cut our API token costs by over 85%.
- Grounding is Non-Negotiable: AI resume generators often hallucinate. Implementing a strict factual verification layer ensures 100% honesty on candidate applications.
- Human-in-the-Loop Builds Trust: Users don't want bots blindly submitting applications. Giving users a one-click review drawer preserves trust and control.
🔗 Try SpotApply Today
SpotApply is live and actively helping job seekers find and land their target roles faster.
👉 Experience SpotApply: https://app.spotapply.ai
I’d love to hear your thoughts, feedback, and technical questions in the comments below!
Top comments (0)