Inspiration

The inspiration for PTSDfy came from recognizing that in moments of acute distress—like panic attacks or dissociation—the digital world is often too loud, cluttered, and overwhelming. I wanted to create a "digital sanctuary" that doesn't just provide information, but actively participates in a user's grounding process. My goal was to bridge the gap between clinical tools and immediate, compassionate support, ensuring that no one has to navigate a flashback or a "dark moment" alone.

What it does

PTSDfy is a privacy-first mental health companion designed to lower cognitive load and promote emotional regulation through:

AI-Powered Journaling: I integrated Gemini 2.5 Flash to provide non-judgmental, immediate validation. To ensure total safety, I designed it so all data is stored locally on the user's device.

Interactive Grounding: I built a guided Box Breathing tool and a 5-4-3-2-1 Sensory Wizard to help users reconnect with the present moment during dissociation.

Emotional Mapping: A mood calendar I developed that allows users to track patterns and triggers over time visually.

Crisis Safety Net: One-tap access to emergency resources like the 988 hotline for immediate professional support.

How we built it

I built PTSDfy using a modern, high-performance stack to ensure the UI felt fluid and "calm":

Frontend: I used React 19 and TypeScript for a robust, type-safe user interface.

Styling: I utilized Tailwind CSS v4 to implement my "Safe Space" aesthetic, focusing on soft sage greens and organic shapes.

AI Integration: I integrated the Google Generative AI SDK to leverage Gemini 2.5 Flash for rapid, empathetic responses.

Build Tooling: I chose Vite to ensure a lightning-fast development and build process.

State & Storage: I leveraged browser Local Storage to ensure that sensitive journal entries never touch a cloud database, keeping user data under their own control.

Challenges I ran into

One of the primary challenges I faced was balancing the AI's personality. I had to carefully prompt the Gemini model to be supportive and grounding without attempting to provide medical diagnoses. Another technical hurdle was UI/UX optimization for high-stress moments; I had to strip away unnecessary clicks and ensure the "Box Breathing" and "Crisis" buttons were accessible within milliseconds of the app loading.

Accomplishments that I'm proud of

Privacy-First Architecture: I’m proud of successfully implementing a system where personal reflections stay entirely on the user's device.

The "Calm" UX: I spent a lot of time on the visual design to ensure it feels genuinely soothing rather than clinical or cold.

Seamless AI Integration: Getting Gemini 2.5 Flash to act as a reactive, gentle companion that feels "human" in its responses.

What I learned

Through this project, I learned a great deal about Trauma-Informed Design. This meant understanding that bright colors, complex menus, or sudden pop-ups can be triggering. I also deepened my knowledge of the Google AI SDK and how to use local storage effectively for complex, persistent data without needing a traditional backend.

What's next for PTSDfy

Voice-Activated Grounding: I plan to implement "Help me" voice triggers for hands-free assistance during severe episodes. Wearable Integration: I want to explore connecting with heart rate monitors to proactively suggest breathing exercises when a spike in stress is detected. Guided Meditations: Adding a library of audio-visual nature scapes to further the "sanctuary" feel.

Built With

  • browser
  • date-fns
  • google-generative-ai-sdk-(gemini-2.5-flash)
  • lucide-react
  • react-19
  • tailwind-css
  • tailwind-css-v4
  • typescript
  • vite
Share this project:

Updates