Community-powered safety network protecting West African communities from kidnapping through real-time incident reporting, ML-powered threat mapping, and virtual escort coordination.
Part of Bloodhound's Code for Change initiative - building technology that saves lives.
West Africa faces a kidnapping epidemic with:
- 3,000+ reported incidents annually in Nigeria alone
- 300% increase since 2016
- Ransom demands ranging from $10,000 to $500,000 USD
- Limited police resources and poor coordination
- No centralized platform for communities to share threats or coordinate safety
Students, travelers, and rural communities are increasingly at risk.
Sentinel Nigeria is a mobile-first platform that empowers communities to:
Plan safe travel routes with real-time incident overlay, crowd-sourced safety ratings, and community-verified safe zones.
Virtual escort system for journey tracking with trusted contacts, automatic check-ins, and panic button for emergencies.
Collective intelligence platform for anonymous incident reporting, pattern recognition, and hotspot visualization.
Rapid response coordination with SOS triggers, location sharing, and direct integration with police and response teams.
| Component | Technology |
|---|---|
| Mobile Apps | React Native (iOS + Android) |
| Web Dashboard | Next.js 14, TypeScript, Tailwind CSS |
| Realtime Server | Socket.io, Node.js |
| Database | PostgreSQL with PostGIS (geospatial) |
| Machine Learning | Python, FastAPI, scikit-learn |
| Cache | Redis |
| Infrastructure | AWS / DigitalOcean / Vercel |
sentinel-nigeria/
├── apps/
│ ├── mobile/ # React Native mobile app (iOS + Android)
│ ├── web/ # Next.js admin dashboard + API routes
│ └── realtime/ # Socket.io WebSocket server
├── packages/
│ ├── database/ # PostgreSQL schema & migrations
│ ├── shared/ # Shared TypeScript types
│ └── ml-service/ # Python ML microservice
├── docs/ # Documentation
└── scripts/ # Setup & deployment scripts
- Node.js 18+
- npm 9+
- PostgreSQL 15+ with PostGIS
- Python 3.11+ (for ML service)
- React Native CLI (for mobile development)
# Clone the repository
git clone https://github.com/CodeForChangeBH/Sentinel-Nigeria.git
cd Sentinel-Nigeria
# Install dependencies (monorepo)
npm install
# Set up environment variables
cp packages/database/.env.example packages/database/.env
cp apps/web/.env.example apps/web/.env
cp apps/realtime/.env.example apps/realtime/.env
# Set up PostgreSQL database
createdb sentinel_nigeria
psql sentinel_nigeria < packages/database/schema.sql
# Start all services
npm run dev
# This runs: web dashboard, realtime server, and morecd apps/mobile
npm install
# iOS
npm run ios
# Android
npm run androidcd packages/ml-service
pip install -r requirements.txt
python main.py
# API docs at: http://localhost:8000/docs- User authentication (email/phone)
- Incident reporting (text + location + photo)
- Interactive map with incident markers
- Community feed of recent reports
- Push notifications
- Web admin panel for moderation
Goal: 1,000 downloads, 100+ incident reports
- Journey tracking & virtual escort
- Panic button with emergency alerts
- Community verification system
- SMS alerts (for basic phones)
- Multi-language support (English, Yoruba, Hausa, Igbo)
- Offline mode basics
Goal: 10,000 downloads, 50+ daily journeys tracked
- ML-based pattern recognition
- Hotspot prediction mapping
- Route safety scoring algorithm
- Risk assessment for journeys
- Integration with local authorities
- Historical data analysis dashboard
Goal: 50,000 downloads, 70% prediction accuracy
- Performance optimization
- Advanced offline functionality
- Cross-border support (Cameroon, Niger, Benin)
- API for third-party integrations
- White-label version for other organizations
Goal: 100,000+ downloads, expansion to 2+ countries
We welcome contributions from developers worldwide! Whether you're a beginner or an expert, there's a place for you here.
Perfect for newcomers:
- Create app icon and splash screen (150 points, Design)
- Add code examples to README (75 points, Documentation)
- Implement dark mode toggle (100 points, Mobile/UI)
- Add input validation for incident reports (100 points, Backend)
- Add loading states to map component (75 points, Mobile/UX)
- Write unit tests for auth service (100 points, Testing)
For experienced developers:
- Build hotspot prediction model (500 points, Machine Learning)
- Implement end-to-end encryption (500 points, Security)
- Build offline-first architecture with sync (500 points, Architecture)
See all issues: Browse Issues
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes and commit (
git commit -m 'Add amazing feature') - Push to your fork (
git push origin feature/amazing-feature) - Open a Pull Request
Read our Contributing Guide for detailed instructions.
Every contribution earns points based on difficulty:
- Bug fixes: 50-150 points
- Features: 100-500 points
- Documentation: 50-100 points
- Tests: 75-150 points
- Top Contributor: $500 + Bloodhound Pro license (1 year)
- Most Impactful Feature: $400 + exclusive swag
- Best Newcomer: $300 + Bloodhound Pro license (6 months)
- Best Design/UX: $300
- Community Champion: $250 + recognition
- Rising Star: $250
Plus: Badges, swag, certificate of contribution, and eternal gratitude!
- Contributing Guide
- Code of Conduct
- Architecture Overview
- API Documentation (coming soon)
- Mobile App Setup (coming soon)
- Deployment Guide (coming soon)
- Discord: Join our community
- Twitter: @BloodhoundCFC
- Email: [email protected]
- Website: bloodhoundsecurity.ca/code-for-change
This project is licensed under the MIT License - see the LICENSE file for details.
- Built by the global developer community
- Part of Bloodhound Security's Code for Change initiative
- Dedicated to protecting Nigerian communities
This is a movement to protect Nigerian communities through the power of collective technology and global collaboration.
Lives Protected: ∞ Community-Powered: 100% Open Source: Free