Inspiration

Countless students fall victim to internship scams under high-stakes pressure. A common fraudulent message reads: "Congratulations, you’ve been hired — submit a $150 refundable deposit within the next hour to reserve your position." Faced with urgent living expenses and a tight deadline, many young people rush to complete payment without second thought. General anti-scam guidance is widely available, yet it remains generic and ill-timed. Such resources never surface at the critical instant users are about to click a link, transfer funds or sign an agreement. We built this tool to deliver impartial, level-headed second opinions exactly when users need them most.

What it does

SafePath is a safety copilot for the moment right before you act. You paste a suspicious message, offer, or contract clause (and optionally a screenshot), and it returns a structured risk readout in plain language:

  • a risk level and 0–100 score,
  • the specific red flags it found,
  • why each one matters,
  • an ordered next-steps checklist,
  • verification questions you can actually send, and
  • a calm, firm safe reply you can copy and use.

It has three lenses — Message, Offer, and Agreement — each tuned to different tactics: manufactured urgency, payment before proof, avoided verification, and one-sided terms.

How we built it

  • Frontend: hand-rolled HTML/CSS/JavaScript — no framework — responsive, accessible, and reduced-motion aware, with an editorial visual system.
  • Backend: Python + Flask serving the UI and a single /api/analyze endpoint.
  • AI: Qwen via the DashScope OpenAI-compatible API (multimodal — it can read an uploaded screenshot), prompted for strict JSON that the server normalizes into a consistent schema.
  • Resilience: a deterministic local heuristic analyzer as a fallback, so the tool always responds even if the model is unavailable.
  • Hosting: Render. Built with Claude Code as the engineering teammate.

Challenges we ran into

  • Making the output decision-ready, not vague. "This might be a scam" is useless under pressure. We iterated the prompt and a server-side normalizer until every response gave concrete signals, ordered steps, and a usable reply.
  • Reliability for a safety tool. A safety product can't dead-end. We built the heuristic fallback and made the UI always show which source produced the result.
  • Multimodal + strict JSON. Getting consistent, parseable JSON (with an optional image) took careful prompting and tolerant parsing.

Accomplishments that we're proud of

A genuinely useful tool that's live, works on real messages, reads screenshots, and turns a panicky moment into a clear, calm decision — with an honest fallback so it never leaves you stuck.

What we learned

Structured, decision-ready output beats a verdict. The value isn't "is this a scam?" — it's "here are the signals, here's what to do next, and here's exactly what to say." Designing for the moment of pressure changed every UX choice.

What's next for SafePath

A browser/mobile share-target so you can send a message straight from any app, multi-language support, a lightweight report-and-learn loop, and partnerships with student-support organizations.

Share this project:

Updates