Muhammad Syauqi Al Bashir
All projects

Case study

JobRadar

A personal job radar: collects openings, scores them against my profile, drafts honest applications. Nothing is sent without a click.

  • Python
  • FastAPI
  • SQLite
  • Gemini
  • Google Apps Script
  • Web Push
  • PWA
JobRadar screenshot

The problem

Job hunting across many boards is noisy. I wanted one inbox of relevant roles, scored honestly, with drafts that only use true facts about me.

What I built

  • Collectors for public feeds and APIs plus my own alert emails (via Apps Script), with dedupe and free rule-based filters before any AI call.
  • Batched AI scoring (lite models first, per-model quota rests) with an explainable score: skills, seniority, pay, eligibility, preferences.
  • Drafts and tailored CVs built only from a source-of-truth profile, with honesty checks; sending goes through Gmail on approval only.
  • Pipeline stages, follow-ups, interview prep and stats; works on phone and desktop.

Highlights

Job detail: the score broken down, then drafts you approve.
Job detail: the score broken down, then drafts you approve.
Desktop layout of the same app.
Desktop layout of the same app.

Try it

Re-weight the score

Move the weights and watch three sample jobs re-score, the way JobRadar explains its numbers.

How it works

  1. 1Feeds + alert emails
  2. 2Dedupe + free filters
  3. 3Batched AI scoring
  4. 4Inbox
  5. 5Approved drafts
  6. 6Gmail send

Engineering notes

  • Respects each site's terms: official APIs, RSS and my own alert emails only; no scraping.
  • Still in progress; built and deployed in its first two days.

How I build

Designed, built, tested and deployed by me with an AI coding assistant (Claude Code): I set the requirements, review every change, test on scratch copies with fake data, and run it in production.