Inspiration

CalmID was inspired by a personal experience. My sister lives far away, and one day she called me during a panic attack. I guided her breathing with my voice until she started to calm down.

That moment stayed with me. It made me realize that during stress or panic, people do not always need more information. Sometimes they need something simple: a breathing rhythm, a calm voice, and the feeling that someone is there with them.

That became the idea behind CalmID.

What it does

CalmID is a mobile wellness app designed to help users slow down, regulate their breathing, and regain focus during stressful or overwhelming moments.

It offers two main experiences:

  • a biometric-assisted flow using Presage to collect physiological wellness signals such as pulse and provide live framing feedback,
  • and a meditation-only flow that lets users start guided breathing immediately without any biometric scan.

The breathing session follows a simple 4-1-6 rhythm: inhale for 4 seconds, hold for 1 second, and exhale for 6 seconds.

We also explored ElevenLabs for voice guidance and designed a future familiar-voice feature, where a trusted loved one could guide the session with their consent.

How we built it

We built CalmID with React Native, Expo, and TypeScript.

We integrated the Presage SmartSpectra SDK through a custom Kotlin Expo native module, used Expo Camera for the front-facing framing experience, and built the breathing interface using React Native animations.

The app also uses EAS Build for Android development builds and integrates ElevenLabs and LiveKit for voice-guided breathing experiments.

A key part of the architecture was keeping the breathing experience functional even when biometric or cloud services are unavailable.

Challenges we ran into

The biggest challenge was integrating the biometric camera experience.

We had to work through Android permissions, Kotlin and Gradle configuration, SDK compatibility, Presage processing states, camera handoff issues, and the limitations of framing both the face and upper chest with a handheld front camera.

Voice integration was another challenge. We encountered ElevenLabs agent and token issues during the hackathon, so we redesigned the experience with a local fallback instead of making the app depend completely on a cloud voice service.

These challenges pushed us to focus not only on features, but also on reliability.

Accomplishments that we're proud of

We are proud that CalmID became a working mobile prototype with:

  • real pulse measurements from Presage,
  • live positioning and framing feedback,
  • a polished camera-based user experience,
  • a complete 4-1-6 breathing flow,
  • a meditation mode that works without biometrics,
  • and fallback behavior when external services are unavailable.

We are also proud that the project stayed connected to the real experience that inspired it: helping someone feel supported even when you cannot physically be there.

What we learned

We learned a lot about native Android integration, Expo development builds, Kotlin, camera lifecycle management, and working with real-time biometric signals.

We also learned that fallback experiences are extremely important. A wellness app should remain useful even if a biometric signal is delayed or a cloud API fails.

Most importantly, we learned that emotional clarity matters just as much as technical complexity. In a stressful moment, the interface should be simple, calm, and easy to follow.

What's next for CalmID

Next, we want to improve biometric reliability, refine the camera guidance, finish the ElevenLabs integration, and add pre-recorded voice guidance for a more reliable offline experience.

We also want to build the familiar-voice feature in a safe, consent-based way, so users could choose the voice of someone they trust during a calming session.

Longer term, CalmID could support more personalized breathing routines, saved wellness sessions, and other calming experiences.

CalmID is a wellness demonstration, not a medical diagnostic tool.

Built With

Share this project:

Updates

Submission history