🚀 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
Log in or sign up for Devpost to join the conversation.