Inspiration

Every day on campus, students need to move small items from one location to another, while other students are already travelling in that direction. We realized these two needs could be connected.

Instead of creating a separate delivery trip for every request, Uni-fetch uses journeys that are already happening.

This inspired our core idea:

“Need It? Ask Someone Who's Going.”

Our goal was to build a peer-to-peer delivery network that makes campus deliveries faster, more convenient, and rewarding for students.

What it does

Uni-fetch is a peer-to-peer campus and outside-campus delivery platform that connects students who need something delivered with students who are already travelling in that direction.

Users can:

  • Create campus delivery requests
  • Browse and accept delivery requests
  • Carry packages for other students
  • Earn credits from completed deliveries
  • Track delivery status in real time
  • Use OTP verification for secure handoffs
  • Manage and purchase credits
  • Create and browse outside-campus trips
  • Request deliveries through outside trips
  • Negotiate delivery rewards
  • Chat with other users
  • Receive notifications
  • Rate and review completed deliveries

The core campus flow is:

Request → Accept → Pickup → OTP Verification → Deliver → Earn Credits

For outside-campus deliveries, the platform extends this into:

Trip → Request → Negotiation → Acceptance → Payment → Delivery → Completion

How we built it

We built Uni-fetch as a full-stack web application focused on creating a complete two-sided delivery ecosystem.

Tech Stack

  • Next.js / React — Frontend
  • TypeScript — Application development
  • Supabase — Backend, authentication, storage, and realtime functionality
  • PostgreSQL — Database
  • Tailwind CSS / CSS — User interface
  • Netlify — Deployment

The application is built around users, delivery requests, trips, credits, payments, messages, notifications, reviews, and delivery states.

We also implemented database-level access control and Row Level Security (RLS) to protect user data and ensure that users can only perform actions they are authorized to perform.

Challenges we ran into

Building a two-sided platform

Uni-fetch has two different sides: students requesting deliveries and students carrying them. We had to design workflows that worked smoothly for both users.

Creating trust

Peer-to-peer delivery requires trust. We introduced authentication, OTP-protected handoffs, delivery status tracking, ratings, and reviews to make the process more reliable.

Managing credits and payments

The platform supports both campus credits and outside-campus payments. Maintaining consistent balances and delivery states across multiple transactions required careful database design.

Real-time functionality

Notifications, messaging, and delivery updates need to happen without constantly refreshing the application. We implemented realtime functionality to keep users updated as actions occur.

Securing user data

Because the application handles user accounts, delivery information, credits, and payment-related data, we had to carefully implement authentication, authorization, and RLS policies.

Accomplishments that we're proud of

We are proud that Uni-fetch evolved from a simple campus delivery idea into a complete peer-to-peer delivery platform.

Some of the features we are particularly proud of include:

  • Complete campus delivery workflow
  • Outside-campus delivery support
  • Credit-based incentives
  • Payment and reward flows
  • OTP-protected deliveries
  • Real-time notifications and messaging
  • Delivery status tracking
  • Ratings and reviews
  • Authentication and user management
  • Database-level RLS and access control
  • Responsive interface for desktop and mobile
  • Demo mode for exploring the platform

Most importantly, we built the platform around a real-world student problem and expanded it while keeping the core experience simple.

What we learned

Uni-fetch taught us that building a product is about much more than implementing individual features.

We learned how to:

  • Design a product around a real user problem
  • Build a two-sided marketplace
  • Design state-based workflows
  • Connect a modern React application with PostgreSQL
  • Implement authentication and authorization
  • Work with realtime functionality
  • Handle credits and payment workflows
  • Implement database-level security using RLS
  • Design trust mechanisms for peer-to-peer systems
  • Test a full-stack application end-to-end
  • Deploy and maintain a production-ready application

Our biggest takeaway was that existing movement can become useful delivery capacity when the right people are connected.

What's next for Uni-fetch

Our next step is to test Uni-fetch with real campus users and understand how students actually use the platform.

We want to measure:

  • Number of delivery requests
  • Successful delivery rate
  • Request-to-acceptance time
  • Average delivery completion time
  • Repeat usage
  • Credit activity
  • Outside-campus usage
  • User feedback

Based on these results, we plan to improve matching, trust mechanisms, notifications, and the overall delivery experience.

The immediate goal is:

Prove the campus use case → improve the product → build a reliable peer-to-peer delivery network.

Built With

Share this project:

Updates

Submission history