-
-
The full smart container, with a daily tampon counter and automated dispensing mechanism.
-
The container with a look at the dispensing mechanism. Teeth on an axle grab a single tampon and dispense through a vertical chute.
-
The raspberry pi, which is the brains of the operation running both a server for remote dispensing and controlling all physical components.
-
Your period intensity plotted over time, updating immediately as any new data hits Firebase.
-
A sleek, auto-generated report based on your personal menstrual health trends.
-
A calendar showing how heavy each day was.
-
Our mission statement and the button to remotely dispense tampons.
go with the flow.
Inspiration
Menstrual health is an unnecessarily stigmatized topic, redirecting the focus from the real task at hand: ensuring folks are connected to resources that will make periods more comfortable and easier to manage. Additionally, irregularities in one’s period cycles can indicate any one of many health conditions: a hormone and/or thyroid issue, liver function problems, irritable bowel syndrome, diabetes, and more (source). And of course, a missed period can be an early sign of pregnancy. We wanted to build a resource that would automate the period tracking process, making it easier to stay on top of your period cycles and keeping menstrual health tracking as simple as possible.
What it does
"go with the flow." starts on the hardware side with a smart container. Simply press a button and a tampon is dispensed! Want multiple tampons? No problem, just press the button a bunch of times! So easy!
Next -- go about your day and don’t worry about a single thing: "go with the flow." is already working its magic in the background. You don’t have to remember to enter your information manually into a clunky period tracker app; "go with the flow." updates automatically in the background.
When you decide you want to check in, our Flutter-built app has you covered. You can check your own trends through an interactive chart and a dynamic calendar. Need to quickly tell your doctor or gynaecologist about your recent menstrual health? No problem! Our auto-generated report includes everything you’d need to know, including the start and end dates of your most recent period, when your heaviest day was, and your average tampon use over the cycle.
We also include your approximate money spent on menstrual products in the previous cycle. We firmly believe in menstrual equity for all, so being able to account for how much you spend on tampons is a valuable lobbying tool. Our application is scalable and allows for more users. With more users, we would be able to more comprehensively represent the true cost of menstrual health.
"go with the flow." makes it easy to live your life while staying aware, safe, and proactive about your own menstrual health!
How we built it
The Dispenser
For the dispenser, we used a Raspberry Pi for the brain. This hosted a web server allowing the app to remotely request tampons. It also controlled the hardware in the dispenser, including the physical button to dispense tampons, the servo controlling the dispensing mechanism, and the display showing how many tampons were requested
The App
The app is built using Flutter. It runs on both Android and iOS allowing as many users as possible to access this technology. It leverage table_calendar and charts_flutter to display data pulled in real time using a StreamBuilder.
There are four different pages connected via a BottomNavigationBar. The icons are all from material. A get request was used to call the Flask Server endpoint to dispense a tampon via the button in the app.
Challenges we ran into
Getting things working with physical elements can be super finicky. We had to troubleshoot and work with our hardware elements a lot before we were happy with the design and user experience, especially since this was the first time any of us took a deep dive into a hardware hack. In the end, user experience is the most important component, so this was definitely time well spent!
We also did not have all the components we would like to have had for this project. For example, we had to daisy-chain a lot of wires to reach the dispenser from the Raspberry Pi. In the end, though, we made it work with what us non-hardware-geeks had.
On the app side of things, we wanted to change the marker on the calendar from a colored circle to a red blood drop, but this required going into the code from table_calendar (an external library) and editing it directly. We also had to come up with a custom algorithm to determine which data should factor into the most recent cycle's insights on the "Report" page and ignore previous cycles.
Otherwise, we ran into some of the classic challenges: time crunch, connecting all the different components, and making sure each teammate’s components would fit together. Working through these difficulties was frustrating, but well worth the effort.
Accomplishments that we're proud of
“go with the flow.” does a lot and it was certainly a rush to finish it! More than anything, we were interested in putting forward a hardware hack that would integrate well with other interesting technologies. We were able to follow through on this goal, which we see as a big win!
Otherwise, we were very excited to complete an end-to-end solution to a problem that we find so very important. To have it all working, hardware-to-database-to-app, is a real achievement!
What's next for go with the flow.
We were hoping to 3D-print each element for the container, but that ended up being a little too ambitious for a 24-hour hack. While our cardboard contraption does the job for hackathon purposes, we’d love to see the hardware component fit into a more sleek, more unassuming container.
We would also like to have more details in the app about the user’s cycle i.e. provide data across multiple cycles to detect patterns and irregularities. As a finished product, “go with the flow.” would be able to give recommendations based on the data collected, such as notifying the user if their cycle appears irregular based on their data, or reminding the user to change their tampon if it has been too long since they last took a tampon via a push notification.
Credits
- Logo Image: https://cdn-icons-png.flaticon.com/512/3182/3182186.png
table_calendar: https://pub.dev/packages/table_calendarcloud_firestore: https://pub.dev/packages/cloud_firestorecharts_flutter: https://pub.dev/packages/charts_flutter




Log in or sign up for Devpost to join the conversation.