Inspiration
Last year, my grandma fell for a fake police officer scam. They called her and told her that she was under investigation by the police department and that she could not tell anyone. She was told to take pictures of various forms of identification, which she sent to the scammers. Luckily, my uncle found out what was going on before they took anything of monetary value. Every year, elderly people lose billions to phone scams: fake IRS agents, "your grandson is in jail" emergencies, gift-card payment demands. The victim is alone on the call, and by the time the family finds out, the money's gone.
What it does
AIntercept is a real-time guardian that sits on the line and listens. As the call is transcribed live, a cheap semantic gateway filter watches every sentence; the moment the conversation sounds like a scam (even with no obvious keywords), it escalates that slice to AI for a structured verdict. If the AI says it's an active scam, AIntercept terminates the call and texts the family instantly; if it's merely suspicious, it quietly notifies family without hanging up. It also remembers across calls and across days, so a household that's been targeted before is flagged the moment the next suspicious call comes in.
How we built it
Frontend:
- Static HTML/CSS/Typescript — served from public/ (index.html, app.html, history.html, styles.css)
Backend:
- Runtime: Node.js (ESM-only) with TypeScript 5.7, run via tsx
- Web server: Express 5
- Real-time: ws (WebSocket) — Twilio Media Streams in, dashboard events out
- Telephony: Twilio (Media Streams, mu-law 8 kHz audio)
- Speech-to-text: Deepgram SDK (nova-2)
- LLM / scam judge: Anthropic Claude via Token Router path
- Embeddings / semantic gate: @xenova/transformers (local embeddings) feeding a Redis vector gate
- Datastore / memory: Redis (redis v4) — vector search + persistent household "memory"
Challenges we ran into
- Recording a call using Twilio and connecting that to a ngrok webhook
- Redis wouldn't work properly due to school firewall, had to run locally
Accomplishments that we're proud of
An accomplishment that we are especially proud of is the fact that we were able to have calls be screened in real time for scams. For us, this is a step forward in preventing elderly populations from being scammed due to a lack of information about fraudulent phone calls.
What we learned
- Anything could break at the last minute, but the best way to get through that is by giving time.
- Make sure all webhook links are correct otherwise you will spend hours trying to fix bugs that don't exist
- Ask a lot of questions online and at the hackathon for help
What's next for AIntercept
- Our next move would be to have this connect with people's real phone numbers. Right now, this only works by phone numbers provided by Twilio.
Built With
- deepgram
- embeddings
- express.js
- redis
- tokenrouter
- twilio
- websocket
Log in or sign up for Devpost to join the conversation.