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/analyzeendpoint. - 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.
Log in or sign up for Devpost to join the conversation.