Klar reads the developer job market in real time and tells you which skills companies are genuinely hiring for β straight from live job postings. No influencer hot takes. No "you must learn X" threads. No predictions. Just the data.
Everyone tells you what to learn. Almost nobody shows you the evidence. Klar is the evidence.
- The Why
- The Problem
- What Klar Does
- Built Different
- Under the Hood
- Tech Stack
- Run It Locally
- Roadmap
- Contributing
- The Person Behind Klar
- License
I taught myself to code from a tier-3 college with a slow connection and a tight budget. The hardest part was never the syntax β it was the noise. Every day, a new thread told me to learn a different language, framework, or "must-have" skill. Roadmaps contradicted each other. Influencers sold urgency. None of them showed me a single shred of proof.
So I asked a simple question: what are companies actually hiring for, right now?
Not opinions. Not a 12-month-old survey. Not someone's personal roadmap. Live, current, verifiable demand.
That question became Klar.
Developers β especially students and early-career engineers without insider networks β make high-stakes learning decisions based on vibes:
- Job boards show you listings to apply to, not patterns across the market.
- "Roadmaps" and influencer content are opinion, often months or years behind reality.
- Annual developer surveys are self-reported and stale the day they ship.
The result: people spend months learning the wrong things while the market quietly moves on.
Klar fixes the information asymmetry. It turns thousands of live job postings into a clear, honest picture of demand β so your effort goes where the market actually is.
- π Skill Demand Rankings β the most-requested skills right now, ranked by real posting counts, filterable by role (Frontend, Backend, Full-stack, DevOps, Data, Mobile).
- π Skill Search β type any skill and instantly see how the market values it.
- π§ Rich Skill Drawer β for any skill: live demand, remote share, the skills it most often appears alongside (co-occurrence), and disclosed salary insights.
- π° Salary Insights (disclosed-only) β real, employer-disclosed pay β never predicted or estimated β with full transparency on how many postings actually disclosed it.
- π’ Who's Hiring β top companies ranked by active openings, the skills each one asks for most, and their remote share.
- π― Skill-Gap Advisor β compare your skill set against live market demand and see exactly where your gaps are.
- β Watchlist β save the skills you're tracking (secured with real authentication).
- π Daily Auto-Refresh β the dataset rebuilds itself on a schedule, so what you see is current.
Every number on Klar traces back to a real, active job posting. Descriptive, never predictive.
| Job boards | Roadmaps / influencers | Annual surveys | Klar | |
|---|---|---|---|---|
| Source of truth | Listings to apply | Opinion | Self-reported | Live listings, analyzed |
| Tells you what's in demand | β | β | ||
| Real-time | partial | β | β | β daily refresh |
| Hype / predictions | β | β heavy | β | β none β facts only |
| Salary honesty | hidden | β | aggregated | β disclosed-only + transparency |
Klar isn't another job board. It's a lens on the market that no listing site gives you.
Klar ingests postings from two independent live sources, normalizes and de-duplicates them, extracts skills against a curated taxonomy, and serves fast aggregated insights through a cached API.
Live Job Sources Klar Engine Client
ββββββββββββββββ ingest ββββββββββββββββββββββββββββ API βββββββββββββββ
β Adzuna β βββββββββββΆ β Normalize roles β ββββββΆ β React β
β β β Extract skills (taxonomy)β β Tailwind β
β Google for β β Cross-source dedupe β β + Framer β
β Jobs (JSearch)β βββββββββΆ β (company + title + city) β β Motion β
ββββββββββββββββ β Aggregate β Cache (6h) β βββββββββββββββ
ββββββββββββββββββββββββββββ
Engineering highlights:
- π§© Cross-source de-duplication β the same role often appears on multiple platforms. A normalized
company + title + citykey collapses true duplicates while preserving genuinely distinct openings, so counts stay honest. - π°οΈ Multi-source ingestion β Adzuna + Google for Jobs (via JSearch), each behind its own quota-aware, sequential fetch loop with backoff so free-tier limits are never blown.
- π§ Skill taxonomy extraction β a single shared taxonomy parses messy job descriptions into clean, comparable skills (and normalizes role titles into six canonical lenses).
- β‘ Aggregation + caching layer β MongoDB aggregation pipelines power every chart, fronted by a 6-hour in-memory cache and a warm-up routine for snappy first loads.
- π Production posture β Clerk authentication, Helmet, CORS allow-listing, and per-route rate limiting out of the box.
- π¨ A UI that respects the data β an OnePlus-inspired black-and-torch-red system, spring-physics motion, and tactile 3D-tilt cards that make raw numbers feel alive.
| Layer | Technology |
|---|---|
| Frontend | React, Vite, Tailwind CSS v4, Framer Motion |
| Backend | Node.js, Express |
| Database | MongoDB (Atlas) + Mongoose |
| Auth | Clerk |
| Data sources | Adzuna API, Google for Jobs (JSearch) |
| Infra | Render (web + API), cron-based scheduled ingestion |
You don't need to. Klar is live and always current: https://klar-dev.onrender.com
But if you want to contribute or fork it:
Local setup for contributors
Prerequisites: Node.js 18+, a MongoDB URI, and free API keys from Adzuna + RapidAPI (JSearch).
git clone https://github.com/shaiksohelll/Klar.git
cd Klar
Create Server/.env and Client/.env (see .env.example for the full list of variables), then:
cd Server && npm install && npm run dev
cd ../Client && npm install && npm run dev
Trigger one ingest to seed data (use your own secret), then open http://localhost:5173:
curl -X POST http://localhost:5000/api/ingest/adzuna -H "X-Ingest-Secret: your_secret"
β οΈ Never commit your.envfiles or real keys β keep.envin.gitignore.
- Live multi-source ingestion (Adzuna + Google for Jobs)
- Cross-source de-duplication
- Skill demand rankings + role lenses
- Rich skill drawer (demand, remote, co-occurrence)
- Who's Hiring leaderboard
- Skill-Gap Advisor
- Disclosed-only salary insights
- Skill velocity badges (π₯ rising / βΌ cooling)
- More legal sources (Jooble, Remotive, Himalayas)
- Salary by experience level & region
- CI pipeline + test coverage
- Public, documented API
- Salary bands apply to disclosed INR roles only. The salary band facet filters on
salaryRange.currency === "INR"andsalaryDisclosed === true. Jobs denominated in USD, GBP, CAD, or AUD β or jobs where the salary was predicted rather than disclosed β are excluded from salary-band results. Cross-currency normalization is on the roadmap.
Klar is built in the open. If this resonates with you:
- β Star the repo β it genuinely helps more people find honest market data.
- π Open an issue for bugs or ideas.
- π§ Have an improvement? New data sources, a better skill taxonomy, and UI polish are especially welcome β open an issue first so we can chat.
Klar was designed, built, and shipped solo by Sohel β @shaiksohelll.
I'm 21, and I graduated from a tier-3 engineering college. No elite network, no Silicon Valley internship, no mentor handing me a roadmap β just a laptop, a patchy internet connection, and a stubborn refusal to believe that where you start has to decide where you finish.
I built Klar because I needed it. As a self-taught developer, I was tired of guessing what to learn next while everyone shouted different answers. So instead of asking louder voices, I went to the source: the job market itself. Every aggregation pipeline, every dedupe edge case, every 2 a.m. "why is this returning an empty array" β I learned it by building it, one failure at a time.
If you're reading this from a small town, a tier-3 college, or a tight budget: this repo is proof that the gate was never as locked as they told you. Build the thing you wish existed. I did.
- π GitHub: @shaiksohelll
Klar doesn't carry an open-source license yet β for now, all rights reserved. Want to use or build on it? Open an issue or reach out and let's talk.
If Klar helped you see the market clearly, drop a β β it means the world to a solo builder.
Built with sheer determination, one commit at a time.