Skip to content

PA110/Drishti

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

दृष्टि DRISHTI

AI-powered personal job search system

दृष्टि (Drishti) — Sanskrit for vision, insight, perspective. See through every job posting clearly: fit score, gap analysis, tailored resume — all from the command line.


What it does

Step You do Drishti does
Find a job Paste the URL Scrapes the full JD
Evaluate fit Scores 0–100, breaks down by technical/domain/seniority/stack/market fit
Gap analysis Lists missing skills and how bridgeable they are
Tailored resume Approve Rewrites your master resume for that exact role, exports PDF
Track pipeline Update status Stores everything in local SQLite, filterable dashboard
Monitor companies Add to watchlist Scans career pages for new openings

You are always the one who decides to apply. Drishti does the prep work.


Installation

# Clone / copy the project folder
cd drishti

# Install dependencies
npm install

# Set up your API key
cp .env.example .env
# Edit .env and add your ANTHROPIC_API_KEY

# Install globally (optional, for `drishti` to work anywhere)
npm link

Usage

Analyze a job posting

drishti analyze "https://jobs.lever.co/snowflake/some-job-id"

Outputs a full breakdown: score bar, scorecard, matched/missing skills, gap analysis, apply recommendation.

Generate a tailored PDF resume

drishti generate 3
# Where 3 is the job's ID from `drishti list`

Creates output/punith_anumala_snowflake_data_engineer_20260409.pdf The file is saved locally — not submitted anywhere.

View the job dashboard

drishti list                        # All jobs, sorted by score
drishti list --status shortlisted   # Filter by status
drishti list --market india         # Filter by market
drishti list --min 70               # Only strong fits

Inspect a job in detail

drishti detail 3

Update job status

drishti status 3 shortlisted
drishti status 3 applied
drishti status 3 interview
drishti status 3 offer
drishti status 3 rejected

Valid statuses: newanalysedshortlistedappliedinterviewoffer / rejected

Add a note

drishti note 3 "Referral from Priya. Deadline Jan 30."

Watch company career pages

# Add companies to monitor
drishti watch add Snowflake      "https://careers.snowflake.com/jobs"
drishti watch add Databricks     "https://www.databricks.com/company/careers/open-positions"
drishti watch add ThoughtWorks   "https://www.thoughtworks.com/careers/jobs"
drishti watch add Infosys        "https://career.infosys.com/joblist"

# List watched companies
drishti watch list

# Scan all pages for new openings
drishti watch scan

New postings are printed with a ready-to-run drishti analyze command.


Score breakdown

Dimension Max What it measures
Technical match 30 Core tech stack overlap
Domain match 20 Industry/domain alignment
Seniority match 15 Level fit (IC vs lead vs architect)
Stack overlap 20 Specific tools/frameworks
Remote/India fit 15 Remote-friendliness + India market signals

Verdicts: STRONG FIT (75+) · GOOD FIT (55–74) · MODERATE FIT (40–54) · WEAK FIT (<40)


Customise your master resume

Edit src/resume.js — replace the MASTER_RESUME constant with your actual resume text. The richer and more detailed your master resume, the better the AI tailoring.


File structure

drishti/
├── src/
│   ├── cli.js            # Entry point & command router
│   ├── resume.js         # Your master resume (edit this!)
│   ├── commands/         # Command implementations
│   ├── ai/               # Claude AI analysis & generation
│   ├── db/               # SQLite layer (schema + queries)
│   ├── pdf/              # PDF resume generator
│   ├── scraper/          # Job page & career page scraper
│   └── tui/              # Terminal dashboard renderer
├── data/
│   └── drishti.db        # Local SQLite database (auto-created)
├── output/
│   └── *.pdf             # Generated tailored resumes
├── .env.example
└── package.json

Tips for best results

  1. Run drishti analyze first — always. The score tells you if generate is worth running.
  2. Set status as you godrishti status <id> applied keeps your pipeline honest.
  3. Scan weeklydrishti watch scan every Monday morning for fresh openings.
  4. Review every PDF before sending — AI tailors it well but you know your story best.
  5. Add notes — interview dates, referral names, recruiter contacts.

Built for Punith Anumala · दृष्टि v1.0

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors