Inspiration

We were inspired by the real-world challenges faced by bank testers and other niche financial crime investigators. With fraudulent transactions becoming more digital and harder to trace by the day, we wanted to build a tool that not only flags suspicious behavior but also helps analysts visually trace the money trail. Our goal was to make fraud detection more intuitive, interactive, and explainable—especially for analysts who need to act quickly and with confidence.

What it does

MoneyTrail is a real-time investigative platform that:

  1. Displays high-risk accounts with interactive risk score gauges

  2. Maps transactions and suspicious behaviors via dynamic network graphs

  3. Visualizes triggered alerts with severity labels

  4. Offers an interactive merchant view showing linked users and suspicious patterns

  5. Includes a smart search bar that links to accounts, merchants, and alerts

  6. Provides a score distribution bar to break down low, medium, and high-risk thresholds

How we built it

  1. Frontend: React with Vite + custom CSS for layout and interactivity

  2. Data Visualizations: D3.js for network graphs and score charts

  3. Backend: Python Flask API serving mock banking data

  4. Data Sharing: React Context API to provide live data across the entire app

  5. Routing: React Router for navigating between dashboard, account detail, merchant insights, and alerts

Challenges we ran into

Connecting the frontend and backend — properly handling cross-origin requests (CORS), creating certain API endpoints, and synchronizing live data in React

Designing modular components that could handle dynamic data across tabs and views

Integrating D3.js into React without breaking layout responsiveness

Making the search experience fast, smart, and visually intuitive

Managing conditional rendering based on selected accounts, merchants, and user input

Accomplishments that we're proud of

Built an end-to-end financial investigation tool in under 36 hours

Successfully connected React frontend with Flask backend and passed live data through Context after almost 7 hours of struggle :)

Visualized complex fraud patterns in a way that's easy to understand

Created a clean and scalable frontend that mimics real-world compliance tools

Made the experience fun and informative — like Palantir-lite for fraud

What we learned

How to build a full-stack app with frontend–backend communication

How to use React Context for clean global state and live data access

How to implement custom network and bar visualizations with D3.js

How to translate fraud patterns into meaningful frontend UI/UX

That connecting React + Flask isn't plug-and-play — but incredibly rewarding once solved!

What's next for MoneyTrail

Add user authentication and role-based access (analyst vs admin)

Integrate an ML model to generate real-time fraud scores, instead of using mock data and rule based logic.

Enable timeline filtering for historical fraud patterns

User/bank customization of suspicion weights for each of the 4 metrics, to "score" more actively fraudulent accounts higher than a possible one time or accidental fraudulent transaction.

Connect to live banking APIs for real-time simulation

Package it for compliance teams as a plug-and-play fraud dashboard

+ 30 more
Share this project:

Updates