Repository navigation
Configuration
JobRadar reads three files. All of them are checked at start-up; a typo, an unknown setting or an out-of-range value stops it with a message naming the exact setting.
| File | Holds | In git? |
|---|---|---|
.env |
secrets only | never (git-ignored) |
config/config.yaml |
what to watch and how to behave | no (git-ignored); start from config.example.yaml
|
config/profile.yaml |
your education, skills, projects (for match scores and resumes, from v0.2 B / v0.3) | no; start from profile.example.yaml
|
TG_API_ID=123456
TG_API_HASH=xxxxxxxx
NOTION_TOKEN=ntn_xxx
NOTION_DATABASE_ID=xxxxxxxx
GEMINI_API_KEY=xxxxxxxx
GROQ_API_KEY= # only if you switch models to Groq
EMAIL_ADDRESS= # email alerts and forwards (v0.4)
EMAIL_APP_PASSWORD=
NOTIFY_TO=
GDRIVE_FOLDER_ID= # resumes (v0.3)
# NOTION_DATA_SOURCE_ID= # only if your database has several data sourcesAn empty value (KEY=) counts as not set. No spaces, no quotes. A Gmail app password is shown with spaces: remove them.
sources:
telegram:
enabled: true
chats: [-1001234567890, "@somepublicchannel"] # ids from `jobradar chats`, or @usernames
backfill_days: 3 # how far back the very first run reads (0-30)llm:
extract_model: "gemini/gemini-flash-lite-latest" # reads job pages; about ₹0.10 per job
writer_model: "gemini/gemini-pro-latest" # resumes and answers (later)
daily_budget_inr: 15 # estimated at list prices; LLM work pauses until midnight when reached
requests_per_minute: 10 # stay under your key's limit (free Gemini tier: about 10-15)
usd_to_inr: 88 # for the budget estimateAny LiteLLM model name works, e.g. groq/llama-3.1-8b-instant with GROQ_API_KEY set. Without a key for the configured provider, jobs are still listed in Notion but not read.
links:
extra_shorteners: ["go.somejobs.in"] # a channel's own redirect domain: expanded before use
deny:
- acciojob.com/full-stack-development-courses # host/path prefix: never a job
- ads.example.com # whole host, including subdomainsJobRadar already ignores t.me, YouTube, Instagram, WhatsApp, X/Twitter, Facebook, topmate, app stores, Discord, and LinkedIn profile and company pages. It also hides channel ads automatically: any link attached to posts about three or more different jobs. Use deny for the few it can't spot, such as an app link that only ever appears next to the same posts. After changing deny, restart jobradar run; the start-up sweep hides matching rows that are already in Notion.
filters:
batch_years: [2025, 2026]
degrees: ["B.Tech", "BE", "MCA"]
locations: ["Bengaluru", "Hyderabad", "Pune", "Remote"]
max_experience_years: 1
exclude_companies: []
scoring:
hide_below: 40 # below → Hidden
alert_above: 85 # at or above → email alert (v0.4)
auto_resume_above: 85 # at or above → resume built automatically (v0.3); null = only when Shortlistednotify:
timezone: Asia/Kolkata # also decides when the daily LLM budget resets
digest_times: ["09:00", "19:00"]
alerts: true
alert_batch_minutes: 10The resume, storage and email sections are read but only used by later releases.
JobRadar is MIT-licensed and self-hosted. You submit every application yourself. · Report a security issue privately
JobRadar
Repository