Inspiration

Allergies (and the problems they cause) are something that Vlad, Carlos, and I (Erik) have all interacted with. Vlad has allergies, and struggles to differentate between his allergies acting up and an actual sickness. Similarly, the same problem causes Erik's younger brother struggles to accuratly dose his allergy induced asthma medication. In response, we have created Pollen Cast, becouse the difference between allergies and sickness shouldn't be a guessing game.

What it does

Pollen Cast is a web app which uses biometric data and pollen level data to determine if your symptoms are allergy induced or another sickness - removing the uncertinty so many experiance every allergy season. The app give you the probability that you are sick, and if you are sick, the probability of its being caused by allergies.

For patients, the app provides a first-line self-assessment tool that filters likely-allergy cases, reducing unnecessary GP visits.

For the healthcare system, the app becomes a clinical decision aid generating structured symptom history and medication data to share with healthcare workers: improving the accuracy and speed of diagnosis. As Pollen Cast grows, its anonymised, aggregated data becomes a powerful public health asset. A live, crowd-sourced epidemiological map that enables public health officials to track the spread of sickness and allergy in real time.

For society, we reduce the number of unnecessary sick days and tackle presenteeism. Lowering the hidden economic loss where allergies truly costs society and businesses the most.

This app is special - becouse the more a user interacts with Pollen Cast, the smarter it gets. As the model accumulates individual symptom history, voice patterns, and eye scan data over time, it learns the unique ”allergy fingerprint” of each user.

How we built it

To build this project, we developed a multi-modal health analysis platform that integrates a React Native (Expo) mobile frontend with a hybrid backend architecture. The core logic resides in a Node.js/Express server that acts as an orchestrator, securely handling user data and coordinating with the Google Pollen API for localized environmental risk factors. For clinical biomarkers, we implemented a specialized Python/FastAPI microservice that uses librosa to perform MFCC and spectral analysis on voice recordings, detecting nasality as an indicator of congestion. All these disparate data points—visual symptoms from eye photos, acoustic features from the voice service, and live environmental data—are synthesized by Gemini AI to provide a comprehensive, context-aware allergy assessment, with Supabase providing a robust infrastructure for authentication and session persistence.

Challenges we ran into

One of our primary technical hurdles was the orchestration of a hybrid backend that bridged two very different environments: a Node.js server for data flow and a Python microservice for specialized signal processing. We encountered significant friction when attempting to process compressed audio formats like Apple’s .m4a and .mp3 files in memory; the librosa library initially struggled with these formats without a physical file path for decoding. We resolved this by implementing a robust temporary file-handling system on the server, ensuring that the acoustic features could be accurately extracted regardless of the user's device. Additionally, fine-tuning the Gemini AI prompt to maintain clinical safety—such as prioritizing unilateral redness as a high-risk indicator—while keeping the allergyProbability mathematically consistent with the overall sicknessProbability required several iterations of prompt engineering.

Accomplishments that we're proud of

We are particularly proud of building a truly multi-modal diagnostic engine that moves beyond simple text-based symptom checkers. By successfully integrating MFCC (Mel-Frequency Cepstral Coefficients) and spectral centroid analysis into a mobile-friendly workflow, we were able to turn a simple voice recording into a clinically relevant data point for nasal congestion. Seeing the system correctly identify the difference between a natural voice and a congested one, and then watching Gemini synthesize that "invisible" acoustic data with "visible" eye redness and real-time Google Pollen API data, was a major breakthrough. We managed to create a sophisticated, end-to-end diagnostic pipeline that feels seamless to the user but is technically complex under the hood.

What we learned

This project was a deep dive into the intersection of Digital Biomarkers and Generative AI. We learned how to extract mathematical signatures from human speech to identify physiological changes, moving from raw audio waves to spectral features that indicate health status. On the infrastructure side, we gained significant experience in cross-language service communication and managing session persistence with Supabase in a React Native environment. We also learnt how to backtest our data and how to make a secure database for user information.

What's next for Pollen Cast

We would like to do more tests to ensure even higher accuracy and long term we would like to expand to other diseases such as being able to early diagnose asthma. Alongside that, we will bring our product to hospitals, at home users and insurance companies to help make healthcare more accesible.

Built With

Share this project:

Updates