Inspiration
A simple cold approach led to our friendship. We wanted more of that in our lives.
What it does
Users are matched with other users and finding each other becomes a game of hot and cold.
How we built it
The front end was built with Swift, connecting to a Firebase backend built with typescript. Firebase was the only external library used, the rest were standard Apple frameworks.
Challenges we ran into
We ran into trouble with push notifications due to the inability to use GPS while the app is closed without significant battery drain. This resulted in users not being notified when they get close to each other, even if they were well within proximity to trigger push notifications. The way around this is to use cell tower triangulation (CTT) to send major position updates and initiate more precise tracking methods.
Accomplishments that we're proud of
Because of the varying distances that users can be from each other, we had to stitch together multiple technologies in order to achieve proximity awareness. CTT triggered major locations change events, GPS enabled more accurate tracking, Bluetooth Low Energy (BLE) enabled medium distance tracking and Ultra-wideband (UWB) hash exchange, and UWB enabled precise distance measurement and profile exchanges.
What we learned
We learned about background app usage, APNs, location technologies, BLE and UWB and its uses in measuring distances and communication, and their limitations across different platforms.
What's next for Pingo
Market research, personality and network based matching, legal and App Store compliance, Android support.
Log in or sign up for Devpost to join the conversation.