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