Vriddhiarchitecture

Career intelligence for the Indian workforce · Build for Bharat 2.0

What should I pursue, what should I learn, and what will it be worth?

Vriddhi is three independent engines joined by one integration layer. Career Intelligence tells you which careers are worth pursuing in India over the next five years. Skill Gap reads your resume and tells you how far you are from that career and what to learn first. Job Matching & Salary finds live openings in your city, ranks them by how well you fit, and tells you what to ask for.

Independent engines
3
Indian job postings analysed
72,691
Salary data points (INR & USD)
43,374
Skills in the taxonomy
482
  1. 01DataIndian & global postings, salaries, O*NET
  2. 02Career IntelligenceWhat should I pursue?
  3. 03Skill GapWhere am I, what's missing?
  4. 04Jobs & SalaryWhere do I apply, for how much?

Indian postings and INR salaries carry the market signal. Global postings give a comparison baseline. O*NET's task statements let us judge AI exposure task by task instead of guessing. Everything is public, has its source, licence and access date recorded, and loads into a zero-setup SQLite store so the demo runs anywhere without a cloud database.

Indian market · primary signal

72,691 verified postings from three Indian sources, including Naukri, covering the 2024–2026 hiring cycle: titles, skills, experience bands, cities and salary ranges.

Details
Sample raw input
{
  "title": "Senior Data Scientist",
  "location": "Bengaluru",
  "experience": "4-7 years",
  "skills": "Python, TensorFlow, SQL,
    Spark, A/B testing",
  "salary": "₹18-28 LPA",
  "posted": "2025-08-15"
}

Compensation

43,374 normalised salary points in INR (lakhs per annum) and USD, across Bengaluru, Hyderabad, Pune, Mumbai and Delhi-NCR. The baseline for every salary range Vriddhi shows.

Details
Sample record
{
  "role": "Data Scientist",
  "city": "Bengaluru",
  "experience_years": 3,
  "salary_inr_lpa": 16.5,
  "source": "india_tech_salaries"
}

Global baseline

115,000 cleaned LinkedIn postings (public Kaggle datasets). Used to compare India against the global market, never as a substitute for Indian data.

Details

Occupation science

1,016 occupations broken into 18,838 official task statements. Lets the AI-exposure model reason about each task a job involves, rather than making claims about whole careers.

Details

Live · used by engine 3

Current openings by role and city from the Adzuna India API, with JSearch as a fallback. Cached for six hours so repeat searches are instant and the demo never depends on Wi-Fi.

Details

The user

PDF, Word or plain text, including scanned resumes. Read in memory and never stored.

Details
Output · SQLite (career_intel.db)
job_postings_india    72,691 postings
job_postings_global  115,000 postings
salary_benchmarks     43,374 points, INR & USD
skill_demand         367,395 regional skill observations
occupations · occupation_tasks · occupation_skills · ai_exposure_tasks

// views: v_india_vs_global, v_skill_comparison
market data → Career Intelligence

Scores every career on today's demand, its five-year growth, how AI changes the work, and how confident the evidence is. Then it ranks careers for you and explains each recommendation in plain language, with the numbers behind it.

How much hiring is there today?

Four signals, not just posting counts: volume (log-scaled so huge generic titles don't drown specialist roles), how many different employers are hiring, how recent the hiring is, and how many cities it spans.

Details
Formula
D = 0.40·volume + 0.25·employers
  + 0.20·velocity + 0.15·geography

// each signal scaled to 0–1

How does AI change this job?

Every career is split into its official tasks. Each task is classed as automated, augmented or human-centric, and the role score is the average. No "this job will disappear" claims.

Details
Sample · Data Scientist
tasks analysed     26
augmented          18  // AI makes the worker faster
exposure           0.45  // augmentation sweet spot

What happens over five years?

Growth combines today's demand, AI leverage and hiring momentum. Yearly trajectories run to 2031 for India and globally, with uncertainty bands that widen the further out they go.

Details
Formula
G  = clamp(0.70·D + ΔAI + momentum)
ΔAI = (0.50 − exposure) × 0.30
band = ±(1 − confidence)·14·√years

Which career is best for me?

Careers are ranked on weights you can change. Each comes with plain-English reasons and a knowledge graph of its tasks, skills and tools, which engine 2 uses as the target to measure you against.

Details
Sample output · Data Scientist
outlook        Strong Growth
demand         0.91   growth  0.76
confidence     0.95
India median   ₹18.5 LPA · Bengaluru, Hyderabad, Pune
top_skills     python, machine_learning, sql,
               deep_learning, cloud, docker

Sample output

Career scorecard · Data Scientist (sample)

Demand today0.91
5-year growth0.76
AI exposure0.45
Confidence0.95
  • Strong signal
  • Context

Ranking weights (default, user-adjustable)

Demand30%
Growth30%
AI resilience20%
Salary level10%
Confidence10%
target career + required skills → Skill Gap

Turns a resume into an evidence-backed skill profile, compares it with the career engine 1 recommended, and returns three things: what you already have, what you're close to, and what you're missing. Then it gives a verdict and a learning roadmap in the right order.

Get the profile in

PDF, Word and text. Scanned pages with no text layer are read with OCR. Sections are split (skills, experience, projects, education) and years of experience are worked out from date ranges, without double-counting overlapping jobs. Or just type your skills.

Details
Handles
ok       text PDF · scanned PDF (OCR)
         DOCX · TXT · typed skills
rejects  corrupt · encrypted · oversized
         // structured error, never a crash
stores   nothing // resume text is discarded

Find the skills

A 482-skill taxonomy with aliases catches the common skills fast. An optional LLM pass finds niche ones and is checked against the text, so it can't invent skills. Every skill maps to the same ids engine 1 uses.

Details
Normalisation
in   "ML", "M.L.", "machine-learning"
out  machine_learning

in   "PostgreSQL"  → postgresql, maps_to sql
in   "go the extra mile"  → not the Go language

Mentioned is not expert

Each skill gets a level and a confidence from where it shows up: only listed, used in a project, or used at work. A skill you claim but never used gets flagged for verification instead of being trusted.

Details
Sample profile
python   L4  0.90  work + project
sql      L3  0.90  work
xgboost  L2  0.75  project
docker   L1  0.50  mentioned only
experience  7.5 yrs // overlaps counted once

How far am I?

Each required skill is matched, adjacent (you know something close: PyTorch for TensorFlow, Tableau for Power BI) or missing. Adjacent skills earn partial credit. The verdict says whether you're under-skilled, a good fit, or over-qualified and should aim higher.

Details
Input
skills  Python, SQL, pandas, PyTorch
target  Data Scientist
Output
match     0.52   verdict under-skilled
matched   python, sql, pandas
adjacent  tensorflow ← you know pytorch
missing   machine_learning, statistics

What do I learn first?

Missing skills ordered by importance, with prerequisites pulled in first (statistics before machine learning, Docker before Kubernetes). Time is shown as an estimated range, shorter for skills you're already close to.

Details
Sample roadmap
1  statistics         ~25–40 h
2  machine_learning   ~50–80 h
3  tensorflow         ~12–20 h // adjacent, halved
// estimates, not guarantees
skill profile + gaps → Job Matching & Salary

Pulls live openings in your city, scores each one against your profile, and ranks them by fit, not by salary alone. For any job, it estimates the market range, your own range, and a sensible number to negotiate towards.

What's open right now?

Adzuna India first, JSearch if it fails, and our own Indian postings if both are down. City names are normalised (Bengaluru = Bangalore, Delhi-NCR = Delhi + Noida + Gurugram) and duplicates across sources are removed. Every job keeps its source, apply link and posting date.

Details
Fetch order
cache (6 h) → Adzuna India → JSearch
          → Indian postings snapshot
// the demo can't break on stage

Which ones fit me?

Each job is scored on skills, experience, education, location, seniority and your preferences, with configurable weights. You see your fit for every job and exactly which skills that job wants that you don't have.

Details
Sample · Backend Developer, Bengaluru
skill match       92%
experience match  67%   // 2 yrs vs 3+ asked
overall           84%   Good match
missing here      redis

What am I worth?

A range with a confidence score, never false precision. Built from role, city, experience, skills, seniority and how well you match, against the INR salary benchmarks.

Details
Sample output
estimated   ₹13.0 – 16.0 LPA
median      ₹14.5 LPA
confidence  0.72

What do I ask for?

Compares what the job posts with the market and with you specifically, then suggests a target and a sensible minimum, with the reasons behind them.

Details
Sample output
posted        ₹12 LPA
market        ₹13 – 16 LPA
you           ₹13.5 – 15 LPA
ask for       ₹14.5 LPA
because       strong skill match,
              high-demand specialisation
three engines → one integration layer

The engines never import each other's code. They talk through versioned REST contracts, so any one can be replaced or go down without breaking the rest. The integration layer chains them into one journey and adapts their outputs.

One journey

Discover a career, assess yourself against it, find jobs, estimate your value, then improve and repeat. If one engine is unavailable, the others still answer and the gap is shown honestly.

Details
  1. engine 1Recommends careers; you pick Data Scientist
  2. engine 2Reads your resume → match 0.52, learn statistics then ML
  3. engine 338 Bengaluru openings ranked by your fit, with a range to ask for
  4. fallbackEngine 1 down? Resume analysis and job search still work

Integrate it

Every engine is its own FastAPI service under /api/v1, with Swagger docs generated automatically, so HR platforms and colleges could plug in directly.

Details
Endpoints
// engine 1
POST /api/v1/career/analyze
POST /api/v1/career/rank
POST /api/v1/career/search_by_domain
GET  /api/v1/career/compare
// engine 2
POST /api/v1/skills/analyze_resume
POST /api/v1/skills/gap_analysis
// engine 3
POST /api/v1/jobs/search

Talk to it

A conversational layer on top of the three engines. The LLM decides which engine to call, and answers only from what they return, citing them.

Details

Try it

Trace one person through all three engines

Enter your skills, experience, a target role and a city. The demo walks through the same steps the real system takes, using illustrative sample data.

  1. Results appear here, one engine at a time.

Knowledge graph

Careers, skills and domains in one graph

Engine 1 builds a graph for every career: its domain, tasks, skills and tools. Engine 2 uses it to work out prerequisites and adjacent skills. This is a small illustrative slice. Hover over or tab to a node to see what it connects to.