Demo Link - https://app.screencastify.com/watch/VEQdJQg6phIi0J5cDy7j

Inspiration

Our idea began with discussing the translation gap between patients’ daily physical and mental health symptoms and healthcare providers, specifically in regards to women. We discussed how we have personally seen and experienced this disconnect, how it can be difficult to remember past symptoms at annual checkups and effectively communicate how our health has been long term. We then researched to find that this is a documented issue that many women face throughout their lifetime, revealing a massive systemic gap where women spend about 25 percent more of their lives in poor health than men (10.9 years versus 8.0 years for men) (United Nations). This reality is compounded by severe diagnostic delays. This systemic bias is mirrored by clinician-acknowledged unintended hurdles in care (Paulsen) and staggering patient numbers: one-third of U.S. women (34%) report having symptoms minimized or dismissed by a provider in the past five years, 33% report being misdiagnosed or unable to get a diagnosis, and 42% have had to actively advocate for their own care compared to only 26% of men (Marken et al.). Furthermore, this happens in an overstressed system where healthcare worker burnout jumped from 32% in 2018 to 46% in 2022 due to work overload (Freeman), squeezing visit times even further. Seeing how consistent these statistics were across multiple independent sources made us realize that having long-term symptom data would help both parties: patients, especially women, get the care they need, and doctors have accurate data from which to understand their patients.

What it does

Wavelength is an app built to provide users with a platform that helps them document and visualize their ailments and health data over long periods of time. There are two simple ways of recording: a freewrite notepad and a voice recording option. Users can input any mental or physical symptoms they are experiencing, then our product then takes the input, identifies recurring symptoms logged (i.e. words like “nausea”, “headache” occurring multiple times across logs), and securely stores this data independently in each user’s account. Then our backend APIs work to visualize the data into a graph that shows the frequency of each tag, or recurring symptom recognized, where users can select which tags to see as well. There is also an analysis feature, where if users choose to utilize the Wavelength AI, it generates a summary of the user’s entries. We also emphasize that Wavelength doesn’t claim to diagnose medical issues, it doesn’t provide medical advice or conclusions from user data, it only recognizes patterns in data and displays it in an organized and efficient way. Our product is solely to help patients and doctors understand each other better and give patients access to better healthcare.

How we built it

The frontend is built with React and Vite, and we utilized Tailwind for styling. The sign-in screen uses Firebase, but is still functional even if Firebase is not set up. User data is securely and separately stored in Supabase, with a safety fallback to local storage in the browser in case of connectivity issues. To translate symptoms into clinical language, we used GroqCloud with structured outputs. This forces the AI to always respond in the exact format we need, eliminating the possibility of broken responses. We also built a safety check that runs before the AI ever sees the input, which scans the entry for emergency keywords such as chest pain or thoughts of self-harm. If it finds any, it skips the AI completely and displays a crisis message instead. This is to ensure that in possibly dangerous situations, the judgement call wouldn’t be left to a fast AI model, and our program instead prioritizes user safety. For the voice input feature, we used the Web Speech API that is built into the browser. Finally for the visit brief, the PDF generates automatically in the browser too, keeping our backend simple and efficient.

Challenges we ran into

The first challenge we faced was implementing multiple languages so users could type or speak their symptoms in the language most comfortable to them. We wanted to use an external API, such as Cloud Translation API, but unfortunately the data is sent to Google in order to be translated which can violate data privacy. Implementing languages one-by-one was also inefficient since each addition would be 40 extra lines of code. To keep the program easy to follow and more efficient, we decided to implement languages by using one text file per language. This way we were able to include over 20 of the most popular languages in the US and are able to add more as needed. When a language is set, Wavelength also remembers it for next time. The analysis graphs documenting the tagged symptoms was a challenge as we had to learn how to implement an external charting library, Victory, in order to visualize user data. We decided to have the time units on the graph start with weeks when users first sign up for Wavelength, then as they add more entries, the time unit transitions to months. This posed a challenge in our testing of the graph because all of our test entries were from the same day, which confused our program and prevented the data from displaying properly. After some close consideration of our logic, we discovered this bug and implemented new logic to fix this problem. Now our program recognizes when a user has only added entries from one week and automatically adds a filler week in the graph in order to still display the graph properly.

Accomplishments that we're proud of

We're proud that Wavelength supports multiple languages. This way the users are not limited to typing or speaking in English to use the app. Building on that, we also built graphs that display tagged symptoms over time, so the patterns actually become visible instead of getting lost in a list of entries. A calendar feature rounds this out, showing past entries so users can look back and see exactly what they logged and when. One detail we are especially proud of is how far the language support actually goes. For languages that read right to left, like Arabic, the entire interface adapts too, not just the translated words. The calendar and layout flip direction along with the text, so the experience feels native rather than just translated on top. Finally, we're proud that we got a working PDF export built, giving users something real and physical they can bring into a doctor's appointment.

What we learned

Working in a team with a time constraint is difficult, so most of what we learned was about how to work collaboratively on the same project under pressure. It was most important to delegate tasks according to our biggest strengths in order to finish Wavelength up to a standard we were all happy with. We also had to learn what it meant to let go of ideas or features that we wanted but were unfeasible under a deadline. Much of the work we did often impacted others’ work. This meant we either had to prioritize work that impacted a teammate’s timelines over work that seemed “bigger” or we encountered merge conflicts through git that had to be resolved. Luckily, we were able to communicate clearly, especially towards the end, which reduced the amount of conflicts or crashes in code. More technically, we also learned that building for many languages is about more than translating text from English to other words. The browser’s Web Speech API can’t detect which language someone is speaking, so it has to be told before voice-to-text can be done, making the language setting control what the microphone hears as well. To scale over 21 languages without handwriting every string, we built a script that uses our language model to generate translation files. The lesson learned here was that supporting a language also meant we had to make every feature work in it. It was also difficult to combine Firebase (sign-in/authentication), Supabase (database), Groq (AI model), and Vercel (deployment) in one app. Connecting them taught us how they work both apart and together. Supabase had to be configured to accept Firebase login tokens, and our data is protected by row-level security rules in the database, which check that each user can only see and write their own entries. Keys prefixed with Vite are built into the website and visible to everyone, which is safe for Firebase and Supabase because the database rules protect it. The Groq API key, however, has to stay on the server. We also had to secure an API route, or otherwise anyone could use it to increase our AI usage. Deploying to Vercel also taught us how environment variables are only read at build time, and quotation marks can cause it to break. Our biggest technical lesson here was understanding how security lives in between services, not just in a piece of code, and how each service fits together.

What's next for Wavelength

While we’re proud of Wavelength, we definitely think that with more time, we would want to implement many more features. For example, if we could implement a feature for the user to also record symptoms through pictures so if users have physical symptoms, they are able to document what that might look like. We also wanted to include more languages and expand this beyond the US, which means we have to find a way to implement these languages through some external feature without risking data security. Finally, data protection is implemented, but it would be even better to implement secure end-to-end encryption since this data is related to health and wellness.

Works Cited:

Harrilal-Maharaj, Karishma. “Gender Bias and Diagnostic Delays in Young Women: A Narrative Review.” Cureus, 24 Dec. 2025, 10.7759/cureus.100004.

Women, UN. “From Misdiagnosis to Medical Bias: Why Women Are Living Longer but Not Better.” UN News, 7 Apr. 2026, https://news.un.org/en/story/2026/04/1167259.

Marken, Stephanie, and Andy Kemp. “Women’s Healthcare Barriers Extend Into Work and Family Life.” Gallup.Com, Gallup, 18 Sept. 2026, https://news.gallup.com/poll/714221/women-healthcare-barriers-extend-work-family-life.aspx.

Paulsen, Emily. “Recognizing, Addressing Unintended Gender Bias in Patient Care.” Duke Health Referring Physicians, 2020, https://physicians.dukehealth.org/articles/recognizing-addressing-unintended-gender-bias-patient-care. ‌“The Hidden Cost of Poor Hospital Operational Efficiency: What You’re Really Losing – Jillinda Freeman.” Jillindafreeman.Com, 21 Oct. 2025, https://jillindafreeman.com/the-hidden-cost-of-poor-hospital-operational-efficiency-what-youre-really-losing/.

Built With

Share this project:

Updates

Submission history