Inspiration

Scholarship offers often reach students through email, social media, and forwarded screenshots. Suspicious offers may use different names and wording while repeating the same payment destination or contact details.

We built ScamTrace to help students investigate those connections. Instead of giving an unexplained verdict, it shows the evidence behind each relationship and lets users challenge incorrect readings.

What it does

ScamTrace turns suspicious scholarship messages into an evidence investigation workspace.

Users can:

  • Paste messages or upload screenshots for browser-local OCR.
  • Trace shared payment accounts, email addresses, telephone numbers, and URLs.
  • Inspect the original source quotes behind each connection.
  • Review screenshot readings before they establish corroborated links.
  • Correct identifiers and watch unsupported connections retract.
  • Find similar narratives using AI that runs in the browser.
  • Export and import cases with their original evidence and corrections.

Duplicate reposts do not create additional corroboration. Narrative similarity remains separate from the evidence graph. Connections are investigative leads, not proof of fraud.

How we built it

We built the application with JavaScript, HTML, and CSS and deployed it on Vercel.

Tesseract.js extracts screenshot text and image coordinates. Transformers.js runs a quantized MiniLM model in a Web Worker to find similar narratives after identifiers are removed.

The investigation engine normalizes identifiers, retains exact source offsets, checks review status, and applies explicit corroboration rules. A shared payment destination—or both a shared email and telephone number—can connect independent reports.

IndexedDB stores cases locally, with separate personal and fictional demo workspaces. Evidence text and screenshots are not uploaded to an application backend. Initial model, OCR, and font downloads require internet access.

We used Codex to assist with planning, implementation, testing, deployment, and demo preparation.

Challenges we ran into

The main challenge was preventing misleading connections. A common website host, duplicated message, or incorrectly read payment account can make unrelated reports appear connected.

We addressed this with duplicate suppression, source-backed extraction, individual OCR review gates, and corrections that immediately recalculate relationships.

Another challenge was integrating AI without treating similarity as certainty. We kept neural retrieval separate from corroborated connections and presented cosine scores as narrative leads rather than fraud probabilities.

Accomplishments that we're proud of

We shipped a working application with real screenshot OCR, browser-local neural inference, inspectable evidence, reversible corrections, case export/import, and a responsive white-and-blue interface.

All 20 investigation-engine tests pass. Browser checks exercised OCR, local AI, review gates, corrections, persistence, exports, imports, and mobile layouts.

On a synthetic benchmark of 32 fictional reports and 496 report pairs, both approaches found all 40 labelled positive relationships. A naive overlap baseline produced 288 false connections; ScamTrace's corroboration policy produced zero on that dataset.

These results demonstrate the configured identifier policy on synthetic data, not real-world fraud accuracy.

What we learned

Trustworthy investigation tools need to make uncertainty visible. Every connection should have a source, every reading should be reviewable, and every correction should change the result.

We also learned that AI retrieval becomes more useful when users can inspect its suggestions alongside concrete evidence.

What's next for ScamTrace

We plan to test the workflow with students and scholarship advisers, improve OCR for difficult screenshots, and evaluate the relationship policy on appropriately consented and labelled real-world material.

We also want to improve larger-case navigation and explore consent-based collaboration while preserving evidence provenance.

Try the app: https://scamtrace-gamma.vercel.app

Watch the demo: https://scamtrace-gamma.vercel.app/demo/

Built With

Share this project:

Updates

Submission history