Mineral Risk Analytics
An EV battery supply-chain risk intelligence platform that scores structural risk per mineral and country across 39 critical minerals and 200+ countries. Technical co-founder and sole engineer; pre-launch, with a functional scoring engine and shipped methodology.

Demo
Problem
Companies that depend on EV battery materials—lithium, cobalt, nickel, rare earths—need early warning when supply is at risk from geopolitics, regulation, or production being concentrated in just a few countries. That signal is scattered across hundreds of government, trade, and financial sources and changes constantly, so tracking it by hand doesn't scale.
Approach
I built the platform end to end: a Python/FastAPI backend, a Next.js frontend, and an automated pipeline that pulls from public data sources every night. To cut through the noise affordably, an AI layer (Anthropic Claude) reads each incoming document, confirms it's actually relevant, and tags which minerals and regulations it affects.
A weighted scoring engine then turns everything into a 0–100 risk score for each mineral and country, combining five factors such as production concentration, trade and geopolitical exposure, and regulation. The scoring methodology follows established government frameworks from the USGS and the EU's Joint Research Centre.
Key Features
- Risk scores from 0–100 for every mineral-and-country pair, across 39 critical minerals and 200+ countries.
- Automated nightly data pipeline that ingests from public government, trade, and financial sources.
- AI classification layer (Anthropic Claude) that filters out noise and tags the minerals and regulations each source affects, cutting false positives by roughly 40%.
- Weighted scoring engine combining five risk factors: material concentration, geopolitics and trade, regulation, operations, and financial pressure.
- Built and run solo end to end: Python/FastAPI backend, Next.js frontend, and the full data and deployment infrastructure.
Gallery
Materials registry — risk score, concentration, and signal coverage across all 39 minerals.