Inspiration

The people who raised us are now the #1 target of phone scammers. In 2025, Americans aged 60 and older reported $7.7 billion in fraud losses to the FBI, up about 60% from the year before and more than any other age group. (FBI IC3)

For us, this is personal. Years ago, a grandmother in our family answered a call from a courteous, patient man selling insurance. By the time the call ended, part of the retirement savings she had spent her life building was gone. She wasn't careless. She was trusting, and that trust is exactly what scammers exploit.

These scams succeed because they are fast and emotional:

"Grandma, it's me, Danny. I'm in trouble. Please don't tell Mom. Can you get $2,000 in gift cards?"

By the time the family or the bank finds out, the money is gone. Call blockers only stop numbers already known to be bad. We kept asking: what if the family could know during the call, while there's still time to stop it?

We're based in Florida, where many grandparents speak Spanish, so every alert reaches the family in their own language. We also wanted to protect seniors without taking away their independence, so nothing is ever monitored until the senior gives consent.

What it does

Scam Shield monitors a senior's phone call in real time and brings the family in the moment it looks like a scam.

  • Consent first: a family member signs up their loved one, and Scam Shield calls the senior on their own phone: "Press 1 to allow, 2 to decline." The senior can turn it off at any time by calling the Scam Shield number and pressing 2.
  • Works on cell phones and landlines: seniors keep their own phone and number. Declined or missed calls forward to Scam Shield, which rings the Scam Shield page on their phone. If the page is closed, we call their phone as a backup and they press 1 to answer with Scam Shield listening. Landlines use a small phone adapter.
  • Add Scam Shield to any call: already on a call that feels wrong? Tap Add call, choose Scam Shield, then Merge.
  • Live transcript: Twilio real-time transcription turns the call into text as it happens. The words stay in memory during the call and are never saved.
  • AI scam score: NVIDIA Nemotron scores the call from 0 to 100 and explains why: gift cards, secrecy, urgency, threats of arrest, a "grandchild" in trouble.
  • Caller research: Tavily checks whether the caller's number has been reported and finds matching scam warnings, prioritizing trusted sources like the FTC, FBI, Social Security, Medicare, AARP and the BBB.
  • Family alert call: when the score reaches 70, Scam Shield phones the family in their language (English or Spanish), reads the top red flags, and they press 1 to join the call as a 3-way call. An alert email with a "Join call" link goes out too.
  • Family dashboard: call history with scores, reasons and source links, "Was this a scam?" feedback, pause or remove protection, a ready-to-paste FTC report, and a choice to warn or block a scam number if it calls again.
  • Fully bilingual site: every page has an English | Español switch.

Try it yourself:

  • Live demo: play one of 20 scripted calls and watch Nemotron score it line by line. No phone or account needed.
  • Test it: get a code, call (570) 532-5081 from your own phone, play the scammer, and watch Scam Shield catch you live. It even speaks Grandma's warning out loud on the call.

How we built it

  • NVIDIA Nemotron on Nebius Token Factory is the brain. We use Nemotron 3.5 Lightning with thinking mode off for live checks, so each check takes about 1 second. Token Factory is OpenAI-compatible, so we used the standard openai Python library, and structured output returns clean JSON every time: score, verdict, reasons, who the caller claims to be, and the family alert written in the family's language.
  • Tavily for real-time caller research. To save credits, calls that look safe skip the news search, and we build the second search from Nemotron's own reasons.
  • Twilio for call forwarding, live transcription, the senior's consent call, the family's alert call, conference rooms for the 3-way "Join call," and a browser calling app built on the Voice SDK.
  • FastAPI (Python) backend that also serves the site, Supabase for family logins, SQLite for sign-ups and call history, Gmail for alert emails, and Render to host the live site.
  • A demo mode with a scripted family (Rosa, Ana and Danny) so anyone can try the full flow without a real phone, and more than 340 automated tests running on GitHub Actions for every change.

Challenges we ran into

  • The forwarding loop: calls forward from the senior's number to Scam Shield, so we can't ring them back on that same number. We built a browser calling page for cell phones, with a phone-call backup when the page is closed, and used a phone adapter for landlines.
  • Carriers blocked our texts: consent texts and text alerts from our unregistered Twilio number never arrived. We redesigned both around phone calls: the senior presses 1 to give consent, and the family presses 1 to join the call. It turned out to be faster and better suited to seniors.
  • Consent order: once forwarding is on, our consent call would loop back to us. We made consent the first step and forwarding the second.
  • 911 safety: once a landline moves onto the adapter, 911 calls go through Twilio, so the home address must be registered as the emergency address first. We made this a required step in our setup guide.
  • Speed vs. accuracy: a live call needs answers in seconds. Turning off Nemotron's step-by-step thinking took us from our 3-second goal down to about 1 second.
  • False alarms: "Danny? You sound different" is something real grandmothers say to real grandsons. We tuned the prompt so a different-sounding voice is never counted as a scam sign on its own, and Scam Shield waits for enough words before scoring, so a quiet start can't trigger an alert.
  • Silent and robocalls: a caller who says nothing is warned at 10 seconds and disconnected at 20.
  • Scammers talking to the AI: a scammer could say "ignore your rules." We treat the transcript as evidence, never instructions, so that only makes them look more like a scammer.
  • Focus: we originally planned Haitian Creole as well, but our phone voices couldn't speak it well. We chose to ship polished English and Spanish rather than a weaker third language.

Accomplishments that we're proud of

  • 20 out of 20 on our test calls: all 10 scams caught (scores 85–92) and all 10 normal calls marked safe (scores 5–15), including tricky ones like the real bank checking a charge and a real grandson asking for a ride.
  • The same grandson scam is caught in Spanish too.
  • Playing the fake grandson call line by line, the score climbed from 30 to 85 and the family alert fired the moment "Danny" said he was arrested, exactly once.
  • A real phone line anyone can call to test it live, not just a slideshow.
  • Consent-first and private by design: nothing is monitored until the senior agrees, we never record audio or save transcripts, and if anything fails we say "couldn't check" instead of guessing "safe."
  • More than 340 automated tests run on every change.

What we learned

  • The best scam protection works during the call, not after it, and it has to be fast enough to keep up with a conversation.
  • Accessibility means more than translation. It means landlines, a simple "press 1" instead of an app, and no new phone number to learn.
  • Trust matters as much as accuracy: a false alarm on a real grandchild is costly, so we tested normal calls as carefully as scams.
  • Sometimes the platform decides for you. When texts were blocked, switching to phone calls made the product better for the people it serves.

What's next for Scam Shield

Scam Shield 2.0: an app that protects every call.

  • A phone app that rings like a regular call, even when it's closed, with no page to keep open, and keeps blocked numbers blocked for texts too
  • One tap to add Scam Shield to a call already in progress
  • The "Is it really you?" check over real texts: when a caller claims to be a grandchild, we text the real grandchild to confirm before any money is sent (it already works in our demo and test line)
  • A live risk meter on the family dashboard during the call
  • Learning from families: using "Was this a scam?" answers to tune the alert threshold and improve detection
  • More languages, starting with Vietnamese and Chinese

Built With

Share this project:

Updates

Submission history