Inspiration
Women's health can be difficult to navigate, especially when women feel their symptoms aren't being taken seriously or struggle to find someone who understands. We wanted to create a space where women can connect with others who share similar experiences while finding resources to help them navigate their healthcare journeys.
What it does
Petal connects women with peers who have had similar health experiences while helping them explore healthcare options. Users can share their stories, receive matches based on shared experiences and age ranges, and see why they were matched. They can choose to connect with peers, discover healthcare providers, and learn from other women's experiences with clinics.
How we built it
We built Petal using Next.js, React, and TypeScript for the application, with Supabase supporting our backend and data operations. For peer matching, we developed a system that transforms users' health stories and relevant details into text embeddings, retrieves similar experiences, and ranks potential matches using similarity scores and age-range compatibility. We also incorporated server-side personally identifiable information (PII) filtering to help protect users' privacy before processing their stories for matching. Additionally, we developed API routes for matching and healthcare provider discovery, with sample data available to demonstrate core functionality. We use an open-source model that runs in our own Supabase project and store peer profiles as vectors in Postgres with pgvector and find the closest ones by similarity, then adjust for life stage and write a plain-language reason for each match. A chat opens only if both people opt in.
Challenges we ran into
One challenge was creating meaningful matches beyond simply identifying shared conditions. We worked to account for similarities in users' experiences and provide explanations for each match. We also had to consider privacy when handling sensitive health information and connect different features into one cohesive platform.
Accomplishments that we're proud of
- Peer-matching system that combines health story similarity with age-range compatibility and explains why users match.
- Integrated platform bringing peer support and healthcare provider discovery together in one place.
- Privacy-conscious design with server-side filtering to help protect sensitive health information.
What we learned
- Using text embeddings and similarity scoring to match users based on shared health experiences beyond basic keyword matching.
- Integrating frontend components, backend API routes, and Supabase into a cohesive full-stack application.
- Balancing personalized peer matching with privacy when handling sensitive health stories.
What's next for Petal
We want to continue developing Petal into a more complete and reliable platform for women's health support. Next, we hope to expand our peer-matching system, improve the relevance of provider recommendations, and build out secure, opt-in messaging between matched users. We also want to incorporate more verified healthcare provider information and richer clinic reviews so users can make more informed decisions. As Petal grows, we aim to strengthen privacy protections and create a supportive community where women can share experiences without feeling alone or relying on peer experiences as a substitute for professional medical advice.
Built With
- react
- supabase
- typescript
Log in or sign up for Devpost to join the conversation.