Jackie provides a community based, emergency delivery service for women who are caught out without their feminine hygiene product of choice. This mobile app aims to create a community of women (colloquially named "Jackies") that help each other out when they need it the most.
Our team was motivated by wanting to address an issue that people generally do not talk about: emergencies with feminine hygiene products. Although we wish this to no one, some days you just don't remember to carry a spare pad/tampon on you. Asking another person for a one in a public restroom can be both embarassing and awkward. Jackie was designed to help minimize any awkward interaction, and getting you what you need quickly and efficiently.
Lastly, we are a big proponent of "paying it forward", by helping people when you have the capacity to do so. By creating this app, we hope to create an environment that perpetuates that idea, even in the absence of monetary rewards.
What it does
The app serves to match people who direly need a disposable feminine hygiene product to nearby users who happen to carry extra. Jackie creates an interface for women to request for a product, and ask other app users if they can deliver it to a nearby location. At the click of a button, a user can send a request to nearby users to see if they have extras pads to offer. Other Jackies can then see the request in the app, and, if they have the resources and time, offer to deliver it.
How we built it
We wrote our iOS application in Swift 3. We used Firebase as our backend service/ data store, and utilized Geofire as a lightweight framework to find other nearby users. We use the Google Maps API to get the users location, and stores it in the realtime. Firebase database. Lastly, we host a Twilio server using Node and Express for sending text messages, as a temporary alternative and potential supplement to push notifications.
Challenges we ran into
We had a difficult time getting all the external libraries integrated into our project, since it was our first time using many of them. Debugging linker issues and handling storyboard conflicts with the application probably took more time than we would have hoped. Lastly, handling app to app communication was difficult at first, since we did not have access to the regular Apple Push Notification service and did not want to host a general server due to scalability reasons.
Additional features such as privacy, push notifications, rating systems, and potentially tipping for Jackie deliverers.