AquaFund AI

Optimizing Global Water Crisis Relief via Machine Learning & Decentralized Finance

Meet the Global Team

AquaFund AI is a cross-border, collaborative effort built for this MLH hackathon by a diverse international team across three continents: Pritam Chowdhury (India) Lufuno Mphephu (South Africa) Tijjani Mayowa Tammy (Nigeria)

Inspiration

Clean water scarcity is a compounding global crisis affecting over 2 billion people, particularly within communities across Sub-Saharan Africa and South Asia. Traditional philanthropy is deeply flawed; funds frequently vanish into bureaucratic administrative overhead, lack public tracking, or are allocated based on subjective biases rather than factual parameters. Representing India, South Africa, and Nigeria, our team experienced this shared problem firsthand. We were inspired to build AquaFund AI to create a level playing field: a platform where objective AI removes human favoritism, and milestone-locked DeFi escrow ensures transparent funding straight to the ground.

How We Built It & The Math Behind the AI Core

AquaFund AI combines a highly dynamic Python user interface with an immutable Web3 tracking setup.

The Tech Stack

Frontend: Developed entirely in Python using Streamlit for responsive layouts. Web3 Integration: Integrated Web3.py connected to high-performance cloud infrastructure nodes via Alchemy to interact with the Ethereum network layer. AI & Metrics Processing: Powered by NumPy and Pandas to process and rank incoming crisis request signals.

The AI Prioritization Engine (LaTeX Formula)

Instead of relying on subjective human decisions, our AI engine maps chaotic regional data arrays into a precise, standardized blockchain priority score, (S_{\text{priority}} ), bounded strictly between ( 1 ) and ( 1000 ). The engine weighs three critical parameters: Crisis Urgency Index (( U )): Rated on a scale of ( 1 ) to ( 10 ) based on drought records and contamination inputs. Normalized Impact Population ((P_{\text{norm}} )): Uses a log-scale wrapper to capture high human impact without allowing massive cities to entirely overshadow smaller rural villages: (P_{\text{norm}}=\min \left(1.0,\frac{\ln (1+\text{Population})}{\ln (1+50000)}\right)) Water Deficit Index ((W_{\text{deficit}} )): Measures daily local per capita water availability against the United Nations' minimum target threshold ((50\text{ Liters} )): (W_{\text{deficit}}=1.0-\frac{\text{Liters}}{50}) The final on-chain priority score is calculated using our custom multi-criteria weighted equation: (S_{\text{priority}}=\text{round}\Big(1000\times \big(0.45\cdot U+0.35\cdot P_{\text{norm}}+0.20\cdot W_{\text{deficit}}\big)\Big)) 🛠️ Challenges We Ran Into Our largest hurdle was navigating local system configurations, path dependencies, and blockchain node synchronization on short notice. Compiling Solidity contracts and maintaining a persistent local network layer threw complex environment wrapper errors. We pivoted our strategy to bypass localized friction entirely by integrating cloud-hosted Alchemy RPC providers. Additionally, we refactored low-level data structures in our Web3 transaction handler to match strict uppercase formatting constraints (signed_tx.raw_transaction) implemented in the newest software libraries, armoring our application against core-level layout crashes.

What We Learned

Over the intense hackathon sprint, we learned how to engineer clean, secure bridges between high-level analytical Python frameworks and decentralized smart contract logic arrays. Most importantly, we learned the power of global asynchronous teamwork—collaborating effortlessly across multiple time zones from India to Africa to ship a cohesive project from scratch.

Built With

Share this project:

Updates

Submission history