-
-
authentication page for patient/psychiatrist
-
dashboard page for patient
-
monitor daily mood/urges for patient
-
history of patient's daily mood
-
dashboard page for psychiatrist
-
connect patient with psychiatrist using code
-
patient mood scores and medication adherence from diary and med logs
-
patient distress kit for intense moment
-
psychiatrist dual chart analysis
-
patient's dashboard
-
clinical monitoring report
What We Learned
Through our development journey at Garuda Hacks 7.0, we gained invaluable insights into designing medical technology centered around the nuanced needs of neurodivergent and highly vulnerable populations, specifically those with EUPD/BPD. We quickly learned that interfaces built for mental health cannot follow generic UX conventions. We discovered the clinical significance of color psychology, intentionally adopting desaturated cool tones, specifically muted greens and blues, which are empirically proven to lower autonomic nervous system arousal and soothe patients during hyperarousal states or acute emotional crises. Furthermore, we deepened our understanding of clinical workflows, learning how to break down complex therapeutic frameworks like the Stanley-Brown Safety Planning Intervention (SPI) and TIPP physical regulation skills into discrete, actionable steps that drastically minimize cognitive load when a patient is in their most fragile psychological state.
How We Built It
To bring CuraMind to life, team KucingTerbang engineered a robust three-tier architecture designed for cross-platform responsiveness. We utilized Flutter for the client application to ensure a fluid experience on both the patients' mobile devices and the clinicians' web dashboard. The backend API layer was architected using Node.js and Express in TypeScript, coupled with Prisma ORM to communicate with a PostgreSQL database hosted on Supabase. Protecting highly sensitive psychiatric data was our absolute priority; therefore, we implemented field-level encryption at the API layer using AES-256-GCM via the Node.js crypto module to encrypt coping entries and clinical session notes before they were stored. This was reinforced by Supabase Auth and strict PostgreSQL Row-Level Security (RLS) policies, guaranteeing that patient logs remain entirely confidential and isolated.
Challenges
Interestingly, our greatest obstacle during the hackathon did not stem from implementing cryptographic algorithms or integrating AI runtime features; rather, it was the chaotic reality of repository code management. Because our team members were unaccustomed to collaborating simultaneously on a single, shared codebase without a rigid monorepo framework, we constantly ran into exhausting GitHub merge conflicts. There were stressful stretches where backend routing endpoints and core Flutter shell widgets collided repeatedly as multiple members pushed feature updates at the exact same time. Overcoming this hurdle forced us to rapidly mature our development workflow; we learned to communicate with tactical precision, strictly enforce git branch boundaries, and run frequent, incremental codebase syncs to preserve the structural integrity of our application.
Built With
- dart
- docker
- express.js
- flutter
- node.js
- postgresql
- prisma
- supabase
- typescript
Log in or sign up for Devpost to join the conversation.