This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady
What I Built
Applying for internships should be exciting. Instead, students often have to spend hours wondering whether an offer is legitimate or whether they're about to lose money to a scam.
Fake internship offers, registration-fee demands, impersonated companies, suspicious domains, and fraudulent training programs make it harder for students to trust opportunities they find online.
So I built VerifyIntern — an open-source, community-maintained legitimacy checker for internship and job offers.
Paste an offer message, enter a company name, or check a website or email domain. VerifyIntern looks for documented scam patterns, checks its sourced register of flagged employers, highlights the evidence behind its findings, and links to the public advisories that support them.
Instead of giving students an unexplained verdict, it shows them why something looks suspicious.
The project is designed around a few principles:
- Evidence over blind trust: Show the patterns that matched and link to their sources.
- Privacy by design: Offer text is checked in the browser and isn't uploaded to a server.
- Human-reviewed reports: Community submissions are reviewed against evidence before being added to the register.
- Honest uncertainty: No match doesn't mean an offer is guaranteed to be legitimate.
The goal is simple: make checking an opportunity easier than falling for a convincing scam.
Demo
🔗 Live demo: https://geekynads.github.io/verify-intern/
Try pasting a suspicious internship message, checking a company or domain, and examining the evidence behind the result.
Code
💻 GitHub repository: https://github.com/geekyNads/verify-intern
The project is open source under the MIT License for its code, with the dataset licensed separately under CC BY-SA 4.0.
Contributions that improve the detection rules, expand the sourced dataset, strengthen testing, or make the checker more accessible are welcome.
How I Built It
VerifyIntern combines a lightweight browser-based checker with a structured, community-maintained register of documented suspicious employers and scam patterns.
The core implementation includes:
- JavaScript: Runs the classifier directly in the browser.
- Python: Provides a matching classifier and supports the optional API.
- Structured data: Stores sourced employer records in JSONL format.
- FastAPI: Exposes optional endpoints for integrations and bulk checks.
- Source ingestion and review: Collects candidate records into a pending queue before human approval.
- Automated validation and tests: Checks dataset quality and verifies that the Python and JavaScript classifiers behave consistently.
- Static deployment: Makes the checker available without requiring a backend for ordinary use.
The project deliberately favors transparent, deterministic checks over an opaque score. Its rules look for signals such as upfront fees, payments to personal accounts, lookalike domains, manufactured urgency, and suspicious requests for academic information.
A note on AI: The current documented implementation is rule-based rather than powered by an integrated open-weight language model. The project is built with open-source technologies, but I don't want to misrepresent that as an AI model running inside the application.
Why Does Open Innovation Matter?
Students shouldn't need a paid subscription to evaluate whether an internship offer deserves their trust.
Open innovation makes VerifyIntern easier to inspect, fork, adapt, and improve. A college placement cell can host its own version, a developer can add new detection rules, and contributors can improve the evidence register without depending on a proprietary service.
It also makes accountability possible. Anyone can inspect how a rule works, examine the data behind a flag, or challenge an entry that lacks sufficient evidence.
The privacy-first design matters, too. Students can check messages locally without sending potentially sensitive offer communications to an external AI provider.
And because the project is community-maintained, improvements don't have to wait for a commercial vendor to prioritize them.
My longer-term goal is to explore how open-weight AI could help explain suspicious messages, identify previously unseen scam patterns, and assist maintainers with evidence review — while keeping source verification and human approval central to the process.
My Agent Session
I haven't included an agent session link in this submission. If I publish a DevRelay session documenting development, testing, or an open-source AI integration, I'll add it here.
The Lazy Payoff 🦥
The idea is to replace a frustrating manual process with a quick first-pass check.
Without VerifyIntern, a student might have to search for a company, inspect its domain, look for public scam advisories, and work out whether a suspicious request resembles a known pattern.
With VerifyIntern, those initial checks are brought together in one place, with the supporting evidence shown alongside the result.
That doesn't replace independent verification or guarantee safety. It gives students a faster starting point and makes the reasoning easier to follow.
Prize Categories
Primary challenge: Hacktoberfest Open-Source AI Challenge — Week 3: Slow and Steady
I'll add any applicable partner-specific categories once I've confirmed that the project meets their requirements.
Built to help students spend less time investigating suspicious offers and more time pursuing legitimate opportunities.
If you've encountered an internship scam pattern that should be documented, or want to help improve the checker, contributions are welcome.
Repository: https://github.com/geekyNads/verify-intern
Top comments (0)