Skip to content
A
All projects

2026 · Frontend

BookSwap

Peer-to-peer book marketplace

BookSwap is the community marketplace that heavy e-commerce sites are too big to be — readers list books and trade them directly with neighbors.

Year
2026
Role
Frontend
Status
Live demo
Repository
github.com/sahajbeersingh/BookSwap

01Overview

A marketplace where readers list, discover, search, and trade books within a community. I built the entire React frontend — browsing and search, wishlist, collection tracking, and authentication flows — wired to an Express and Supabase backend.

Outcome

Deployed and running — the marketplace is live and usable in a browser.

02The problem

Readers who want to buy, sell, or trade books lack a lightweight, community-oriented marketplace.

03Goals

  1. 01Let readers list books for sale or trade quickly.
  2. 02Make discovery and search feel lightweight, not like a catalog.
  3. 03Give readers a wishlist and a way to track their own collection.
  4. 04Handle sign-in without bolting on a heavyweight auth system.

04Key features

  • React frontend covering browsing, search, and wishlist flows
  • Collection tracking and authentication wired to Express + Supabase

05Architecture overview

01The client is a React single-page app built with Vite, using Zustand for client state and React Router for navigation. I built this frontend end to end.

02The backend is an Express API backed by Supabase for authentication and the data layer. The frontend talks to that API for listings, wishlist, and collection data.

06Challenges faced

  • Keeping search and browsing snappy on a client-side rendered app.
  • Wiring auth flows cleanly between React and Supabase.
  • Tracking collection state across navigation without losing it.

07Engineering decisions

01

Zustand over a heavier store

A small, unopinionated store is enough for wishlist and collection state without adding ceremony.

02

Vite for the build

Fast dev startup and a simple production build kept the frontend iteration loop short.

03

Express + Supabase

A thin Express API over Supabase's auth and database keeps the backend small and the deployment simple.

08Lessons learned

  • A focused marketplace beats a big one when the community is the point.
  • Client state libraries should earn their place; the smallest one that works wins.
  • Shipping and running the thing changes how you judge the architecture.

09Future improvements

  1. 01Recommendations based on collection overlap between readers.
  2. 02In-app trading conversations instead of external messaging.
  3. 03Geographic filtering to make swaps local and practical.

Placeholder — swap in real captures

01Listing grid
02Search
03Wishlist