Inspiration

PassMe was majorly inspired by Nintendo's StreetPass for 3DS. We felt that while carrying around a 3DS is fun, its not really popular enough anymore for StreetPass to have that magic it once did. We were trying to find a device that almost everyone carries around, and then we figured it out. Its your phone! Everyone has a phone, so we decided to build PassMe to bring that StreetPass magic back to you!

What it does

PassMe is a social media app that promotes traveling and interacting with people! As you walk through town you might just see a notification on your phone saying "You passed someone!" This makes the social media part of the app feel more personal rather than just doomscrolling on Instagram Reels or YouTube Shorts, you can go out and "pass" real people just by walking!

How we built it

We utilized React-Native and Expo to power PassMe. Bluetooth Low Energy (BLE) was a crucial part of PassMe as it allows for the app to "see" other phones with the app and "Pass" each other. Godot was another necessary part of PassMe as it allowed us to develop necessary aspects of the app such as the character editor.

Bluetooth Low Energy

Secondary Bluetooth Low Energy

Godot in React Native

Android Godot Patch

Challenges we ran into

We ran into quite a few challenges, but for each one we found a solution that allowed us to continue development. We ran into Node version mismatches on different machines that cause some builds to fail and others to succeed. This was easily fixed by finding the successful build and getting the Node version and using it on the other machines. Another issue we ran into was cross-platform BLE. It was difficult allowing for iOS and Android to "see" each other because of the different strategies they use for BLE. We found a way through this by testing different BLE plugins that eventually led us to find one that worked. We ran into an issue with importing a Godot project into our app, since the react-native-godot plugin we used was meant for an older version of React Native and Expo but we were able to find someone who made a patch to allow the app to render the Godot projects.

Accomplishments that we're proud of

We're very proud that the app can successfully scan and advertise cross-platform utilizing BLE. Not only that but it also will continue to scan and advertise when the app is in the background. We are also proud of the Passling Character Creator. We made it in Godot and we were able to import it into the app directly and it successfully loads, edits, and stores data in the database.

What we learned

We learned a lot about phone software architecture and building apps for iOS and Android. We found that there are a lot of similarities but also many differences that makes it more difficult to develop for both simultaneously. We learned a lot about the limitations on iOS and how to get around certain roadblocks that prevented progress for us. We also learned about the limitations of Android and it's ability to interact with iOS devices. A big learning aspect for us in the project was learning how to build an app in React Native Expo, as it was a first time for many of us.

What's next for PassMe

For PassMe we plan to add content updates in the future. These updates would include brand new mini-games that will use the Passlings you find to allow you play! The mini-games would allow you to collect an in-game free currency we like to call PassCoins. These PassCoins would be used to buy cosmetics so you can dress up your own Passling how ever you like.

Built With

Share this project:

Updates