Disclosure
This submission builds on Sentinel RegTech, an existing AML investigation product I have been developing since March 2026 (predates the Aug 3-31, 2026 submission period).
Pre-existing (not created during the submission period): the core LangGraph investigation pipeline, the Neo4j ownership/sanctions graph, the React analyst console, the Digital Assets (crypto) module, and the Fairness/Governance audit module.
Newly created during the submission period (Aug 16-31, 2026):
swapping the LLM backend to Gemini 3.6 Flash, building a Google Agent
Development Kit (ADK) agent layer (adk_agent.py, adk_app/) that
wraps the pipeline above as callable tools, deploying the backend to
Google Cloud Run with Cloud SQL, and deploying a hosted frontend to
Vercel connected to that backend. This work is submitted in a dedicated
repository (sentinel-aml-hackathon) containing only work from the
submission period.
All pre-existing code is unmodified except where noted above (the LLM
swap and the fix required to make Gemini's response format compatible
with the existing pipeline, documented in graph_logic.py).
Inspiration
I spent 15+ years in financial services, including retail banking and mortgage operations at JPMorgan Chase. AML/sanctions screening is still largely manual: analysts individually check sanctions lists, trace ownership structures, and search adverse media for every subject — slow, inconsistent, and hard to audit. I built Sentinel to automate that investigation while keeping every decision evidence-backed and human-reviewed.
What it does
Sentinel runs a full AML/sanctions investigation on a subject — identity matching, ownership/network risk via a graph database, adverse-media research, and a groundedness-checked report — and returns a disposition with full evidence citations, source tiering, and mandatory human review for any high-risk case. It also generates a reviewer-ready PDF packet, runs a governance/fairness audit, and supports batch CSV screening and crypto wallet risk screening.
How I built it
The core investigation pipeline is a LangGraph state machine: identity matching → Neo4j ownership/sanctions network lookup → Tavily adverse-media research → report drafting → an automated groundedness audit that forces a rewrite if the report isn't supported by retrieved evidence.
For this hackathon, I swapped the LLM backend to Gemini 3.6 Flash and built a Google Agent Development Kit (ADK) agent that wraps the existing pipeline as a set of tools (run_aml_investigation, generate_investigation_report_pdf, batch_screen_subjects, investigate_digital_asset, generate_governance_fairness_report), deployed on Cloud Run with Cloud SQL (Postgres) for audit persistence.
Challenges I ran into
Getting Gemini's response format to work cleanly with the existing pipeline took some debugging — ChatGoogleGenerativeAI can return message content as a list of parts instead of a plain string, which broke a downstream function expecting a string. Normalizing that was a small fix but took real investigation to trace.
Accomplishments that I am proud of
The governance layer: every disposition passes through explicit, named checks (source-tier gating, weak-source escalation guards, identity ambiguity controls, human review gates) — not just a single confidence score. High-risk and ungrounded outcomes are never auto-cleared.
What I learned
How much of "trustworthy AI" in a regulated context comes down to what you refuse to let the model decide alone — the groundedness audit and mandatory human review gate matter as much as the investigation logic itself.
What's next for Sentinel
Real blockchain analytics provider integrations for the digital-assets module, expanded core-banking connectivity, and formal SOC 2 alignment for pilot deployments.
Built With
- cloud-run
- fastapi
- gemini
- google-adk
- langchain
- langgraph
- neo4j
- postgresql
- python
- react
- tavily
Log in or sign up for Devpost to join the conversation.