Overview
Empact is a platform that connects real-world humanitarian crises with people who want to help by automatically discovering global problems and matching them with the most relevant charities and donors.
The platform uses AI to transform global crisis data into actionable opportunities for impact. It analyzes humanitarian reports, summarizes ongoing crises, and pairs them with trusted organizations working on the ground.
To further simplify the process, Empact also incorporates an AI-powered agent that assists with the donation workflow. The agent can handle the payment process on the user’s behalf, making it easier to support initiatives with minimal friction.
Inspiration
Empact was inspired by recent global events that have highlighted just how many humanitarian crises are happening around the world at any given moment. Conflicts, natural disasters, and humanitarian emergencies often appear in the news, but it can be difficult for individuals to understand how they can meaningfully help.
While news platforms like ReliefWeb report these events in detail, the information is often fragmented and not easily actionable for the average person. At the same time, many people want to support causes that align with their values but don’t know which organizations or efforts are most relevant.
Empact was created to bridge that gap by transforming real-world humanitarian updates into clear opportunities for people to take action, connecting global problems with trusted charities and individuals who want to help.
How It Works
Empact connects real-world humanitarian crises with people who want to help by combining global crisis data, AI processing, and personalized matching.
When a user registers, they select the causes and regions they care about. These preferences are stored in the backend and used to personalize the user’s experience across the platform.
In the background, a data pipeline continuously gathers humanitarian updates from sources like ReliefWeb. Each report is processed with AI, which summarizes the crisis, classifies the type of humanitarian need, assigns value tags, and associates the event with a relevant region. The system then matches the crisis with a trusted charity from a curated registry.
When a user logs in, the backend ranks these opportunities based on how closely they align with the user’s selected causes and regions. The result is a personalized crisis feed that highlights the most relevant global issues.
From the Discover page, users can explore these crises, view AI-generated summaries, and open a detailed view of the initiative. Each opportunity includes an AI-matched charity along with verified information about the organization and its mission. If the user chooses to support the initiative, they select a donation amount on our platform, after which an agentic AI takes control of the process by opening the charity’s official donation page, automatically navigating through the form, and autofilling the required payment information. This makes the donation process seamless, with the only required input from the user being the donation amount selected on our website.
By transforming complex global crisis reports into clear and personalized opportunities for action, Empact makes it easier for people to discover meaningful ways to contribute to humanitarian efforts.
⚙️ How we built it
Empact is built with a full-stack architecture that combines a modern web frontend, a Node.js API, an AI data pipeline, and a browser automation agent that can assist with donation workflows.
Frontend (Web App)
The frontend is built with Next.js (React App Router) using TypeScript for type safety. The UI is styled with Tailwind CSS and Shadcn/ui components, with lucide-react used for icons. Application state is managed through React Contexts, including AuthContext, OpportunitiesContext, and NotificationsContext. Lightweight session data is stored in browser localStorage, and API requests are handled through a wrapper around the native fetch API.
Primary Backend API
The main backend service runs on Node.js with Express. It handles user authentication, API endpoints, and database operations. Data is stored in MySQL using the mysql2/promise library, with a structured data access layer under backend/helpers/db/ that manages entities such as users, opportunities, donations, wallets, charities, payment methods, and notifications. Authentication uses email/password login with bcrypt hashing, and configuration is managed with dotenv and environment variables.
AI Data Pipeline & Crisis Processing
A separate Python service powers the data pipeline and AI processing. It runs scheduled jobs that collect humanitarian updates from sources like ReliefWeb using requests and BeautifulSoup. These reports are then processed using Google Gemini (gemini-2.5-flash) through the google-generativeai library to summarize crises, classify humanitarian values, and structure them into opportunities that the platform can surface to users.
Matching & Recommendation Engine Opportunities are ranked based on how closely they align with a user’s selected causes and regions. Charity matching is performed using a curated registry of verified organizations, while a value-based ranking system determines which crises appear first in a user’s personalized feed.
AI Payment Agent (Browser Automation)
Empact also includes an AI-style browser automation agent that helps users complete donation flows. The agent is implemented in Node.js using Selenium WebDriver with Chrome via the selenium-webdriver and chromedriver packages. It can run in headful mode for visible multi-step donation flows or headless mode for automated link discovery.
The agent is integrated into the Express backend through routes defined in server_agent.js. A /model/donate endpoint triggers the automation flow and streams progress updates to the frontend using Server-Sent Events (SSE). During execution, the agent retrieves user data through the backend API rather than directly accessing the database, allowing it to automatically populate donation forms and guide the payment process on behalf of the user.
Shared Data & Configuration Several JSON datasets act as the core knowledge layer of the platform:
opportunities.json— AI-generated crisis opportunitiescharity_registry.json— verified charities and donation linksregion_countries.json— region-to-country mappingsvalues_taxonomy.json— taxonomy of humanitarian causes
A SQL schema defines the tables used across the system, including users, opportunities, charities, donations, and notifications.
Development & Tooling The project uses npm for the frontend and Node backend, and pip with a Python virtual environment for the AI pipeline. The codebase is version controlled using Git and GitHub, with both Node.js and Python environments working together to power the platform.
Challenges we ran into
The biggest hurdle was Agentic Heuristics. Every charity website is built differently. Our Selenium agents had to be intelligent enough to identify a "Donate" button vs. a generic link, and handle multi-page forms where fields like "Address" might be dynamic. We solved this by implementing a scoring system that analyzes element IDs, classes, and surrounding text to "guess" the correct interaction point with high accuracy.
Another challenge was Orchestration; managing a Python-based AI pipeline and a Node.js-based automation agent while keeping the Next.js frontend updated in real-time. We achieved this through a unified API layer and structured JSON messaging.
Accomplishments that we're proud of
- End-to-End Automation: We successfully demonstrated a donor going from "Notification" to "Autofilled Checkout" in under 10 seconds.
- Gemini Information Extraction: Seeing Gemini take a 5,000-word disaster report and turn it into a perfect 3-sentence summary with categorized metadata was a "wow" moment for the team.
- Technical Integration: Building a "Polyglot" stack (Python, Node, React) that works together seamlessly was a major engineering win for us.
What we learned
We learned that AI is the glue of the modern web. Traditional scraping breaks, but "Semantic Scraping" with AI allows software to understand the purpose of a webpage. We also deeply explored the ethics of automation—ensuring that our "Empact Agents" always keep the user in control of the final financial transaction for security and transparency.
What's next for Empact
- Deep Registry Expansion: Partnering with more global NGOs to provide direct API integrations for even faster aid.
- Predictive Philanthropy: Moving from "Discovery" to "Prediction"—using AI to notify users about potential crises before they Peak (e.g., predicted flooding).
- Smart Wallet Integration: Securely storing encrypted user data to enable true "one-tap" global giving across any platform, including crypto and local payment gateways.
Built With
- beautifulsoup4
- chromedriver
- cobe
- express.js
- fastapi
- gemini
- javascript
- mysql
- next.js
- node.js
- python
- reliefweb
- selenium
- tailwind
Log in or sign up for Devpost to join the conversation.