YCK Incident Tracker
Trauma-Informed Anonymous GBV Reporting & Referral Coordination for Rural Kenya
Inspiration
Gender-based violence is critically underreported across rural Kenya. In Kakamega and Vihiga counties, frontline workers at Youth Changing Kenya (YCK) were managing cases using paper forms and disconnected communication channels. Cases could not be tracked consistently, referrals were difficult to coordinate, and survivors had no safe or anonymous way to follow up.
We saw an opportunity to build technology that does more than digitize paperwork — a system designed around survivor safety, anonymity, and real-world frontline workflows.
What It Does
YCK Incident Tracker is a trauma-informed, mobile-first platform for anonymous GBV incident reporting and case management.
Survivor Reporting
- Survivors can anonymously report incidents through a guided 4-step flow
- No account or personal identity is required
- Survivors receive a private reference code for secure follow-up
- A “Quick Exit” feature instantly closes the app for safety in dangerous situations
Frontline Case Management
- Counselors and frontline workers manage incidents through a secure dashboard
- Cases can be assigned, escalated, updated, and tracked through a full audit trail
- Referral coordination is centralized instead of fragmented across paper systems
AI-Powered Referral Matching
- AI suggests relevant referral services based on incident type, urgency, and location
Services include:
- Hospitals
- Police stations
- Shelters
- Legal aid providers
- Psychosocial support services
Matching is powered through a custom MCP (Model Context Protocol) server integrated with OpenAI
Offline-First Design
- The platform works even with unreliable connectivity
- Reports queue locally on the device and sync automatically once internet access returns
- Designed specifically for rural and low-connectivity environments
Multi-Language Accessibility
- Full English and Swahili support across the platform
- Mobile-first Progressive Web App (PWA) experience
How We Built It
Frontend
- React
- TypeScript
- Vite PWA
- i18n localization (English + Swahili)
- GitHub Pages deployment
Backend
Supabase
- PostgreSQL database
- Authentication
- Row Level Security (RLS)
AI Layer
We built a custom Node.js MCP server that exposes structured tools for:
- Risk assessment
- Referral matching
- FHIR R4-compatible healthcare resource generation
- OpenAI-powered contextual recommendations
The MCP server is deployed on Railway and acts as a composable AI orchestration layer.
Data & Referral Infrastructure
We transformed real YCK GBV referral pathway documents into structured digital referral data, covering:
- Hospitals
- Police stations
- Shelters
- Legal aid organizations
- Community support services
Across Kakamega and Vihiga counties.
Challenges We Ran Into
Designing Safe Anonymous Submission
One of the hardest technical problems was implementing Supabase Row Level Security policies that allow truly anonymous incident submission while still preventing unauthorized data access.
Offline Reliability in Rural Environments
Building a dependable offline queue using service workers required careful handling of unreliable mobile connectivity and sync edge cases.
Infrastructure & Deployment Debugging
We lost time debugging deployment failures caused by differences between:
- Vite’s
VITE_*environment variables - Standard Node.js environment variables expected by the MCP server on Railway
Trauma-Informed UX Design
Every design decision carried real-world safety implications.
We had to rethink standard product assumptions:
- Avoiding forced account creation
- Minimizing survivor exposure risk
- Reducing cognitive load during reporting
- Providing immediate escape mechanisms
- Preventing identifiable data collection wherever possible
Accomplishments We’re Proud Of
- A working end-to-end anonymous reporting system with no login required
- Offline-capable reporting designed for rural connectivity conditions
- A fully seeded referral directory covering 30+ verified services
- AI-powered referral recommendations integrated into real workflows
- FHIR R4-compatible incident resources for future healthcare interoperability
- Full bilingual support in English and Swahili
- A trauma-informed UX approach grounded in survivor safety rather than generic form design
What We Learned
We learned that trauma-informed design is not a UX enhancement — it is core infrastructure.
Every additional field, confusing screen, or unnecessary interaction can become a safety risk for someone in a vulnerable situation.
This project fundamentally changed how we think about software design:
- Safety before convenience
- Privacy before data collection
- Accessibility before feature complexity
We also learned how powerful MCP can be for domain-specific AI systems. Wrapping structured workflows and database operations as MCP tools made the AI layer:
- Composable
- Auditable
- Easier to evolve safely over time
What’s Next
SMS Reporting
Integrate Africa’s Talking API to allow survivors without smartphones or internet access to submit reports safely.
Real-Time Counselor Notifications
Notify counselors instantly when cases are assigned or escalated.
AI Evaluation & Improvement
Continuously evaluate and improve referral matching quality using anonymized feedback loops.
National Health System Integration
Integrate with Kenya’s health information systems through WSO2-based interoperability architecture already documented in WSO2_INTEGRATION.md.
Geographic Expansion
Expand the platform to additional counties across Western Kenya and eventually nationwide.
Why This Matters
YCK Incident Tracker is not just a reporting tool.
It is an attempt to build survivor-centered digital infrastructure for communities that are often excluded from safe, accessible, and accountable support systems.
The goal is simple:
Make it safer, easier, and more dignified for survivors to seek help — even in low-resource environments.
Built With
- auth
- fhir
- githubpages
- i18
- pwa
- railway
- react
- row-level-security
- supabase
- tailwind
- typescript
- vite
Log in or sign up for Devpost to join the conversation.