Inspiration

Air quality forecasting is mature — public agencies already publish reliable PM2.5 and AQI data days in advance. And the health impact is well documented: asthma-related ER visits have been recorded to double during major smoke events. Two solved problems, sitting right next to each other, with nothing connecting them.

Nobody turns the forecast into an action. Pharmacies don't know a surge in inhaler demand is coming. Clinics don't know to staff up. At-risk patients get a generic AQI number instead of a personal heads-up. We kept asking: the data to act early already exists — why does everyone still just react?

That question became Aspira.

What it does

Aspira watches air-quality forecasts the way a weather app watches storms, predicts the respiratory strain an upcoming bad-air event will cause, and turns it into one specific, dated action — days before the air actually turns.

  • Regional Dashboard — live AQI, PM2.5, and a 5-day Readiness Score with one plain-language explanation and one recommended action
  • Clinic & Pharmacy View — the same score reframed as predicted visit volume, with a stock/staffing checklist and a 14-day track record
  • Personal Alerts — a short risk profile means warnings arrive only when they're actually about you, not a daily generic push
  • Community Signal Layer — a ten-second symptom check-in fills the coverage gap in neighborhoods with no official sensor nearby, sharpening the estimate exactly where it's weakest

Everyone else shows you the number. Aspira tells you what to do about it.

How we built it

  • Frontend: React + Tailwind, built in Lovable
  • Backend & State: Supabase — Postgres, Auth, scheduled Edge Functions for the readiness-recalculation loop
  • Reasoning: Claude API — converts raw forecast numbers into a plain-language explanation and one specific action
  • Air Quality Data: OpenAQ API — global PM2.5, ozone, and AQI, live-searchable by region rather than hardcoded to a few cities
  • Maps: OpenStreetMap/Mapbox for the community coverage visualization

Challenges we ran into

Getting the Readiness Score to feel trustworthy, not just impressive, was the real challenge. It's tempting to present a single confident number — but a health-adjacent prediction that overclaims is worse than one that's honest about its limits. We kept the disclaimer in the product itself, on every screen: these are correlation-based estimates built from published PM2.5-to-respiratory-impact research, not a clinically validated forecasting tool.

We also caught ourselves wanting to hardcode a handful of demo cities for polish — but that would have quietly excluded the regions that need this most, since official monitoring is sparsest in exactly the neighborhoods with the highest respiratory burden. Making the region search genuinely global, not just US-shaped, took real rework late in the build.

Accomplishments that we're proud of

Keeping the honesty baked into the product, not just the pitch. The Clinic View literally says: "Inventory systems are not connected — every recommendation is a suggestion for a human to act on." That line could've been cut for a punchier demo. We kept it, because a real health tool that overpromises does more harm than one that's upfront about where a human still needs to be in the loop.

We're also proud that this isn't just an AQI dashboard with a new coat of paint — the Community Signal Layer is a genuine attempt at solving the coverage problem, not just the display problem.

What we learned

That the hardest part of a "predictive" health product isn't the prediction — it's knowing exactly how much to trust it, and saying so plainly. We also learned that global-by-default is a real design discipline, not a checkbox: it changes how you handle sparse data, not just how many cities are in a dropdown.

What's next for Aspira

  • Pilot with a real clinic or pharmacy network, recalibrating the demand-prediction model on their actual historical visit data instead of published coefficients alone
  • Expand the Community Signal Layer with basic anomaly detection to catch undetected pollution events in areas with no official sensor
  • Recalibrate impact estimates region-by-region, since the current model is built on North American wildfire research and may not transfer precisely to every pollution profile

Built With

Share this project:

Updates

Submission history