A full-stack AI pipeline for finding the right job
TJSR continuously scrapes career pages and job boards, classifies every posting, scores it against your resume, and tells you the moment something worth applying to shows up.
How it works
Four stages, running on a schedule, from raw listing to a notification in your pocket.
Discover
10 scraper engines (BS4, Playwright, Selenium, Crawl4AI and more) plus 4 public job APIs pull new postings every 6 hours — no source URL required.
Classify
A fine-tuned DistilBERT model tags every posting as tech or non-tech, with a keyword-based fallback for edge cases.
Match
Your resume is scored against each job with a hybrid of keyword overlap and Qdrant semantic similarity — with a gap analysis of missing skills.
Notify
New matches reach you through the in-app bell, a Telegram bot, or an email digest — whichever you've set up.
How it's built
TJSR is split into three independent pieces. Firebase — Firestore, Auth, and Storage — is the only bridge between them, so the public site never depends on any one machine being online.
Public Frontend
VercelThe dashboard you're using now. Reads jobs, stats and your profile straight from Firestore — it never talks to the backend directly, so it deploys and scales independently.
Backend
Self-hostedFastAPI + Celery does the heavy lifting: scraping, classification, and matching. Runs against Postgres and Qdrant, then pushes clean results into Firestore.
Admin UI
Local onlyA separate local-only console for scraper control, bot configuration and debug logs — talks to the backend directly and is never exposed publicly.
What you get
The full feature set, beyond the highlights on the homepage.
Company Background Checks
Cited research reports with scam red flags, culture signals, and role-specific analysis — before you apply.
AI Job Matching
Hybrid keyword + semantic scoring surfaces the roles that actually fit your skills.
Instant Alerts
Get notified the moment a job scoring ≥40% skill overlap is discovered.
RAG Chat
Ask an AI assistant about the job database — grounded in the top semantically similar postings.
Telegram Bot
Daily digests, instant match alerts, and chatbot Q&A without opening the app.
Resume Analysis
Upload a PDF and get an ATS-style score, section breakdown, and improvement suggestions.
Tech stack
Open source, and built to be self-hosted.
Frontend
- Next.js 16
- React
- Tailwind v4
- TanStack Query
Backend
- FastAPI
- SQLAlchemy 2.0
- Celery
- Redis
Data
- PostgreSQL 16
- Qdrant
- Firebase Firestore
AI / ML
- Fine-tuned DistilBERT
- Ollama (RAG)
- Groq (chat)
Open source, GPL-3.0 licensed
The full source — scrapers, classifier training, matching, and every frontend — is on GitHub.