About the project

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.

01

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.

02

Classify

A fine-tuned DistilBERT model tags every posting as tech or non-tech, with a keyword-based fallback for edge cases.

03

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.

04

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

Vercel

The 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-hosted

FastAPI + Celery does the heavy lifting: scraping, classification, and matching. Runs against Postgres and Qdrant, then pushes clean results into Firestore.

Admin UI

Local only

A 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.