Inspiration
Last week one of our teammates got scammed for gift cards. Even after getting the refund, his card was disabled for a week completely helpless for day-to-day transactions. That frustration sparked Securely. Fraud detection shouldn't be a black box that silently blocks your card. It should be transparent, explainable, and smart enough to tell the difference between a $5 coffee and a $1,250 wire transfer to a sanctioned country.
What it does
Securely connects to your bank account and analyzes every payment through a 4-layer AI fraud engine before it processes. Layer 1 is a rule engine that scores jurisdiction risk, velocity, and spending anomalies. Layer 2 is an XGBoost model trained on 6.2 million real fraud transactions. Layer 3 is a FalkorDB knowledge graph that detects fraud rings through device and merchant relationships. Layer 4 is a Groq LLM that explains every decision in plain English. The system learns from your feedback trusted merchants auto-approve forever, rejected ones are permanently blocked.
How we built it
We split into three tracks. Manthan trained the XGBoost model on the Kaggle PaySim dataset, tuning features and thresholds over multiple iterations. Atharv built the knowledge graph on FalkorDB and designed the rule engine with context-aware country scoring and the weighted blend formula. Avneet built the full-stack FastAPI backend, React frontend, Plaid bank integration, Docker Compose orchestration, and the Groq LLM explainer. Everything runs in Docker with five services communicating over a compose network, and we used ngrok to expose the backend for live cross-device demos.
Challenges we ran into
The hardest problem was the weighted blend. Our ML model was trained on generic transaction data and dramatically underweighted geopolitical risk a $1,250 wire transfer was scoring 5 out of 100 and getting approved. We had to make the blend country-aware, pushing rules to 75% weight for sanctioned jurisdictions so domain knowledge dominates where the model is weakest. We also had to fix overzealous country scoring in the opposite direction the rule engine was blocking a $5 coffee in Nigeria with a score of 80, which is a terrible user experience. Adding context-aware category exemptions fixed both problems.
Accomplishments that we're proud of
We're proud of building a genuinely multi-layered system where each component compensates for the others' weaknesses not just stacking APIs together. The trust system that learns from user decisions is something we're particularly happy with: it makes the fraud engine smarter over time rather than static. We're also proud of the knowledge graph visualization watching fraud ring connections form in real time as transactions come in is exactly the kind of transparency we wanted to build.
What's next for Securely
We want to deploy a proper streaming pipeline with Kafka so transaction scoring and LLM explanation happen asynchronously score instantly, explain in background.
Log in or sign up for Devpost to join the conversation.