We will be undergoing planned maintenance on January 16th, 2026 at 1:00pm UTC. Please make sure to save your work.

Fraudulink

Inspiration

Fraudulink came from personal experience. Everyone on our team has seen a family member or someone close to us receive scam phone calls that were confusing, intimidating, or financially harmful.

Scammers often rely on urgency, fear, and impersonation, and seniors are especially vulnerable to these tactics. Watching people we care about struggle to recognize scams made us want to build something practical that could help them understand what is happening during these calls and make safer decisions.

We built Fraudulink at SheHacks 2026 to turn that frustration into a tool that actually helps protect people.


What it does

Fraudulink is a web application that analyzes phone call transcripts or audio recordings to determine whether a call is likely a scam.

Users can upload an audio file or paste a transcript and receive:

  • A scam or safe classification
  • A confidence score and risk level
  • An explanation of why the call may be suspicious
  • Safety tips based on the detected scam type
  • Translated results in over 18 languages
  • Optional voice warnings generated through text-to-speech

The focus is not just on labeling a call, but on helping users understand the warning signs.


How we built it

We built Fraudulink as a full-stack application.

The backend is written in Python using Flask and includes a pre-trained scikit-learn model for scam detection. Text is preprocessed and vectorized using TF-IDF before being classified. For audio inputs, we use Google Gemini to transcribe the call and detect the language automatically.

Gemini is also used to generate explanations, identify common scam tactics, and translate results into the user’s preferred language. ElevenLabs is used to generate optional voice warnings.

The frontend is built with HTML, CSS, and vanilla JavaScript, with a focus on clarity, accessibility, and fast feedback. All analysis is handled asynchronously so users get results quickly without blocking the interface.


Challenges we ran into

One of the biggest challenges was working within API rate limits, especially during testing. We had to be careful about how often we called external services and added retry logic to handle failures gracefully.

Handling audio files was also difficult. We needed to support multiple formats while keeping upload sizes reasonable and response times fast.

Another challenge was integrating a pre-trained machine learning model into a Flask application in a way that was efficient and reliable.

Finally, coordinating transcription, analysis, translation, and UI updates required careful attention to error handling and user feedback.


Accomplishments that we’re proud of

We are proud that we built a complete and functional product within the time constraints of a hackathon.

The application provides fast analysis, supports many languages, and goes beyond a simple scam or not-scam label by explaining why a call is suspicious. We also created a clean, easy-to-use interface that works well on both desktop and mobile.

Most importantly, we built something that addresses a real problem that affects people we care about.


What we learned

This project taught us how to deploy and use machine learning models in a real application, work with audio data and transcription services, and design systems that rely on rate-limited external APIs.

We also learned the importance of prioritizing core features, designing for non-technical users, and making tradeoffs under time pressure.


What’s next for Fraudulink

In the future, we would like to turn Fraudulink into a mobile application that can analyze calls in real time.

We also plan to improve the machine learning model with more training data, expand language support, and add features that allow family members or caregivers to be notified when a suspicious call is detected.

Our long-term goal is to make Fraudulink a reliable tool that helps people recognize and avoid phone scams before real damage is done.

Built With

Share this project:

Updates