1 of 17

CAMPUS GIG MARKETPLACE

handl

Turn skills into income. Turn strangers into trusted peers.

A verified, escrow-protected marketplace connecting student skills

with everyday campus needs — built as a working product, not a mockup.

github.com/jeevan1276/handl

Hackathon Submission — Next.js · Supabase · Stripe

2 of 17

THE PROBLEM

Every campus runs on an invisible economy

Someone needs a poster by tonight. Someone can design it in an hour. Thousands of these matches happen every week — but they're scattered across channels that were never built for commerce.

No search

A gig posted in a WhatsApp group at 11pm is buried by morning.

No accountability

No ratings or history — anyone can ghost after being paid.

No safe payments

Cash or UPI screenshots, with zero recourse if it goes wrong.

No discoverability

Skilled students have nowhere to be found by paying customers.

WHERE GIGS GO TO DIE

WhatsApp Groups

no trust · no search

Instagram Stories

no trust · no search

Hostel Word-of-Mouth

no trust · no search

Paper Flyers

no trust · no search

Discord Servers

no trust · no search

Facebook Groups

no trust · no search

02

3 of 17

THE SOLUTION

handl: one trusted, campus-only marketplace

A two-sided platform where any student can list a skill or post a task — gated by verified college email, protected by escrow, and backed by reputation that follows you through college.

$

Providers — earn from skills

• List design, tutoring, music, delivery, photography & more

• Set price, availability, and portfolio proof

• Get paid the moment work is confirmed done

?

Requesters — get things done

• Browse listings or post a task to the board

• Compare providers by rating, price, and trust tier

• Pay into escrow — funds release only on confirmation

↔

03

4 of 17

DISCOVERY — Q1

How students find opportunities on campus

≡

Browse the Marketplace

Filter live listings by category, price, and rating — from guitar lessons to grocery runs.

+

Post to the Task Board

Can't find what you need? Post a task request and let providers come to you.

⚲

Search & Sort

Full-text search plus sort by rating, price, or recency — nothing gets buried.

▦

Category Grid

Design, Tutoring, Delivery, Photography, Music, Repairs and more, one tap away.

04

5 of 17

TRUST & SAFETY — Q2

How strangers learn to trust each other

✓

.edu Verification

Sign-up gated to a valid college email — every user starts identity-checked, no anonymous accounts.

✓

Escrow-Protected Payments

Stripe Checkout holds funds the moment a booking is made and releases them only once both sides confirm completion.

✓

Real-Time Chat Before Commit

Requesters and providers talk it out, share references, and set expectations before money moves.

✓

Double-Blind Reviews

Both sides rate privately; scores reveal together so neither can retaliate — feedback stays honest.

✓

Persistent Trust Score

Ratings, completed-gig count, and tags roll up into a trust tier that follows a student across every gig, all four years.

05

6 of 17

REPUTATION — Q3

Showcasing skills and past work

Every provider gets a public profile that acts as a living portfolio — proof of skill, not just a claim of it.

★

Portfolio Listings

Past gigs with images, pricing, and category tags — searchable proof of work.

★

Verified Rating History

Star ratings and written reviews tied to real, completed, paid bookings only.

★

Trust Badges

.edu-verified and trust-tier badges shown right on the profile card.

★

Earnings & Track Record

Total gigs completed and response reliability, visible before you book.

MC

Maya Chen

★ 4.8 · 12 gigs completed

✓ .edu Verified

SERVICES OFFERED

Poster & Logo Design — ₹300/hr

Canva Portfolio Setup — ₹500 flat

RECENT REVIEW

“Fast, professional, exactly on brief. Booking again for the fest posters.”

— Jordan Rivera, Freshman

06

7 of 17

PRODUCT WALKTHROUGH

The end-to-end flow, already built

1

Land

Dark glass hero + category grid

→

2

Verify

.edu sign-up → instant trust badge

→

3

Browse

Filter by category, price, rating

→

4

Book

Stripe Checkout → funds in escrow

5

Chat

Real-time messaging, Supabase Realtime

→

6

Complete

Provider marks done, requester confirms

→

7

Review

Double-blind rating → trust score updates

→

8

Track

Dashboard: earnings, wallet, bookings

07

8 of 17

ENGAGEMENT — Q4

What keeps students coming back

▲

Trust Tiers

New → Verified → Trusted → Campus Pro. Higher tiers unlock featured placement and lower fees.

$

Wallet & Instant Payouts

Earnings land in an in-app wallet the moment a job is confirmed — money feels real, fast.

⚡

Streaks & Response Score

Fast replies and on-time completions build a visible reliability streak on the profile.

★

Campus Leaderboards

Top-rated providers per category surface each week — recognition drives repeat activity.

08

9 of 17

SUSTAINABILITY — Q5

A business model that scales with campus activity

$

Take Rate

5–10% commission on every completed, escrow-released booking — aligned with actual value delivered.

$

Campus Pro Subscription

Monthly plan for power providers: featured listings, lower take-rate, priority task alerts.

$

Verified Pro Tier

One-time fee for enhanced ID verification — unlocks higher-value gigs (tutoring, deliveries, event work).

$

Campus Partnerships

Paid placement for student unions, clubs, and departments posting official paid work or event gigs.

09

10 of 17

ARCHITECTURE — TECHNICAL DEEP DIVE

How the pieces talk to each other

Browser (Client)

React 19 · Next.js UI

Next.js Server

App Router · Server Actions · Middleware

Vercel Hosting

Edge / serverless deployment

Supabase

Postgres DB · Auth · Realtime · Storage

Stripe

Checkout Sessions · Payment Intents · Webhooks

Supabase Realtime

Postgres Changes → live chat & status

Stripe Webhook (API Route)

checkout.session.completed

writes payment + confirms booking

Client calls a Server Action → Server Action writes to Supabase and creates a Stripe Checkout session → Stripe's webhook confirms payment back into Supabase, which triggers Realtime updates to every connected client.

10

11 of 17

DATA MODEL

Nine tables power the whole marketplace

profiles

• id (PK)

• trust_score

• verification_tier

• wallet_balance

listings

• id (PK)

• provider_id (FK)

• category, price

• status

task_requests

• id (PK)

• requester_id (FK)

• budget_min/max

• status

bookings

• id (PK)

• listing_id / task_id (FK)

• provider_id, requester_id

• status, agreed_price

payments

• id (PK)

• booking_id (FK)

• status, released_at

reviews

• id (PK)

• booking_id (FK)

• rating, comment

conversations

• id (PK)

• booking_id (FK)

conv_participants

• conversation_id

• user_id

messages

• conversation_id

• sender_id, content

bookings is the central hub — every payment, review, and conversation traces back to one booking record.

11

12 of 17

ESCROW FLOW

How money moves from requester to provider

Requester

Platform (Server)

Stripe

Provider

1. Clicks Book Now

2. Create Checkout Session

3. Pays on Stripe Checkout

4. Webhook fires: checkout.session.completed

5. Funds “captured” in escrow · booking → confirmed

6. Marks job complete

7. Releases payment

8. Wallet credited · booking → released

pending → confirmed → completed → released

12

13 of 17

TRUST SCORE

How reputation is actually computed

Avg. Star Rating

from completed, paid bookings only

Completed Gigs

count as provider

.edu / ID Verification

tier 0–3

Response Reliability

reply speed & on-time completion

Trust Score Engine

weighted combination of all four inputs

New Provider

0 completed gigs

Rising

gigs > 0

Trusted Pro

≥10 gigs · ≥4.5★

Top Rated

≥20 gigs · ≥4.8★

Verification tier (0–3) and performance tier are tracked separately — a badge on every profile shows both, so a new-but-verified student and a proven Top Rated provider are never confused.

13

14 of 17

USER JOURNEYS

Two personas, two paths through the same product

Provider

Register (.edu)

Onboard profile

Create listing

Incoming booking

Deliver + Mark complete

Chat & get reviewed

Wallet credited

Requester

Register (.edu)

Browse / search

View listing & reviews

Book + pay (escrow)

Chat with provider

Confirm + release pay

Leave review

Branch point: no listing matches what a requester needs

Requester posts to the Task Board instead of booking a listing → providers browse open tasks and respond → same booking, escrow, chat, and review flow applies from that point on.

14

15 of 17

UNDER THE HOOD

Built with production-ready architecture

TECH STACK

Framework

Next.js 15 (App Router)

Database / Auth / Realtime

Supabase

Styling

Tailwind CSS + shadcn/ui

Payments

Stripe Checkout + Webhooks

Animation

Framer Motion

Hosting

Vercel

DATA FLOW

▦

Next.js Frontend

Browse · Booking · Chat UI

↓

▤

Supabase

Auth · Postgres DB · Storage · Realtime

↓

$

Stripe

Checkout · Escrow Simulation · Webhooks

15

16 of 17

STATUS

What's already working vs. what's next

✓ LIVE IN THE MVP

• Auth with .edu email validation

• Onboarding + profile with avatar upload

• Marketplace listings: search, filter, categories

• Requester-initiated task board

• Full booking flow: create → pay → confirm → complete

• Stripe Checkout + webhooks, simulated provider wallet

• Real-time chat via Supabase Realtime

• Reviews: ratings, comments, tags, trust score

• Dashboard: earnings, bookings, messages, wallet

• Seed data: 15 users, 25 listings, 20 bookings, 30 reviews

→ POST-HACKATHON ROADMAP

• Row Level Security policies on all tables

• Real Stripe Connect Express for provider payouts

• Double-blind review reveal logic

• AI-based content moderation

• Stripe Identity for Tier-2 ID verification

• Dispute resolution workflow

• In-app + email notifications

• React Native mobile app

16

17 of 17

handl

Every campus has an economy. handl gives it a home.

Thank you

github.com/jeevan1276/handl

Working demo · Next.js + Supabase + Stripe · Seed data included