Inspiration

An internship or job offer can look convincing on the surface: an attractive stipend, a professional-looking website, and a recruiter who sounds genuine. But what happens when the offer includes an unexpected registration fee, an unfamiliar application domain, or a recruiter using an unrelated email address?

Students and fresh graduates often face these situations while searching for internships, jobs, and scholarships. Verifying an opportunity manually can involve checking multiple websites, comparing email domains, researching organisations, and identifying warning signs across scattered sources.

We wanted to make this process easier.

That's why we built OFFERPROOF — an evidence-based opportunity assessment platform built around one simple principle:

Don't trust the offer. Verify the evidence.

What it does

OFFERPROOF helps students assess the credibility of job offers, internships, and scholarships by examining the information available in an opportunity.

Users can submit:

  • Pasted offer messages or descriptions
  • Text-based PDF documents
  • Opportunity or application URLs

The platform then extracts important information such as organisation names, job roles, stipends, recruiter emails, websites, application links, and payment-related claims.

It examines available technical evidence and warning indicators, including:

  • Domain registration information through RDAP
  • DNS records through Cloudflare DNS-over-HTTPS
  • Recruiter email and organisation-domain consistency
  • Website and application-domain relationships
  • Upfront payment requests and suspicious recruitment language

The results are presented in an explainable assessment rather than an unexplained numerical score.

Each finding communicates what was observed, what evidence supports it, what remains uncertain, and what the student should check next.

How we built it

We built OFFERPROOF as a full-stack application.

Frontend

  • React 18
  • Vite
  • Tailwind CSS
  • Lucide icons

Backend

  • Python
  • FastAPI
  • Pydantic
  • PyMuPDF for PDF text extraction

Intelligence and verification

  • AI-assisted claim and entity extraction
  • Deterministic rule-based extraction fallback
  • RDAP domain registration lookups
  • Cloudflare DNS-over-HTTPS
  • Explainable assessment and evidence mapping

The application follows a modular architecture that separates ingestion, extraction, verification, and assessment.

A submitted opportunity moves through four main stages:

  1. Ingestion: Accept text, PDF, or URL references.
  2. Extraction: Identify important claims, entities, and contact details.
  3. Evidence checks: Examine available technical signals and inconsistencies.
  4. Assessment: Generate an explainable report with findings, limitations, and recommended actions.

We also designed the system to handle unavailable external services gracefully. When evidence cannot be retrieved, the platform reports that limitation instead of inventing results.

Challenges we faced

One of our biggest challenges was distinguishing a warning sign from actual proof of fraud.

For example, a newly registered domain may deserve attention, but it does not automatically mean an organisation is fraudulent. Similarly, using a public email provider does not prove that a recruiter is fake.

We addressed this by separating technical observations from conclusions and using four evidence states: supported, contradicted, inconclusive, and not checked.

Another challenge was building a system that could process untrusted URLs safely. Instead of freely fetching user-submitted websites, OFFERPROOF parses URL references and uses fixed external services for supported technical checks. We also implemented strict precautions around network access.

Handling unreliable external services, scanned or empty PDFs, missing AI credentials, and incomplete opportunity information required additional validation and fallback behaviour.

Most importantly, we had to ensure that the platform never presents an incomplete investigation as a guaranteed verdict.

What we learned

Building OFFERPROOF taught us that responsible AI is not just about extracting information or producing an answer. It is also about explaining how that answer was reached and being transparent about what the system cannot establish.

We gained practical experience with:

  • Full-stack application development using React and FastAPI
  • AI-assisted information extraction
  • External technical data integration
  • API design and modular backend architecture
  • PDF processing and validation
  • Security precautions for untrusted inputs
  • Automated testing and production hardening
  • Designing explainable, user-focused reports

We also learned that a useful security-oriented tool should help people make better decisions, not make decisions for them.

What's next

OFFERPROOF currently focuses on explainable technical and content-based checks. Future improvements could include integrations with official business registries, stronger email authentication analysis using raw email headers, and additional organisation verification sources.

These improvements would expand the available evidence without changing the core principle of the project.

Our final principle

OFFERPROOF does not promise that every opportunity can be classified as genuine or fraudulent.

Instead, it helps students understand the available evidence, recognise warning signs, identify missing information, and take safer next steps.

Don't trust the offer. Verify the evidence.

Built With

  • ai
  • artificial-intelligence
  • css
  • cybersecurity
  • dns
  • explainable
  • fastapi
  • fraud-detection
  • generative-ai
  • google-gemini
  • html
  • javascript
  • osint
  • pdf-processing
  • pydantic
  • python
  • rdap
  • react
  • rest-api
  • tailwind-css
  • typescript
  • vite
Share this project:

Updates

Submission history