Team PlotTwist
presentPlotTwist

Swap stories, Share adventures

PlotTwist is a platform designed for avid readers who wish for a seamless and cost-effective way to exchange books. The inspiration behind this concept stemmed from the frustration of managing an ever-expanding home library without a convenient method to share books with like-minded individuals, all while creating space for new additions. With PlotTwist, you can effortlessly turn your surplus books into a currency for acquiring new reads. This not only curbs the constant urge to buy new books but also fosters a community where users can connect over a shared passion for literature.

Users simply add unwanted books to their library, find their next read by browsing others' libraries, and initiate swaps with other users when they find what they're looking for. The recipient selects a book that they want in return, and starts a chat to finalise the deal—their only cost is the postage!

The Team

  • Team member imagePreview: Team member image

    Jay McKerracher

  • Team member imagePreview: Team member image

    Faith Collison

  • Team member imagePreview: Team member image

    Naveed Gujral

  • Team member imagePreview: Team member image

    Alicia Wisdom

  • Team member imagePreview: Team member image

    Ana Breahna

  • Team member imagePreview: Team member image

    Jake Robinson

Technologies

Technologies section imagePreview: Technologies section image

We used: Supabase, React Native, Expo, JavaScript, Android Studio

Supabase was chosen for its real-time capabilities, which proved crucial for implementing features like chat, notifications, and user authentication. It's an open-source alternative to Firebase, providing a hassle-free back end with scalable and secure real-time functionality. The fact that it is built on PostgreSQL, a technology we already had a solid understanding of, further accelerated our learning curve, allowing us to swiftly integrate this powerful back-end solution into our project.

Having a solid foundation in React, we recognised the significant advantages of using React Native, a framework that extends similar concepts to React while enabling cross-platform development for both iOS and Android. This minimised the learning curve and maximised efficiency in our development workflow.

Challenges Faced

During the project we encountered a challenge with our notification system, initially designed only for pending swap notifications. We rebuilt the system to include notifications for accepted and rejected swap requests. This involved revisiting back-end logic, updating database structures, and refining front-end interfaces.

We also encountered discrepancies in the appearance and functionality between the web and mobile versions. These disparities resulted in varying sets of bugs, occasionally leading to instances where both versions failed to work simultaneously. Addressing these discrepancies became a priority to ensure a consistent and reliable user experience across both platforms.