Inspiration
Our product was actually inspired by the whole reason why VenusHacks was put together: to support women (as well as other marginalized genders). We thought it would be fitting to create a project which could support women as well, especially through their health. Unfortunately, healthcare around the U.S. may be limited or even inaccessible for some people, including pregnant women. Some women may only be able to afford visiting their doctor once before evaluating whether it is necessary, and others may not even be sure if it is worth visiting their doctor for the first time. Even if it is highly recommended to see a doctor frequently during a woman's pregnancy, some may not be able to afford it, so our product can help support them through these decisions.
What it does
MaterniCheck helps pregnant women determine the risk of their pregnancy based on their user-inputted information. Users would input factors such as age, most recently measured systolic blood pressure, and blood glucose level to receive a model-based prediction on the chance of running into health complications during their pregnancy. Expecting mothers also have the option to view nearby healthcare providers with the name of the physician and address, specifically obstetricians and gynecologists.
As a result, this can help our goal of supporting underprivileged women. Expecting mothers can use at-home devices to measure their own blood pressure and glucose level, which is usually cheaper than a doctor's visit, and use our website to decide if they need to find their local doctor. This is where our search feature is helpful to find a nearby obstetricians or gynecologist, which they can use right away after receiving their results.
How we built it
Our frontend was coded with React, a popular Javascript library for building user interfaces. The main components of our frontend include:
- Maternal Health page, which allows user input of their health history to predict their maternal health risk.
- Services page, which allows for user input of their location (City, ZIP, State) to recommend nearby resources and doctors.
Our backend was coded in Python for both the prediction model and location search. Our prediction model was created using machine learning techniques such as logistic regression with Python's sklearn library. For the location-based search for nearby physicians, we used the user's location and NPI Registry's API to find the nearest obstetricians/gynecologists based on the location. Finally we connected our frontend and backend through Flask.
Challenges we ran into
Since our team was new or fairly new to hackathon's, our first challenge was deciding on a manageable product to create. We were all very excited to participate in our first hackathon, and as a result, we came up with a pretty ambitious initial idea. Unfortunately, after planning out our tasks and researching all the new tools we would need to achieve our goal, we realized that we needed to re-evaluate our features or come up with another idea. We had underestimated the amount of time we had, because not only did we want to implement so many features in a short amount of time, but since we all had limited hacking experience, we also needed to learn these new tools over one weekend. Since we all had limited large-scale coding experience, our other challenge was the general technicality of the project, especially learning new libraries and reading through a lot of documentations. One of our biggest struggles from that was connecting our frontend and backend.
What we learned
Even if we did not get to stick with our original project idea, we learned that re-evaluating our ideas is always part of the planning process, and that it was important to emphasize quality over quantity. In the end, we were still able to create a project related to women health. We all wanted to learn something new from this experience, so we used the same planning process with our original idea and broke down the tasks for our new idea. From this, we were able to create more manageable tasks for each of our team members, while still giving time to learn something new. Our frontend programmers, while familiar with UI/UX, learned how to use React for the first time, and our backend programmers learned machine learning techniques and how to work with API in Python.
What's next for MaterniCheck
In the future, we want to implement more accessibility for our users. Some ideas we have are to match users' insurance to healthcare providers that accept them. We also want to be able to have a mobile version of our website as well as photo recognition to further assist in health recommendations.
Built With
- flask
- github
- javascript
- machine-learning
- npi-registry-api
- python
- react
Log in or sign up for Devpost to join the conversation.