Inspiration

Every year at UBC, thousands of students move in and move out of residences at the same time. Clubs running events end up with unusable banners and items that they end up throwing out. Perfectly usable items: mini fridges, lamps, desk chairs, kitchenware, and get sold chaotically or simply thrown away.

We noticed three consistent problems:

  1. Trust: anyone could join most marketplaces, leading to scams and unsafe interactions
  2. Discoverability: students miss great deals because listings are fragmented
  3. Waste: huge amounts of usable items and furniture end up in landfills

We wanted to build something made specifically for UBC students, that feels safe, seasonal, and sustainability-driven. That idea became Exchangify.

What it does

Exchangify is a UBC-only student marketplace where students can buy, sell, and trade dorm items and student essentials, especially during move-in and move-out seasons.

Key things it enables:

  • Verified access using @student.ubc.ca emails only
  • Campus-aware marketplace filtered by UBC residences
  • Dedicated move-out mode for bundles and dorm essentials
  • Built-in offers, messaging, meetup scheduling, and transaction tracking
  • Wishlist and price alerts so students never miss what they need
  • Safety-first features like user reviews, reporting, blocking, and safety guidelines
  • A Sustainability Impact Dashboard that shows how many items were reused, CO₂ saved, and waste avoided

Instead of being just another resale app, Exchangify turns student exchanges into a trusted, campus-wide sustainability system!

How we built it

We built Exchangify as a full-stack, production-ready web application using modern tools:

Frontend:

  • Next.js 14
  • TypeScript
  • Tailwind CSS
  • Fully responsive, PWA-enabled design

Backend:

  • Next.js API Routes
  • MongoDB Atlas with Mongoose
  • RESTful API design for scalability
  • Authentication & Security
  • NextAuth.js (Credentials provider)
  • UBC email validation
  • JWT-based sessions
  • CSRF protection, rate limiting, and input sanitization

Core Systems

  • Listings, bundles, offers, transactions, reviews
  • Real-time messaging and notifications
  • Cloudinary image uploads
  • Push notifications using Web Push + VAPID
  • Gamification engine for badges and achievements

Challenges we ran into

Designing trust without real payments: we had to carefully design reviews, transaction states, and moderation tools to build trust even without in-app payments.

Balancing feature depth with usability: with listings, bundles, offers, alerts, and messaging, keeping the UI intuitive took multiple iterations.

Push notifications & PWA setup: implementing Web Push, service workers, and notification preferences reliably across browsers required deep debugging.

Accomplishments that we're proud of

  • A fully functional end-to-end marketplace, not just a prototype
  • Campus-specific UX (residences, move-out mode, safety tips)
  • A meaningful sustainability impact dashboard, not just a marketing claim
  • Clean, well-structured backend with clear API boundaries
  • A codebase that’s easy to extend for AI features, payments, and native apps
  • Most importantly, Exchangify feels like something UBC students would actually use.

What we learned

  • Building trust is as important as building features
  • Small UX decisions (filters, alerts, bundles) massively affect usability
  • Designing for a specific community leads to better products than building generic platforms
  • Sustainability metrics motivate users when they’re visible and personal
  • Production-quality architecture matters, even in student projects

What's next for Exchangify

We see Exchangify growing into an official campus utility. Next steps include:

  • CWL (Campus Wide Login) integration for seamless authentication
  • AI-powered features like smart pricing, fraud detection, and auto-categorization
  • Verified meetup locations and in-app video calls
  • In-app payments with escrow for higher-value items
  • Dorm-specific marketplaces and group buy/sell channels
  • A native mobile app

Our long-term goal is to make Exchangify the default way students exchange goods at UBC, reducing waste while strengthening the campus community.

Built With

Share this project:

Updates