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.

Share this project:

Updates