User Validator checks accounts on Brac University's OpenEdx platform against the real student and faculty rolls and removes the ones that match nobody.
It was built during the pandemic, at the moment the platform's user base grew faster than anyone could vouch for it in person.
Problem
Brac University's OpenEdx platform launched into remote learning, when the usual check on who is on campus had stopped applying. Accounts arrived that belonged to no student and no member of faculty, some of them opportunistic and some outright scams.
For an academic institution the cost is not the storage. It is that the platform stops being able to claim its users are its students.
Constraints
The only evidence available is what the account claims about itself, set against the institution's own rolls. That comparison is never exact: names are spelled differently, ordered differently, and carry middle names in one record and not the other, so an equality check finds almost nothing and a loose match finds far too much.
No single factor is decisive either, which means the thresholds cannot be fixed in code by whoever writes it first.
Approach
Name based similarity indexing rather than equality, so a near miss is scored instead of discarded.
Validation is weighted across several factors rather than decided by any one of them, and both the factors and their weights are customisable, so the operator tunes the balance between removing a real account and keeping a fake one.
Outcome
Fake and scam accounts identified and removed, with the roll itself as the reference rather than a heuristic about how a real account behaves.