// the find
leereilly/swot
Archived — SWOT delighted millions of students with GitHub discounts and saved bazillions of review hours. Follow JetBrains/swot for future updates.
Swot is a community-maintained domain allowlist for verifying whether an email address or domain belongs to an academic institution. It solved a real problem: `.edu` only covers American schools, so GitHub Education needed a global dataset of university domains. Now archived, with JetBrains maintaining the fork.
The data model is dead simple — one `.txt` file per domain, organized by TLD hierarchy, which made community contributions trivially easy and kept diffs readable. Accumulated 37,000+ forks worth of domain contributions, so coverage is genuinely broad across non-obvious TLDs like `.ba`, `.no`, `.ao`. The public_suffix gem dependency is the right call — parsing email/URL edge cases yourself is a trap. Solved the problem it set out to solve at GitHub scale.
Archived. The original repo is a dead end; any adoption means depending on JetBrains/swot or forking yourself, with no obvious SLA or community governance documented. The domain list has no verification timestamps — entries added in 2012 may be stale (institutions close, rename, change domains). No distinction between student, faculty, staff, or alumni addresses is a known limitation explicitly called out in the README, which means you'll get valid academic email from non-students and have no way to detect it. Ruby-only gem; consuming it from other stacks means either shelling out or maintaining your own port.