🚀 About the Project: BreatheCheck

🌬️ What Inspired Me

I’ve dealt with allergies for most of my life. Some days I’d step outside and instantly feel it — other days, I wouldn’t realize how bad the air was until the symptoms hit.

That got me thinking: why do we wait until we feel bad to realize we’re breathing bad air?

I saw a Reddit post about someone building a breathing analysis app using the microphone, and I decided to make my own spin on it — one that combines audio-based breathing checkups with allergy and air quality data. I wanted it to be simple, real-time, and actually useful. 🧠 What I Learned

  • How to work with getUserMedia and the Web Audio API in the browser

  • How to process audio and extract breathing patterns with RMS, peak detection, and FFT

  • How to connect environmental APIs (weather, AQI, pollen)

  • That you can build something cool without touching ChatGPT's API at all

🛠️ How I Built It

Frontend Made with React components.

Audio Analysis I used the Web Audio API to record 10-second sessions and ran basic signal analysis:

const rms = Math.sqrt(samples.reduce((sum, val) => sum + val ** 2, 0) / samples.length);

  • FFT estimates breath timing and irregularity

  • RMS amplitude gives us breath “strength”

  • Peak deviation shows whether breathing is erratic

Environmental Data I fetched from:

  • OpenWeatherMap

  • Pollen.com

  • Air Quality Index (AQI) sources

Scoring System Simple but works. Combines breathing quality, AQI, and pollen into a score: Score=0.4⋅Pollen Index+0.3⋅AQI+0.3⋅Breathing Deviation Score=0.4⋅Pollen Index+0.3⋅AQI+0.3⋅Breathing Deviation 🧩 Challenges I Faced

  • Mic Noise: Keyboard sounds were ruining the breathing signal.

  • Design: I had to make it look legit fast. I let Vercel AI take the wheel.

  • Originality: I didn’t want to wrap an AI API and call it a hack. Building something real from scratch took more effort, but was more satisfying.

    Time: 15 hours isn’t a lot. So I focused mainly on the breathing analysis.

🌱 What’s Next

  • Use a small ML model (like TinyML) to spot wheezing or blocked airways

  • Send breathing trend notifications

  • Add smart alerts for high-risk allergy days based on user breathing history

Share this project:

Updates