Inspiration

In Canada, social drinking and cannabis use are integrated into many lifestyles, but for the millions of Canadians managing prescription medications, the risks of adverse interactions are often invisible. We realized that many people want to enjoy social settings without the fear of a "fade out" or a medical emergency caused by unexpected drug synergy. GeekSafe was designed specifically for the Canadian context to provide a useful, real-time safety companion that bridges the gap between clinical data and social habits.

How We Built It

The project is built on a high-performance stack that prioritizes real-time physiological feedback and intelligent data parsing:

  • The Biometric Mirror: We integrated the Presage SDK to extract contactless information about breathing and heart rate for early detection of medical emergencies.
  • The Intelligence Layer: We utilized FastAPI and the Gemini API to process medication labels scanned via OCR and cross-reference them with pharmaceutical risk databases. The AI has no role in finding or evaluating medical conflicts - those come from reliable, certified databases only.
  • The Frontend: The user interface was developed using React and Expo, ensuring a responsive experience that can handle live data visualizations like cardiac waveforms.
  • Connectivity: We used Node.js and Python to manage the backend logic, with ngrok serving as the secure tunnel to connect our local development environment to physical testing devices.

Challenges We Faced

The scale of our idea led to using many mixed technologies, leading to the following challenges:

  • API Stability: We faced a recurring issue with API rate limiting as a result of the OCR parsing
  • Architecture Pivot: Our initial plan was to build a native iOS app using Swift, but we realized mid-hackathon that our team only had Windows laptops. After writing the initial Swift code on a VM, we had to perform a massive migration to Expo and JavaScript due to the slow connectivity speed slowing down development.
  • Interpreting Biometrics: We initially struggled to understand how to interpret the raw data from the Presage SDK, but through trial and error, we successfully mapped these vitals to our safety logic for both the medication and monitoring tabs.
  • Ideation: It was difficult to land on a cohesive, impactful idea at the beginning of the 36 hours before we narrowed our focus to Canadian harm reduction.

What We Learned

We gained deep insights into Harm Reduction Design, learning that technical accuracy must be paired with extreme accessibility. Developing for a high-stress social environment taught us to prioritize a simplified 2-tab flow in Figma that delivers critical answers in seconds. We also mastered the integration of real-time biometric sensors with Large Language Models, transforming raw numbers into empathetic, NON-CLINICAL advice.

Built With

  • Languages: Python, JavaScript, Node.js
  • Frameworks/Platforms: React, Expo, FastAPI
  • APIs & SDKs: Gemini API, Presage SDK
  • Tools: Figma, Ngrok

Built With

Share this project:

Updates