Ashish Jangra

Who writes VizLearn, how the 640 modules are actually made, and how to tell me when one of them is wrong.

Last updated

Who I am

I am Ashish Jangra, a data scientist at GeeksforGeeks in Noida, where I have worked since 2021. I hold a B.Tech in Computer Science from Lovely Professional University, and I have spent about five years building AI systems and teaching people how they work.

The teaching half is the part that explains this site. I have designed and scaled data science and analytics programmes that enrolled more than 26,000 learners, written the curriculum behind 13 instructor-led courses and over 200 hours of material, and delivered more than 200 live sessions to upwards of 100,000 students. Explaining the same twenty ideas to that many people teaches you something no amount of reading does: precisely which twenty ideas are hard, and exactly where the standard explanation loses the room. VizLearn works from that list.

I build and maintain it on my own — every visualisation, every written explanation, and the build system that assembles them into 640 module pages across 18 tracks. There is no team behind it and no company funding it, which is worth saying plainly because it sets what you should expect: the explanations are opinionated and consistent, corrections reach the person who can act on them immediately, and nothing here is written to a content brief or a keyword target.

You can see the rest of my work on GitHub, LinkedIn and Kaggle.

What I work on when I am not writing this

The other half of my job is building the systems these tracks describe. Among the things I have shipped:

  • A retrieval-augmented chatbot over a 213,000-article knowledge base, serving 5,000 queries a day, held above a 95% faithfulness rate with RAGAS through grounding strategies and guardrails.
  • A semantic search engine over the same corpus — context-aware chunking, fine-tuned all-MiniLM-L6-v2 embeddings, Pinecone indices, around 2.5 seconds a query.
  • A generative-AI evaluation pipeline that grades 10,000+ project submissions in six hours, work that previously took more than 2,500 manual ones, with standardised scoring and explainable feedback.
  • A tagging pipeline that sorted 35,000 interview questions from 800 companies into 370 skill clusters.

All of it deployed as Dockerised FastAPI services on Google Cloud Run.

That matters here for exactly one reason. The tracks on this site are not subjects I read about in order to write about them. Embeddings, chunking, retrieval metrics, evaluation, the FastAPI and Pydantic tracks — those pages describe things I have had to make work in production and keep working, and the failure modes they warn you about are mostly ones I have walked into myself.

Why I built VizLearn

I kept hitting the same wall learning this material: explanations were either a wall of equations that assumed the intuition, or a wall of prose that avoided the maths entirely. Both leave you simulating the idea in your head and hoping you got it right.

The thing that actually worked for me was building a small interactive version of whatever I was stuck on and pushing it until it broke. VizLearn is that habit made systematic: set k to 1 and watch KNN overfit in front of you; drop specificity by one percent on the Bayes grid and watch a 99%-accurate test become a coin flip.

How a module is actually made

Every module is one self-contained page: an interactive visualisation, the controls that drive it, a live readout of what the algorithm is doing right now, and a written explanation underneath.

The pipeline matters more than it sounds. The prose for each module lives in a plain text file, not in the HTML, and a small build script assembles the pages from it — so a correction is made once, at the source, and cannot survive somewhere else on the site. Every visualisation is hand-written SVG driven by plain JavaScript: no charting library, no framework, no backend.

Two rules I hold to. Where a page states a number, that number is produced by the same code the visualisation runs, so the text and the animation cannot disagree. And every runnable example on the site is executed before it ships — if the output shown under a code block is wrong, that is a bug I want reported, not a typo.

What I get wrong

Plenty. The visualisations simplify, and a simplification is a choice about what to leave out; sometimes I leave out the wrong thing. Animations can imply a sequence the real algorithm does not have. Numbers drift when a default changes.

So corrections genuinely are the most valuable message I get, and they take priority over everything else in the queue. If a module states something false, or an animation misrepresents what the algorithm does, tell me: the contact page explains what to include, and a clear factual correction is usually fixed within the week. When it ships, the module's updated date changes and the change is listed on What’s New, so you can confirm it landed without taking my word for it.

How this is paid for

VizLearn is free, requires no account, and puts nothing behind a signup. To keep it that way, the site may show advertising outside the learning area, which covers the domain and the time that goes into new modules. Ads never sit inside a visualisation and never gate a page.

Advertising means third-party cookies, and the Privacy Policy sets out exactly what is collected and how to opt out.