Komeza — Project Story
Track: Track 2 — Neuroscience & Mental Health
Inspiration
Komeza means to persist, to continue, to thrive in Kinyarwanda. The name came before the app did — because the word already captured everything we wanted for the people who would use it.
The starting point was a number that is hard to sit with: according to the 2018 Rwanda Mental Health Survey, 1 in 5 people in Rwanda meets the criteria for a mental disorder — a prevalence of
$$P(\text{disorder}) = 20.49\%$$
which exceeds the global average. Among young people, depression prevalence ranges from $9.5\%$ to $16.8\%$, climbing higher for youth navigating chronic illness or trauma. Globally, the WHO estimates that 1 in 7 adolescents (ages 10–19) lives with a diagnosable mental health condition, making it the leading cause of disability in that age group.
The gap between need and access is where this project began. Rwanda has only 16 psychiatrists for a population of nearly 14 million:
$$\text{Psychiatrist density} = \frac{16}{13{,}800{,}000} \approx 0.06 \text{ per } 100{,}000 \text{ people}$$
Despite this, only 5.6% of those who need mental health support ever reach formal care:
$$P(\text{seeking care} \mid \text{need}) = 5.6\%$$
The barrier is not always cost or geography — it is stigma, unfamiliarity with clinical language, and the absence of a first step that feels human rather than medical. We built Komeza to be that first step.
What We Built
Komeza is an AI-powered wellness companion designed specifically for Rwandan youth. Each day, users rate how their energy, sleep, mood, and physical comfort feel on a simple 1–5 scale — under a minute. From there, they can talk to Komeza in English or Kinyarwanda. It responds like a caring friend: naming the specific thing the user shared, validating it before anything else, and asking one human question. The somatic check-in scores are passed silently as background context, giving the AI awareness without making the conversation feel like a medical intake.
The app surfaces wellness trends over 7 or 30 days, generates a downloadable weekly health brief (PDF) a user could share with a clinician, and scans every message for crisis keywords in both languages. On detection, it immediately surfaces the 114 Rwanda mental health hotline, free and available 24/7.
All data stays on the device by default. Google sign-in via Firebase unlocks optional cloud sync, but users who want full privacy never have to create an account.
How We Used Claude
Claude is not a feature in Komeza — it is the core of the experience. Every conversation a user has flows through Claude via a Vercel serverless function, which keeps the API key off the browser entirely.
The most deliberate work went into the system prompt. We did not want Claude to behave like a wellness chatbot — offering generic encouragement, pivoting to habits, or responding with clinical distance. We wanted it to respond like a person who genuinely cares: someone who names the specific thing you shared, sits with it for a moment, and asks one real question. To get there, we embedded worked examples directly into the prompt — showing explicitly what a wrong response looks like alongside what a right one looks like, until the behaviour was consistent.
The somatic check-in scores (energy, sleep, mood, physical comfort, each rated 1–5) are injected into every conversation as silent background context. Claude has awareness of how the user has been feeling without the conversation ever feeling like a medical intake — the scores inform tone and attentiveness, but are never referenced unless the user brings them up.
Claude also handles both English and Kinyarwanda fluently, which was essential. A companion that only works in English would have been a companion for a fraction of our users.
How We Built It
- React 19 + TypeScript + Vite — fast iteration, strong type safety
- Tailwind CSS v4 — mobile-first, constrained to ~390px to match how Rwandan youth primarily access the internet
- Framer Motion — smooth transitions that make the app feel considered, not clinical
- Claude AI via a Vercel serverless function — the API key never reaches the browser
- Firebase Auth + Firestore — optional Google sign-in and cross-device sync
- Recharts + jsPDF — trend visualisation and the downloadable health brief
- i18n built from scratch — a flat key-value system for
enandrw, with Kinyarwanda as a first-class language from day one
Challenges
Getting the AI tone right was the hardest problem. Early versions produced responses that felt like a wellness app — generic, clinical, impersonal. We iterated extensively, using concrete counterexamples in the prompt itself until Komeza consistently responded with the specificity of a real friend rather than the generality of a product.
Kinyarwanda presented a genuine challenge. There is no off-the-shelf i18n library that handles it gracefully, and machine translation is unreliable for a language with significant cultural nuance. We built translation from scratch, treating rw as a first-class locale — every UI string is keyed, and the build fails if any key is missing in either language.
Crisis detection required careful tuning of keyword lists in both languages. We erred on the side of sensitivity: a false positive that surfaces the 114 hotline costs a moment of friction. A missed crisis costs far more.
Privacy vs. continuity: we designed the opposite of the default assumption — localStorage only, with cloud sync as opt-in. This meant building two parallel data layers that merge cleanly when a user signs in.
What We Learned
Building Komeza clarified something important: the interface is the intervention. The technology is not what makes this meaningful. What matters is the decision to use somatic language instead of clinical language, to put Kinyarwanda on equal footing with English, to make the first screen a body check-in instead of a symptom questionnaire.
Those are design decisions that required understanding the specific cultural context of Rwandan youth: the weight that family reputation carries, the way community belonging shapes identity, the deep stigma around anything that sounds like a psychiatric label.
We also learned that AI companions in mental health contexts demand a level of prompt discipline that most applications don't. The difference between a response that helps and one that harms is often a single sentence. That responsibility is not abstract — it is the entire point.
Built at Build for Impact — CBC Hackathon @ UR-CST, April 2026. Powered by Claude AI. Deployed on Vercel.
Built With
- anthropicapi
- claude
- firebase
- framermotion
- lucidereact
- react
- recharts
- tailwind
- typescript
- vercel
- vite
Log in or sign up for Devpost to join the conversation.