๐Ÿ’ก Inspiration

[Your real story in 2โ€“3 sentences. For example: "Last month, my grandmother got a text saying her electricity would be cut off that night unless she called a number. She almost called it."]

Scam messages are everywhere: fake delivery notices, bank alerts, "your power will be disconnected tonight" threats, and "Hi Mom, this is my new number" texts. They're designed to cause panic, and they hit older adults hardest. The warning signs are usually right there in the message. People just don't know what to look for.

Most scam checkers give a yes or no answer. I wanted to build something that teaches people to spot the red flags themselves, so they're protected even when the app isn't open.

๐Ÿ›ก๏ธ What it does

Think Twice lets anyone paste a suspicious text, WhatsApp message or email and instantly see:

  • Every red flag underlined in the message, numbered and color-coded. Tapping one explains why it's a warning sign in plain language.
  • A risk gauge with a clear verdict: No red flags found, Be careful, or Likely a scam.
  • How the scam is built: which of the three parts of a typical scam the message uses, Bait โ†’ Pressure โ†’ Request.
  • A score breakdown showing exactly which flags raised the risk, so the result is never a black box.
  • What to do now, with steps that change based on what was found.
  • Send to family, which shares the result through the phone's share menu.

Practice mode turns it into a game: decide whether a message is a scam, tap the words that gave it away, then see which red flags you found and which you missed.

It's built for older users: three text sizes, keyboard navigation, dark mode, and Atkinson Hyperlegible, a font designed by the Braille Institute for low-vision readers.

๐Ÿ”ง How I built it

Think Twice is plain HTML, CSS and JavaScript with no frameworks, no server and no API. It runs entirely in the browser, so nothing a user pastes ever leaves their device, and it works offline. It's hosted on Vercel.

I chose transparent detection rules instead of an AI model so that every warning comes with a reason a person can understand. Each rule belongs to one stage of the scam pattern: bait (prizes, fake account problems, "new number" stories), pressure (deadlines, threats, secrecy), request (codes, money, calling a number, remote-access apps), and disguise (lookalike links like usps-redelivery.top, shortened links, unusual web address endings).

Each flag $i$ has a weight $w_i$, and the risk score combines them with diminishing returns:

$$\text{risk} = 1 - \prod_{i=1}^{n} (1 - w_i)$$

Several weak signs add up, but no single weak sign decides the result. A message that combines pressure with a request gets an extra flag, because that pairing is the core of almost every scam. Protective phrases like "never share this code" lower the score.

[If the hackathon asks you to disclose AI tools, add a sentence here, e.g. "I used Claude, an AI assistant, to help write and test the code."]

๐Ÿงช Testing

I collected [number] real scam messages from [family WhatsApp groups / friends / public reports] and [number] real, legitimate messages, then ran them all through Think Twice.

$$\text{Accuracy} = \frac{\text{correctly classified messages}}{\text{total messages}} = \frac{[X]}{[Y]} \approx [Z]\%$$

[Add a real quote from someone who tried it, ideally an older relative.]

๐Ÿง— Challenges

  • False alarms on real messages. Real bank code messages say "don't share this code," which looks a lot like a scam asking you to share a code. The rules had to check for words like "don't" and "never" before a request, and treat warnings like that as a good sign.
  • Catching fake links. Scam links often include a real brand name, like usps-redelivery.top, or swap letters for numbers, like amaz0n. The app compares each link with the brand's real website address to catch these.
  • Balancing the score. One weak sign, like "Dear customer," shouldn't label a message a scam, but several together should. Combining weights with diminishing returns solved this.
  • Designing for older users. Large tap targets, big readable text, plain-language explanations and no jargon, while still showing the reasoning behind every result.

๐Ÿš€ What's next

  • Support for more languages, so more families can use it
  • A screenshot option, since copying text is hard for many older users
  • A WhatsApp bot so people can forward a message instead of opening a website
  • Sharing it with local senior centers and libraries

Built With

Share this project:

Updates

Submission history