Project Overview
DivHacktivism is a website built during a 3-day hackathon at Columbia Universityโs DivHacks, created by a team of four passionate developers. The platform connects individuals passionate about activism with nonprofits (NPOs) focused on global issues, bridging the gap between those who want to help but donโt know how, and organizations seeking support. Our goal is to provide an accessible, beginner-friendly way to discover and engage with nonprofits using smart search and AI recommendations.
Key Features
๐ Extensive NPO Database
We curated a comprehensive database of over 150 nonprofits focused on various global issues, providing users a rich pool of organizations to explore.
๐ Search & Filtering
Users can easily search nonprofits by keywords, issues, and locations, with filtering options to narrow down to causes that resonate most with them.
๐ค AI-backed Recommendation System
Using natural language processing and vector embeddings, our AI suggests nonprofits aligned with user interests, offering personalized guidance for first-time activists.
โ๏ธ NPO Onboarding Request
Nonprofits can request to join our platform through a service form, helping us continuously grow the database and support more organizations.
Technical Implementation
The frontend is built with javascript, providing a dynamic and responsive user experience. The backend uses Java to manage API requests, handle the AI recommendation logic, and curate the nonprofit database.
We implemented AI-powered text-to-vector conversion using NLP techniques to enable semantic search and matching, integrated with a vector database for efficient querying. The system supports onboarding requests and synchronizes data between frontend and backend seamlessly.
Development Phases
Phase 1: Brainstorming & Database Curation
Collaboratively identified the core problem and solution. Curated and structured the database of 150+ nonprofits to serve as the foundation.
Phase 2: Backend & AI Implementation
Built backend services, tackled AI challenges such as text to vector embedding, and implemented semantic search and recommendation systems.
Phase 3: Frontend Development & Integration
Developed a user-friendly interface with React, integrated backend APIs, search, filtering, and onboarding features, culminating in a cohesive product demo.
Challenges & Solutions
Challenge: Curating a meaningful and comprehensive nonprofit database within limited hackathon time.
Solution: We divided research tasks among the team and used public datasets and nonprofit registries to gather quality data efficiently.
Challenge: Implementing AI-powered recommendations with limited experience in NLP and vector databases.
Solution: We learned and experimented with text vectorization techniques, applied Python NLP libraries, and integrated a vector database for semantic search.
Future Enhancements
- Expand the nonprofit database to include more organizations globally
- Improve and refine the AI-backed recommendation system
- Enhance the user interface for better accessibility and engagement
- Deploy a stable production environment for public use
Learning Outcomes & Future Steps
This project was an incredible learning opportunity that enhanced my skills in:
- Rapid full-stack development using React and Node.js
- Applying AI and NLP techniques for real-world applications
- Data curation and management for impactful projects
- Collaborating effectively in a fast-paced hackathon environment
- Deploying and integrating complex systems under time constraints