Table 80

Inspiration

Ever since coming to Purdue, we’ve loved exploring around, but most places are hard to get to by walking, or even using the bus. So, a lot of us end up using Veos or Uber to get around fast, but these are incredibly expensive and even require a startup fee. For example, a simple ride from our residence hall to the memorial union would cost up to 5 dollars. This simply isn’t sustainable for students like ourselves. In general, we can see that transportation around campus is unreliable, time-consuming, and expensive. Villainous scooter rentals can be pricey and cumbersome, and there are thousands of regular bikes sitting idle which could better serve the community when used.

What it does

REMI is a 2 products 1 easy-to-use platform solution that combines a smart bike lock with encrypted NFC keys and an easy‐to‐use mobile app, enabling owners to list their bikes and securely lend them out. Renters simply open the app, find a nearby bike, and unlock it using our NFC technology—no fuss, no hassle. And to safeguard everyone, REMI enforces guaranteed responsibility so bikes are returned safely every time. Bike owners make money by lending out unused bikes, while renters save time and money accessing convenient, affordable transportation. Best of all, the platform is designed to be seamless for both parties.

How we built it

On our mobile app development side we utilized Android Studio to code with Flutter and Dart, allowing us to create and support users across multiple platforms. With the help of emulators we were able to test frequently and extensively on Android Pro 9 vanilla devices to make sure the user experience had a natural feel and performed exceptionally. Also, Flutter's wide variety of plugins and libraries helped us make use of Google Maps API, Apple’s modals, geolocators, and more to enable a seamless and user-friendly design that would meet the ever changing needs of Purdue University.

On the hardware side, REMI made use of the powerful Arduino Nano microcontroller which was equipped with an NFC reader to construct a secure and encrypted smart bike lock system. WIth Bluetooth Low Energy from both central and peripheral peer-to-peer communication we were able to establish strong channels of communication for reliable data transfer. We also utilized I2C communication and PWM servo control to better deliver standards of precision and responsiveness within the hardware. This allowed for our physical and digital components of our platform.

To help support our back end and database functions, we made sure to use Firebase to ensure that any data from the user and the transactions are handled with state of the art security. With firebase we played close attention to the authentication process and database functions. In the end we made sure to bring together these two dynamic and unique technologies to build a cohesive system that is for students from students within the biking transportation world. By working with these technologies we effectively optimize performance for our campus bike-sharing initiative.

For our back end, we chose Firebase to manage both authentication and database functions, ensuring that user data and bike-sharing transactions are handled securely and efficiently. This cloud-based solution provides real-time updates and robust data management, making it an ideal choice for a dynamic and scalable platform. By seamlessly integrating these technologies, we have built a cohesive system that enhances user experience, guarantees security, and optimizes performance for our campus bike-sharing initiative.

Challenges we ran into

One of our most difficult challenges that we ran into on the technical side was managing the Gradle builds and the stability of the emulators. This would cost us a lot of time and having to also manage the dependencies, build failures, updates, and other things that would go wrong trying to repeatedly rebuild the Gradle which hurt our development progress significantly. Furthermore, the emulator would often crash on us and we had a lot of difficulty recognizing the BLE connections which would also lead to a handful of restarts during the NFC testing portion of the project. To overcome this we just had to make sure that our Gradle was configured optimally, cache the dependencies when we had the chance, and make our debugging approach more efficient to minimize downtime.

Another major challenge that was difficult to overcome was when we had to integrate the hardware with the software. We had a lot of trouble trying to establish security when it came to a reliable communication method between the NFC bike lock and the mobile app. BLE was also tricky to work around because there were inconsistent and unexpected latency + connection drops while we were working with it. Nevertheless, we pushed through and debugged without fail to fine-tune the system and create a better smart lock mechanism. In the end, these little issues would make all the difference to a difficult user experience compared to a more smooth, user-friendly experience.

Overall, time was a big issue when it came to trying to take on this project. Especially when it came to the more physical component of the project. Just trying to find all the hardware was like a scavenger project, but we eventually worked quickly to go to the Bechtel center, Mechanical Engineering building, and Lamburtus to get access to the parts we needed, spare tools, and 3d-print our product.

Accomplishments that we're proud of

As first time Boilermake participants and as freshmen, we are incredibly proud of the incredible progress we were able to make in a very short amount of time, proving to ourselves that with hard work, passion, and a clear vision, anything is possible. Our team did a fantastic job embracing the challenge of using technology unfamiliar to us, and stepped out of our comfort zones to bring our idea to life. Whether it was building the NFC hardware components, or learning how to use flutter to develop mobile apps and the Gradle build process, we ended up building a robust prototype which far surpassed our initial expectations. One of our greatest successes was coordinating our work so that each function could be pieced together and emerge as a functional system. Let’s not overlook the success of not eating our hi-chews we were using for testing!

What we learned

As we developed REMI, we came across different ways to push our boundaries and learn together as a team. For example, two of us came into the hackathon with experience using Flutter and Dart, while one teammate had comparatively less exposure to the library. We took this situation and made it a learning opportunity for everyone because we could leverage existing skills we’ve worked with all while coming across recent libraries and dependencies we could implement. Given that this was our very first hackathon where we incorporated a hardware component, it was really interesting to see our NFC reader work alongside BLE technology to communicate with the REMI app we developed. We also got to work extremely closely with the Google Maps API to let users locate and interact with bikes using the API’s geolocation features to handle our backend logic.

What's next for REMI

Envision a world where REMI, a pioneer of community and transportation, provides easier, cheaper, profitable, sustainable transportation to each and every location it reaches. First, REMI would work within university campuses, then expand to larger bike friendly towns and cities, and expand its range of transportation methods(skateboards, hoverboards, roller skates, etc.). REMI would help the community drive sustainable movement, bringing a community together in mutually beneficial relationships. This innovation marks an improvement in increasing the quality of life​ for millions of students, and is truly the superior transportation management system dedicated to students by students.

Built With

  • android-pro-9-vanilla
  • android-studio
  • arduino-nano-micro-controller
  • ble
  • bluetooth
  • bluetooth-low-energy-(peripheral-and-central-peer-to-peer)
  • dart
  • emulators
  • firebase
  • firebase-backend-for-auth-and-database
  • flutter
  • geolocator
  • google-maps
  • i2c-communication
  • java
  • java-sdk
  • nfc-reader
  • pwm-servo-control
+ 19 more
Share this project:

Updates