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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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