How we work

How we write and check our NCERT content

Veda's NCERT library is written by AI and then checked: 23 automated gates run on every chapter, including a plagiarism check against the textbook's own words and a solver that re-does the arithmetic, followed by human review passes. This page lists every check, and what those checks have caught.

Written by AI, and we say so

The chapter notes, questions, flashcards and explanations in our NCERT library are generated by AI from the NCERT syllabus, and then put through the checks below. We would rather tell you that plainly than let you assume otherwise, because the honest question is not who typed it — it is what was done to it afterwards, and whether anybody looked.

Our answer is the 23 checks on this page, the human review passes on top of them, and the list further down of what those checks actually caught — including the things we got wrong.

What gets checked, and against what

Every chapter runs through all of these before it goes live. Each check is a script in our repository and the names below are the real ones, so a claim on this page can be matched to the thing that makes it true.

Is any of it copied?

The library is written against the NCERT textbooks, so the risk is not inventing facts — it is reproducing the book.

check_runs.py

Finds any run of twelve or more consecutive words taken verbatim from the textbook. Twelve words is the threshold because a shorter one flags ordinary phrasing and a longer one misses real copying.

check_copying.py

Scores each passage as a percentage of its own words — which catches a copied definition, where the copy is most of the text.

check_lifts.py

Reports near-matches that fall under the verbatim threshold but still track the book too closely.

review_cross_duplication.py

Compares every chapter against every other, so the same question cannot quietly appear in two places.

Is the answer right?

A wrong answer key is the only defect that directly harms a student who has done the work, so it gets the most checks.

check_option_values.py

Flags questions where more than one option is actually correct — including numerically. One Maths question keyed 1/6 while offering 5/30, which is the same number.

check_key_vs_prose.py

Flags a key that the chapter's own explanation contradicts.

check_maths_arith.py

Re-solves the arithmetic in Maths question stems rather than trusting it.

check_maths_facts.py

Re-checks stated mathematical facts, such as prime factorisations and HCFs.

check_answer_prose.py

Caps sentence length in model answers, so a written answer is one a student could actually give.

Can it be answered without knowing anything?

A multiple-choice question is broken if the answer can be guessed from the shape of the options instead of the subject.

check_answer_key.py

Balances which position holds the answer, so the key is never guessable from where it sits.

check_option_length.py

Catches questions where the correct option is the longest — "pick the long one" is a strategy, not learning.

check_shortest_key.py

Catches the mirror of that: a bare correct option against three padded wrong ones.

check_ar_keys.py

Balances assertion–reason questions, which have their own answer pattern.

check_option_values.py

Also catches an option whose surface — the only capital letter, the only question mark — gives it away.

Can the student actually read it?

A Class 5 chapter and a Class 10 chapter are not the same writing job.

check_kids.py

Applies a readability floor to the Class 5 and 6 material specifically.

check_chapter.py

Checks the structure of every chapter, with a stricter mode for a finished track.

check_content_floor.py

Refuses a chapter that is too thin on any one surface to be worth opening.

check_prose_joins.py

Catches sentences broken by a generator rather than by a writer.

check_orphan_lines.py

Catches a line left stranded by itself.

check_row_gaps.py

Catches gaps in a table or a list.

Does everything on the page work?

The chapter pages carry diagrams, equations and playable games, and each can break on its own.

check_picture_size.py

Checks every illustration renders at the size the page gives it, on a phone.

check_equations.py

Checks the mathematical notation is valid.

check_katex.mjs

Renders every formula the way a browser will, and fails on the ones that would not.

check_playable.py

Runs each game block against the code that plays it, so a game cannot ship unplayable.

check_topic_tests.py

Checks the structure of every test.

What the checks have caught

A list of checks only tells you what we intended. This is what the checks and the people running them actually found — including the cases where we had already called the work finished.

1,560 copied passages that five earlier checks had passed

The verbatim-run check was written because the percentage-based one could not see a copied paragraph inside a long original passage: fifty lifted words in a six-hundred-word note score eight per cent and pass in silence. On its first run across thirteen chapters it found 1,560 runs of twelve or more consecutive words that every existing check had cleared. All were rewritten.

A wrong answer key

A question about tone was keyed to the one option its own chapter text ruled out — and the same chapter's test keyed the right one. No automated check found it; a person reading the chapter end to end did. It is the reason human review passes exist on top of the gates, and the reason this item is on this page.

A gap against the textbook

Checking a Class 8 Maths chapter heading by heading against the book found a section where the arithmetic of powers of ten was covered and the Indian number names were not. The chapter had passed every automated gate, because no gate knows what the book contains.

44 words quoted straight from the book, in a track already signed off

A Class 7 Hindi chapter was marked finished before anyone noticed its textbook had been filed in a different folder, so the copy check had never actually run on it. When it did, it found four verbatim quotations, the longest forty-four words. A check that examined nothing had been read as a check that found nothing.

Who publishes this

Veda is built in Gujarat, India by Rahul RK. I write the checking pipeline described above, I run the review passes on top of it, and when something on these pages is wrong it is mine to fix.

That is also why the list of what we got wrong is on this page instead of a badge. The misses are the part that tells you what the checking is actually worth.

Found something wrong? It reaches me directly: support@vedaclassroom.com.

— Rahul RK, Veda

What we do not claim

We are not going to tell you this library is perfect, because the list above is evidence that it was not.

  • We do not claim a human has read every one of the 36,728 practice questions. The automated checks run on all of them. The human review passes are thorough but they are sampled and chapter-by-chapter, not exhaustive.
  • We do not print a reviewer's name or qualification on a chapter unless that person reviewed it. A badge is easy to add and worth nothing.
  • We do not claim alignment to a particular textbook edition beyond the NCERT syllabus the content was written against.

Found a mistake?

Tell us and we will fix it, and the fix reaches every student who opens that chapter. Email support@vedaclassroom.com with the class, subject and chapter — that is enough, you do not have to work out what is wrong with it. The wrong answer key listed above was found by one of our own reviewers reading a chapter end to end, which is the one check we cannot automate. A reader doing the same thing is worth as much.

What is in the library

460

chapters, Classes 5 to 10

1,426

topics

36,728

practice questions

28,228

questions inside chapter tests

23,447

flashcards

3,316

illustrations drawn for these pages

All of it is free to read with no sign-up — open the library.