COLAB20 PORTFOLIO

Bookswap

A platform that allows you to exchange your used books with other users.

Product Experience

Problem Space 

Problem Background 

The origin of the problem that led to the creation of BookSwap lies in the challenges faced by book seekers in accessing their desired books without having to purchase them. Local bookstores often have limited selections, making it difficult for readers to access a diverse range of materials. Additionally, the high costs of buying new books create financial burdens for avid readers and those on tight budgets. The accumulation of unused books further contributes to clutter and waste in book seekers' homes. Moreover, the lack of a centralized and efficient platform for book exchanges hinders their ability to find potential partners and arrange swaps easily. The traditional book-buying model also raises environmental concerns due to resource consumption and paper waste associated with book production and disposal. Recognizing these pain points, BookSwap was created to address these challenges and offer a solution where book seekers can seamlessly exchange books, fostering a sense of community and promoting sustainable reading practices. With BookSwap, readers can embark on a new chapter of shared stories, where the joy of reading converges with a culture of sharing and exploration.

Research and Validation 

Research Objective: The research aims to validate the need for BookSwap, The goal is to understand the pain points faced by book seekers, their preferences, and their willingness to participate in book exchanges.

  • Online Survey:
  • A comprehensive online survey was conducted with a diverse group of book seekers, including avid readers, casual readers, and individuals with limited access to physical bookstores.
  • The survey included questions about the challenges faced in finding desired books, the financial burden of book purchases, and the interest in participating in book exchanges.

Validation:

  • The survey revealed that 82% of respondents found it challenging to obtain specific books they desired without purchasing them, indicating a clear pain point.
  • 78% of participants expressed concern over the financial burden of buying new books, indicating a strong need for a cost-effective solution like BookSwap.

Prototyping and User Testing:

  • A prototype of the BookSwap platform was developed, and user testing was conducted to evaluate the platform's usability and user experience.

Validation:

  • User testing feedback revealed positive responses to the platform's features and functionality, indicating its potential to address the pain points of book seekers effectively.

Based on the research findings and validation, BookSwap is validated as a promising solution to address the challenges faced by book seekers in obtaining their desired books without purchasing them. The research insights demonstrate a clear need for a user-friendly and secure book exchange platform like BookSwap, which has the potential to revolutionize the way readers access and enjoy their favorite read

Landing on a solution

  1. Unlock a World of Books: BookSwap opens the doors to a vast collection of books waiting to be explored. Discover hidden literary gems, explore new genres, and expand your reading horizons.
  1. Save Money, Embrace Sustainability: Say farewell to the financial burden of buying new books. By exchanging pre-loved books, you not only save money but also contribute to a sustainable reading culture, reducing paper waste and supporting environmental preservation.
  1. Connect with Like-Minded Readers: BookSwap fosters a vibrant community of book lovers. Connect with fellow readers, share book recommendations, and build lasting connections based on your shared passion for reading

Solution

BookSwap is a comprehensive and user-centric solution designed to help book seekers easily exchange their used books with others, enabling them to obtain their desired books without the need to purchase them. With BookSwap, we aim to create a vibrant community of readers, fostering a culture of sharing, exploration, and connection. Here's how our solution works:

  1. User-Friendly Platform: BookSwap provides a sleek and intuitive platform that makes the book exchange process simple and enjoyable. Users can easily create profiles, list the books they no longer need, and specify the books they desire.
  2. Smart Matching Algorithm: Our intelligent matching algorithm analyzes user preferences, reading history, and listed books to suggest potential exchange partners who have the books they desire and are interested in their listed books. This ensures efficient and compatible matches, increasing the chances of successful exchanges.
  3. Secure Communication and Negotiation: BookSwap offers a built-in messaging system that allows users to communicate, negotiate exchange terms, and discuss book conditions. This fosters transparent and trustworthy interactions between book seekers, ensuring a positive exchange experience.
  4. Mobile Accessibility: BookSwap is available on mobile devices, allowing book seekers to access the platform anytime, anywhere. The mobile app provides convenience and flexibility for managing book exchanges on the go.

Through BookSwap, we empower book seekers to declutter their bookshelves, discover new reads, and connect with like-minded readers. By promoting sustainable reading practices and facilitating meaningful exchanges, we strive to create a platform where sharing, community, and the love of reading converge.

Lofi’s & Hifi’s

Link to Low Fidelity Prototype: Desktop Link   Mobile Link

Link to High Fidelity Prototype: Responsive Website Link

Design Learnings

  • Users like the option of saving books to return to them at a later time. For the high fidelity mockup, I added a wishlist button on the book tile so users can easily add books to their wishlist. 
  • Users value ease of use in their web experiences. I got rid of the dropdowns used on the book description page and book swapper profile page to make the information visible and used carousels instead. 

Marketing Material 1#

Material #2: Logo

Logo + Favicon

Favicon

Implementation Details

Tech Stack used:

  • Frontend: React, Next.js, JavaScript, Firebase, Tailwind CSS
  • Backend: Django, Python
  • Database: MySQL
  • Deployment platforms: Vercel for frontend, PythonAnywhere for backend

Current Design:

The application's database model includes the following::

  • Book: Stores information about each book, such as title, author, publication year, description and rating
  • UserProfile: Stores user details like bio, location, user rating and user reviews.
  • BookReview: Allows users to write reviews and provide ratings for books they have read.
  • BookExchange: Facilitates the book exchange process, including details about the book, the owner, borrower (if applicable), and exchange status.

Technical Tradeoffs:

  1. Performance vs. Cost: One of the main technical tradeoffs is choosing the appropriate hosting platform. While cloud services like AWS offer scalable infrastructure and high performance, they come with higher costs. For our project, we have used free deployment services - Vercel and PythonAnywhere.
  2. Monolithic vs. Microservices Architecture: Deciding on the application architecture is another tradeoff. A monolithic architecture simplifies development but might lead to a tightly coupled codebase, making it challenging to maintain and scale. In contrast, a microservices architecture offers modularity and scalability but introduces complexity and requires careful management of inter-service communication. For our project, we have chosen a monolithic architecture as we don’t expect a lot of user traffic in the initial stages of our product release, hence microservices would be overkill.
  3. Data Storage: Relational vs. NoSQL: Choosing between a relational database (e.g., PostgreSQL) and a NoSQL database (e.g., MongoDB) involves tradeoffs. Relational databases provide data integrity and robustness for complex relationships, while NoSQL databases offer flexibility and scalability for handling large amounts of data. Since we aren’t dealing with large amounts of data and our database schema is well structured, we have chosen to go ahead with a relational database.

Future Steps

In the future, the application can be enhanced with additional features like chat functionality for better communication between users, recommendation algorithms to suggest books based on user preferences, a credit based system for book exchanges and integration with external APIs to fetch book details and cover images.

Learnings

Product Manager Learnings:

Lovelie Antoine

Designer Learnings:

Nikisha Roberts

Designer Learnings:

Jo Sturdivant

  1. Adapting to an Established Team: Joining the team in week 6 of 8 was challenging, as I had to quickly adapt to existing workflows, dynamics, and goals. This mirrors real-world situations where you often integrate into teams mid-project, and flexibility is essential.
  2. Work-Blocking for Efficiency: With only two weeks to complete the project, I learned the importance of a structured work-blocking system. This approach allowed me to manage my time effectively and meet deadlines under pressure.
  3. Making Data-Driven Design Decisions: Unlike my past projects, I had to rely on research conducted by others. This was a valuable experience in using pre-existing data to guide design decisions, helping me focus on the core insights without starting from scratch.

Developer Learnings:

Tanay Shirodkar

Developer Learnings:

Vanady Beard

&

As the back-end developer, I learned how important it is to create efficient and reliable systems that support the entire application. This experience also taught me the importance of optimising the database and ensuring the backend is scalable and easy to maintain.

Developer Learnings:

Stephen Asiedu

&

As a back-end developer, I've come to understand the importance of being familiar with various database systems and modules. This knowledge enables me to build diverse applications and maintain versatility in my work. I've also learned that the responsibility for making the right choices rests on my shoulders, guided by my best judgement.

Developer Learnings:

Nikhil Pn

&

Developer Learnings:

Maurquise Williams

&

  1. Process of Creating an MVP: Developing a Minimum Viable Product (MVP) taught me how to focus on delivering core functionalities balancing between essential features and avoiding scope creep.
  2. Collaboration in a Real-World Tech Setting: This experience taught me how to collaborate efficiently in a fast-paced tech environment, keeping the team aligned and productive, even while working remotely across time zones.
  3. Sharpening Critical Thinking and Problem-Solving Skills: This experience honed my ability to think critically and solve problems efficiently. By tackling challenges and finding quick solutions, I sharpened my decision-making and troubleshooting skills in a dynamic, real-world setting.

Developer Learnings:

Jeremiah Williams

&

All in all this experience was very awesome I learned that in coding with others being transparent is key

Developers Learnings:

Justin Farley

&

I learned how important communication is when working with a team. Communication provides understanding, advice, ideas, and much more. While working with the product team, I’ve found that communication keeps everything flowing smoothly. Working with a team also showed me that every member brings something different to the table and we all have to work together in order to align and meet our end goal.

Full Team Learning