Documentation · Contributing · License · Notice
Every tool for students online somehow manages to suck. Closed-source. Ads everywhere. "Buy this." "Buy that." Yeah buddy... no thank you.
And then comes the data collection. Like...
Alakh sir, do you really need my date of birth, phone-number, rank?
Papa mummy ka bhi DOB dedu? Time of birth bhi chahiye kya? Blood group? Aadhaar bhi le lo sir. 😭
oh my fucking god. these sites squeeze students because they can. So tried to built what I wish existed.
For students. From students.
ejam / tools / college predictor
A college predictor. It takes years of past JoSAA and CSAB closing ranks to estimate what you might actually get. Just a simple tool to save you some headache during counselling. (Will try to add more exams soon, but for now it's just JEE).
two stages. first we chew through years of counselling data offline (duckdb, so the site stays fast). then when you type your rank, the live bit just reads that index and scores every seat.
ok so basically... we already did the heavy lifting offline. took years of josaa/csab cutoffs, weighted recent years higher, trimmed out the covid outliers, and accounted for ranks drifting ~3% every year like they always do.
[1] is just "where do we think it'll close this year". [2] is "uhh how wrong could we be". if the old data looks weird we leave more space.
now you enter your rank. [3] is like... for one round, what's your chance. better rank = higher P.
but counselling has ~6 rounds. so [4] adds them up. didn't get it in round 1? maybe round 6 still works.
and please don't flex 99% on a branch nobody wants. so [5] looks at the college and the branch too. a good nit at 70% should beat some random place at 95%.
to summarize up, look at the graphs. left shows how past cutoffs turn into this year's pred, with the ±σ whisker for uncertainty. right shows your rank r on the chance curve pull across for P, and Safe / Iffy / Delulu are just labels for that number.
%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#0A0A0A', 'primaryTextColor': '#FFFFFF', 'primaryBorderColor': '#FFFFFF', 'lineColor': '#F45611', 'nodeBorder': '#FFFFFF', 'mainBkg': '#0A0A0A', 'edgeLabelBackground': 'transparent', 'clusterBkg': 'transparent', 'clusterBorder': 'transparent'}}}%%
flowchart LR
classDef data fill:#0A0A0A,stroke:#888,stroke-width:1px,stroke-dasharray: 4 4,color:#FFF,rx:5px,ry:5px;
classDef engine fill:#1A1A1A,stroke:#FFF,stroke-width:1.5px,color:#FFF,rx:5px,ry:5px;
classDef output fill:#0A0A0A,stroke:#FFF,stroke-width:2px,color:#FFF,rx:15px,ry:15px;
subgraph Offline [ Offline Build ]
Data[(Past JoSAA/CSAB)]:::data -->|Crunch| Index[DuckDB Index]:::engine
end
subgraph Live ["Live Predictor "]
User[/Your Rank Input/]:::data -.-> Engine{Prediction Engine}:::engine
Index ==> Engine
Engine -->|Calculate 6 Rounds| Out([Safe / Iffy / Delulu]):::output
end
Dashboard layout adapted from Efferd by Shaban
Charts adapted from EvilCharts by Gurbinder
A few illustrations from Icons8
Hosting servers and crunching this much data isn't exactly free. If you found these tools useful and want to help keep it running, consider sponsoring. sponsorships go directly toward covering server costs and keeping the site completely ad-free.


