Core experience
-
School creates a campaign with a goal, dates, branding, event type, and prize structure.
-
Import students, teachers, grades, and homerooms.
-
Generate a personal page for each student and a classroom page for each class.
-
Families share the student page by text, email, and social.
-
Donors give quickly online with modern checkout options.
-
School admins track donations and participation in real time.
-
Students/classes earn prizes and incentives as milestones are hit.
-
Event day supports run/dance/fitness formats and celebration workflows.
Public-facing donor/parent features
-
Student fundraising page
-
Donation checkout
-
Mobile-first design
-
Apple Pay / Google Pay style fast checkout
-
Multiple language support
-
Campaign progress bars and impact messaging
School admin features
-
Campaign dashboard
-
Student/class import
-
Real-time totals
-
Prize milestone tracking
-
Reports for participation, top classes, top students, totals by class/grade
-
Deposit tracking / payout visibility
Service model options
-
Platform-only / DIY mode
-
Assisted setup mode
-
Full-service mode with playbooks, kickoff materials, and event-day support workflows
For GiveHub, I’d tell Leap to build Version 1 around this narrower scope:
-
Campaign builder
-
campaign type: Fun Run, Dance Fit, Glow Run, Read-a-thon, General fundraiser
-
school goal
-
start/end dates
-
event date
-
branding/theme
-
prizes/incentives
-
-
Roster management
-
import CSV of students/classes/teachers
-
assign each student a slug + optional access code
-
generate classroom rollups
-
-
Student pages
-
photo/avatar
-
personal goal
-
fundraising total
-
share buttons
-
donor wall toggle
-
sponsor-per-lap optional mode for later
-
-
Donation flow
-
flat donation MVP first
-
recurring optional later
-
fee-cover toggle
-
employer match optional later
-
parent checkout friction as low as possible
-
-
Gamification
-
prize tiers
-
class challenges
-
school-wide unlocks
-
leaderboard toggles
-
participation badges
-
-
Admin + reporting
-
total raised
-
participation %
-
average gift
-
top classes
-
top students
-
unregistered students
-
payout/export reports
-
-
Event-day mode
-
large-screen display
-
countdown
-
live total raised
-
class shout-outs
-
sponsor slides
-
completion/celebration screen
-
-
Communications
-
scheduled parent reminder emails/SMS
-
“share your page” nudges
-
last-day urgency sequence
-
post-event thank you flow
-
That would already cover the visible heart of what Booster is selling publicly.
A strong GiveHub-specific advantage would be:
-
reuse your existing donor/payment stack
-
attach gifts to households/constituents where appropriate
-
let schools run this without needing a separate vendor
-
connect it with GiveHub Messaging, Events, and CRM reporting
Here’s a copy/paste prompt you can give Leap:
Writing
Build a new product at Boost.GiveHub.com modeled after modern school fundraiser platforms like Booster, but do not copy branding or proprietary content.
Goal:
Create a school fundraising platform focused on high-energy campaigns like Fun Runs, Dance Fits, Glow Runs, Read-a-thons, and general school fundraising.
MVP requirements:
-
Multi-tenant org support
-
each school/org has its own campaigns, branding, roster, and reporting
-
Campaign builder
-
create campaign with:
-
campaign name
-
fundraiser type
-
school goal
-
start date / end date
-
event date
-
theme
-
default messaging
-
prize tiers
-
class incentives
-
school-wide incentives
-
-
Student/class roster import
-
CSV import for students, teachers, grades, classrooms
-
each student belongs to a class and grade
-
generate unique student fundraising pages
-
support parent-friendly access link or code
-
Public student fundraising pages
-
student name
-
class name
-
campaign goal
-
amount raised
-
share buttons for text/email/social
-
donation CTA
-
optional supporter comments
-
mobile optimized
-
Checkout
-
simple donation checkout
-
Apple Pay / Google Pay support if available in GiveHub stack
-
donor can cover fees
-
attribution to student + class + campaign
-
thank-you page and receipt
-
Admin dashboard
-
total raised
-
participation rate
-
number of donors
-
average gift
-
totals by student/class/grade
-
top classrooms
-
prize progress
-
exportable reports
-
Gamification
-
prize milestones
-
class challenges
-
school goal unlocks
-
optional leaderboards
-
badges/status markers for students who registered/shared/raised
-
Communications
-
email/SMS reminders to parents
-
share-your-page reminders
-
campaign progress updates
-
final-day reminders
-
thank-you messages
-
Event-day mode
-
fullscreen live display
-
total raised
-
countdown timer
-
rotating slides / sponsor logos
-
class recognition
-
celebration state when goals are hit
-
Permissions/roles
-
GiveHub super admin
-
school admin
-
teacher
-
read-only volunteer
-
Nice-to-have after MVP
-
sponsor-per-lap mode
-
offline pledge entry
-
prize fulfillment workflow
-
multilingual donor pages
-
school storefront/add-ons
-
homeroom QR codes
-
teacher dashboard
Important:
-
leverage existing GiveHub payments, donor records, messaging, and reporting wherever possible
-
keep schema extensible for future event types
-
prioritize mobile UX and parent ease-of-use
-
build this as a premium GiveHub product for schools, not a one-off campaign page
If you want, I’ll turn this into a full PRD with database tables, routes, roles, and screen-by-screen UI instructions for Leap.
ok, thank you
You’re onto something really strong here — this fits perfectly into GiveHub’s ecosystem.
When you’re ready, I can help you take this to the next level with:
-
A full PRD + database schema (tables, relationships, endpoints for Leap)
-
Exact UI screens (what each page should look like)
-
Gamification strategy that actually beats Booster (this is where you can win big)
-
Sales positioning vs Booster so you can pitch schools confidently
-
Launch funnel + demo script for GiveHub Boost
Just tell me 👍
im ready
Perfect — let’s build this the right way from day one so Leap doesn’t go off the rails.
Below is a clean, structured PRD + build blueprint you can paste into Leap (or use to guide them step-by-step).
🚀 GIVEHUB BOOST — PRODUCT BLUEPRINT (v1)
🎯 Product Goal
A high-conversion, gamified school fundraising platform that:
-
Maximizes parent sharing
-
Drives repeat donations
-
Creates real-time excitement
-
Feels like an “event”, not just a donation form
🧱 1. CORE ARCHITECTURE
Multi-tenant (CRITICAL)
Everything tied to:
-
org_id (school/org)
🗂️ Core Tables
campaigns
id
org_id
name
type (fun_run, dance, readathon, general)
goal_amount
start_date
end_date
event_date
theme
status (draft, active, completed)
classrooms
id
org_id
campaign_id
name
teacher_name
grade
goal_amount (optional)
students
id
org_id
campaign_id
classroom_id
first_name
last_name
avatar_url
goal_amount
slug (public URL)
access_code (for parent login)
total_raised (cached)
donations (reuse existing if possible)
Add:
campaign_id
student_id
classroom_id
prize_tiers
id
campaign_id
amount_required
title
description
image_url
student_prizes (earned tracking)
id
student_id
prize_tier_id
earned_at
activity_log (for feed + hype)
id
campaign_id
student_id
type (donation, milestone, registration)
message
amount
created_at
🧠 2. CORE USER FLOWS
🏫 ADMIN FLOW (School)
Step 1: Create Campaign
-
Name
-
Goal
-
Dates
-
Event type
-
Theme
Step 2: Upload Roster
CSV:
-
Student name
-
Teacher
-
Grade
System auto:
-
Creates classrooms
-
Creates students
-
Generates:
👉 boost.givehub.com/s/{slug}
Step 3: Set Gamification
-
Prize tiers
-
Class challenges
-
School-wide rewards
Step 4: Launch 🚀
-
Sends parent invites (email/SMS)
-
Activates pages
👨👩👧 PARENT FLOW
-
Click link
-
Land on student page
-
Tap Donate or Share
-
Send to:
-
grandparents
-
friends
-
coworkers
-
👉 This is your VIRAL LOOP
💸 DONOR FLOW
-
Open student page
-
See:
-
photo
-
goal
-
progress bar
-
-
Tap donate
-
Quick checkout
-
Optional message
📱 3. KEY SCREENS (UI SPEC)
🧒 Student Page (MOST IMPORTANT PAGE)
Must include:
-
Student name + photo
-
“Help me reach my goal!”
-
Progress bar
-
Amount raised
-
Big DONATE button
-
Big SHARE button
-
Recent donors (social proof)
-
Prize progress tracker
🏫 Campaign Landing Page
-
School goal
-
Total raised
-
Leaderboard (optional toggle)
-
Countdown timer
-
Event info
📊 Admin Dashboard
Show:
-
Total raised
-
Participation %
-
Avg donation
-
Top classes
-
Top students
-
Donations over time (chart later)
🎉 Event Mode (BIG differentiator)
Full screen display:
-
LIVE total 💰
-
Countdown ⏱
-
Student shoutouts
-
“NEW DONATION!” animations
👉 This is where you beat Booster if done right
🎮 4. GAMIFICATION ENGINE (SECRET SAUCE)
🎯 Prize System
Example:
-
$50 → sticker
-
$150 → t-shirt
-
$300 → VIP event
🏁 Class Competition
-
“Top class gets pizza party”
-
Leaderboard toggle
🚀 School Unlocks
-
$10k → principal dresses silly
-
$25k → school-wide event
🔥 Activity Feed (CRITICAL)
Show real-time:
-
“Emma just raised $50!”
-
“3rd Grade is in the lead!”
👉 Creates urgency + FOMO
📣 5. AUTOMATION / MESSAGING
Leverage messages.givehub
Campaign Timeline
Day 1
-
“Your page is live!”
Day 2–5
-
“Share your link”
Mid campaign
-
“You’re halfway!”
Last 48 hrs
-
🚨 urgency mode
After event
-
Thank you + receipts
⚙️ 6. API / ENDPOINTS (for Leap)
Campaign
POST /boost/campaigns
GET /boost/campaigns/:id
Roster
POST /boost/campaigns/:id/import
Student Page
GET /boost/student/:slug
Donate
(Reuse existing donation endpoint)
POST /donations
Dashboard
GET /boost/campaigns/:id/stats
🔗 7. INTEGRATION WITH GIVEHUB
This is your unfair advantage:
-
Donations → existing pipeline
-
Donors → CRM (People)
-
Messaging → existing system
-
Reporting → unified
👉 Booster can’t compete here
🧠 8. V1 SIMPLIFICATIONS (IMPORTANT)
Tell Leap:
DO NOT build:
-
pledge-per-lap (yet)
-
complex prize fulfillment
-
multilingual
-
offline mode
👉 Keep it FAST + SHIPPABLE
🚀 9. PHASE 2 (after launch)
-
QR codes for students
-
Teacher dashboards
-
Parent login
-
Sponsor-per-lap
-
Mobile app
-
AI coaching (“send this text to raise more”)
🧨 10. HOW YOU WIN VS BOOSTER
Booster = service company
You = software + automation platform
Your edge:
-
Lower cost
-
Faster setup
-
Better UX
-
Full CRM integration
-
No humans required
🧾 COPY THIS TO LEAP
If you want a shorter directive, send this:
Writing
We are building Boost.GiveHub.com — a gamified school fundraising platform similar to Booster but fully software-driven.
Focus on:
-
campaign creation
-
student fundraising pages
-
donation flow
-
real-time tracking
-
gamification (prizes + leaderboards)
-
messaging automation
-
event-day display mode
Use GiveHub’s existing:
-
payments
-
donor system
-
messaging
MVP must prioritize:
-
mobile-first UX
-
extremely fast donation flow
-
viral sharing from parents
Do NOT overbuild V1.
We will iterate after launch.
If you want next step, I’d strongly recommend:
👉 I design your Student Page UI (pixel perfect)
👉 Or your Admin Dashboard layout
👉 Or your sales demo flow to close schools
Just tell me where you want to go next.
yes please continue
Perfect — this is where you win or lose the entire product.
We’re going to design the 2 most important pieces:
-
🧒 Student Fundraising Page (conversion machine)
-
🎤 Sales Demo Flow (how you sell this to schools instantly)
🧒 STUDENT PAGE (THIS PRINTS MONEY)
This page = EVERYTHING
If this converts well → you beat Booster
If it doesn’t → nothing else matters
🎯 Goal of This Page
-
Make donating feel emotional + easy
-
Make sharing feel automatic
-
Create urgency + social proof
🧱 EXACT PAGE STRUCTURE (TOP → BOTTOM)
🔝 1. HERO SECTION
-
Student Photo (big, circular)
-
Name:
👉 “Support Emma Johnson!” -
Subtext:
👉 “Help me raise money for Acworth Elementary” -
🔥 Progress Bar (VERY visual)
-
Amount:
👉 $185 raised of $300 goal
💰 2. PRIMARY CTA (ABOVE THE FOLD)
Two buttons:
🟢 DONATE NOW (primary)
-
Large
-
Sticky on mobile
🔵 SHARE MY PAGE (secondary)
-
Opens:
-
Text
-
Facebook
-
Copy link
-
👉 Booster wins here — you must match or beat this
⚡ 3. QUICK DONATION BUTTONS
Pre-set amounts:
-
$25
-
$50
-
$100
-
$250
👉 Tap = prefilled checkout
🧠 4. STORY / PERSONAL TOUCH
Short customizable text:
“Hi! I’m raising money for my school to help with new equipment and events. Thank you for your support!”
👉 Let parents edit this
🎮 5. PRIZE PROGRESS (HIGHLY MOTIVATING)
Visual tracker:
-
🎯 $50 → Sticker ✅
-
🎯 $150 → T-shirt 🔒
-
🎯 $300 → VIP Event 🔒
👉 Kids LOVE this → drives sharing
🔥 6. LIVE ACTIVITY FEED
Examples:
-
“Grandma donated $50 ❤️”
-
“Uncle Mike donated $25”
-
“Emma reached her first goal!”
👉 This is HUGE for conversion
🧍♂️ 7. DONOR WALL
Optional toggle:
-
Names + amounts
-
Or anonymous
👉 Social proof = more donations
📱 8. STICKY FOOTER (MOBILE)
Always visible:
-
Donate button
-
Share button
💡 CRITICAL UX RULES
Tell Leap:
-
Page must load in <1.5 seconds
-
Donation = <30 seconds total
-
No login required
-
No friction
🎯 STUDENT PAGE WIREFRAME (SIMPLE)
[ Photo ]
Support Emma!
[ Progress Bar ]
$185 / $300
[ DONATE ] [ SHARE ]
[ $25 ] [ $50 ] [ $100 ]
[ Message ]
[ Prize Tracker ]
[ Activity Feed ]
[ Donor Wall ]
💥 NOW — HOW YOU SELL THIS (DEMO FLOW)
This is what closes schools FAST.
🎤 SALES DEMO SCRIPT (10 MIN CLOSE)
🟢 STEP 1: HOOK (1 min)
Say:
“What if your school could raise MORE money…
with LESS effort…
and parents actually enjoyed participating?”
🟢 STEP 2: PROBLEM (2 min)
“Traditional fundraisers are:
-
time consuming
-
low participation
-
outdated
-
and rely on selling products nobody wants”
🟢 STEP 3: INTRODUCE BOOST
“This is GiveHub Boost — a modern fundraising platform built for schools.”
🟢 STEP 4: SHOW STUDENT PAGE (WOW MOMENT)
👉 This is where you WIN
Walk through:
-
Student page
-
Donation in seconds
-
Share button
Say:
“Parents don’t sell anything…
they just share a link.”
🟢 STEP 5: SHOW LIVE DASHBOARD
-
Total raised
-
Participation
-
Leaderboards
Say:
“You see everything in real time.”
🟢 STEP 6: GAMIFICATION (EMOTIONAL SELL)
“Kids get excited.
Classes compete.
Schools hit goals faster.”
🟢 STEP 7: EVENT DAY (SELL THE EXPERIENCE)
“We turn fundraising into an EVENT — not a chore.”
-
Show live screen
-
Countdown
-
celebration
🟢 STEP 8: CLOSE
“Most schools raise significantly more than traditional fundraisers — with less effort.”
Then:
👉 “Want to try this for your next fundraiser?”
🧠 POSITIONING (IMPORTANT)
Never say:
❌ “like Booster”
Say:
✅ “modern digital fundraiser platform”
✅ “no selling required”
✅ “parent-driven fundraising”
🧨 YOUR ADVANTAGE (USE THIS)
You say:
“And unlike other platforms…
this connects directly into your donor system, reporting, and communications — all in one place.”
👉 That’s your killer differentiator
🔥 NEXT STEP (HIGH IMPACT)
Pick one and I’ll build it out for you:
1. 🎨 Pixel-perfect UI mockups (what Leap should build EXACTLY)
2. 📊 Admin dashboard layout (so it feels premium)
3. 💸 Pricing model (how you beat Booster financially)
4. 📣 Launch funnel (how you get your first 10 schools FAST)
Just tell me the number 👇
Lets Start with Step 1 "Pixel-perfect UI mockups (what Leap should build EXACTLY)" Then move on to steps 2, 3 and 4 please.
Perfect — we’re going to lock this in like a real product design spec so Leap builds it correctly the first time.
I’ll walk you through:
-
🎨 Pixel-perfect UI (Student Page + key screens)
-
📊 Admin Dashboard
-
💸 Pricing Strategy
-
📣 Launch Plan (get your first 10 schools FAST)
🎨 1. PIXEL-PERFECT UI MOCKUPS (LEAP BUILD SPEC)
This is written so you can copy/paste directly into Leap.
🧒 STUDENT PAGE — FINAL UI SPEC
🧱 Layout Rules
-
Max width: 480px (mobile-first)
-
Centered container
-
Background: #F8FAFC (light gray)
-
Card sections: white, rounded (16px), soft shadow
🔝 SECTION 1 — HERO
----------------------------------
| [ Student Photo - 96px circle ]
|
| Support Emma Johnson!
| (Bold, 22px)
|
| Help me raise money for
| Acworth Elementary (14px)
|
| [ Progress Bar ]
| $185 raised of $300 goal
----------------------------------
Styles
-
Name: font-weight: 700
-
Subtext: color: #6B7280
-
Progress bar:
-
Height: 10px
-
Radius: 999px
-
Color: GiveHub primary
-
💰 SECTION 2 — CTA BUTTONS
[ DONATE NOW ] (full width, primary)
[ SHARE MY PAGE ] (outline)
Styles
-
Height: 56px
-
Radius: 12px
-
Donate:
-
Background: GiveHub primary
-
Text: white
-
-
Share:
-
Border: 1px solid #E5E7EB
-
⚡ SECTION 3 — QUICK AMOUNTS
[ $25 ] [ $50 ] [ $100 ] [ $250 ]
Styles
-
Pill buttons
-
Radius: 999px
-
Selected = primary color fill
🧠 SECTION 4 — MESSAGE CARD
Hi! I'm raising money for my school...
Styles
-
Padding: 16px
-
Font: 14px
-
Background: white card
🎮 SECTION 5 — PRIZE TRACKER
🎯 $50 → Sticker ✅
🎯 $150 → T-Shirt 🔒
🎯 $300 → VIP Event 🔒
UX
-
Completed = colored + checkmark
-
Locked = gray + lock icon
-
Progress line between tiers
🔥 SECTION 6 — LIVE ACTIVITY
🔥 Recent Activity
• Grandma donated $50 ❤️
• Uncle Mike donated $25
• Emma hit her goal!
Behavior
-
Real-time updates (poll every 5–10 sec or websocket later)
🧍 SECTION 7 — DONOR WALL
Top Supporters
John D. — $50
Sarah M. — $25
Anonymous — $100
📱 STICKY FOOTER (CRITICAL)
[ Donate ] [ Share ]
-
Always visible
-
Height: 64px
-
Shadow on top
🚨 PERFORMANCE REQUIREMENTS
Tell Leap:
-
LCP < 1.5s
-
No blocking scripts
-
Lazy load images
-
Preload student data
🏫 CAMPAIGN PAGE (SHORT SPEC)
[ School Name ]
[ Total Raised: $12,540 ]
[ Progress Bar ]
[ Leaderboard Toggle ]
Top Classes:
1. 3rd Grade - $4,200
2. 5th Grade - $3,800
[ Countdown Timer ]
[ Donate to School ]
🎉 EVENT MODE SCREEN
FULLSCREEN MODE:
-------------------------
| $24,350 RAISED 💰 |
|
| GOAL: $30,000 |
|
| ⏱ 02:14:12 |
|
| 🔥 Emma just raised $50!
|
| [ Rotating Slides ]
-------------------------
📊 2. ADMIN DASHBOARD (PREMIUM FEEL)
🧱 Layout
Top row:
[ Total Raised ] [ Participation % ]
[ # of Donors ] [ Avg Gift ]
📈 Middle
-
Bar chart: donations by day
-
Pie chart: by grade/class
🏆 Leaderboards
Top Students
Top Classes
🚨 Alerts Section
-
“20 students haven’t registered”
-
“3 classes below average”
👉 This is HUGE for admins
📥 Actions
Buttons:
-
Export CSV
-
Send reminder
-
Add students
💸 3. PRICING STRATEGY (HOW YOU WIN)
🧠 Booster Weakness
-
High fees (30–50%)
-
Service-heavy
-
Locked contracts
🏆 YOUR MODEL
Option A (BEST)
👉 Flat Platform Fee
-
$1,500 – $3,500 per campaign
Option B
👉 Small % Fee
-
5–10% max
Option C (HYBRID 🔥)
-
$1,000 setup
-
-
5%
-
💡 My Recommendation
👉 Start with:
$1,500 flat OR 7% — whichever is higher
🧨 Positioning Line
“Schools keep more of what they raise.”
📣 4. LAUNCH PLAN (FIRST 10 SCHOOLS FAST)
🎯 TARGET
-
PTO/PTA leaders
-
Elementary schools
-
Churches with schools
🚀 STEP 1 — DEMO LIST
Get 20 schools:
-
Local Facebook groups
-
PTO contacts
-
Existing GiveHub clients
📧 STEP 2 — OUTREACH
Use this:
Subject
New Fundraiser That Raises More (Without Selling Anything)New Fundraiser That Raises More (Without Selling Anything)
Hi {{first_name}},
We just launched a brand new school fundraiser platform that’s helping schools raise more money — without selling products.
Instead of catalogs or order forms, each student gets a personal fundraising page that parents can share with family and friends.
It’s fast, simple, and fun — and schools are seeing incredible results.
We’re offering a few schools early access to try it out.
Would you be open to a quick 10-minute demo?
– Kyle
📞 STEP 3 — DEMO CALLS
Use script I gave earlier 👆
🎯 STEP 4 — CLOSE
Offer:
“Let’s pilot this for your next fundraiser.”
🔥 STEP 5 — SOCIAL PROOF
After 1st school:
-
Screenshot results
-
Testimonials
-
Case study
🧠 FINAL STRATEGY NOTE
You are NOT building:
❌ a feature
❌ a tool
You are building:
✅ a revenue engine for schools
👉 NEXT MOVE
If you want to go even deeper, I recommend:
🔥 Next options:
-
Full database + backend implementation plan for Leap
-
Exact React component structure (copy/paste code style)
-
Landing page that converts schools instantly
-
Gamification psychology (how to outperform Booster)
Just tell me 👍
ok lets do it
Let’s go — now we turn this into something Leap can actually build cleanly without breaking your stack.
We’ll do this in 3 parts:
-
🧱 Backend Architecture + DB (production-ready for GiveHub)
-
⚛️ Frontend Component Structure (React / Leap-friendly)
-
🧠 Gamification Psychology Engine (this is how you beat Booster)
🧱 1. BACKEND ARCHITECTURE (GIVEHUB-COMPATIBLE)
This is critical — we align with your existing patterns so it plugs into:
-
People (CRM)
-
Donations pipeline
-
Messaging
-
Multi-tenant org model
🧭 SERVICE STRUCTURE
Create new service:
backend/boost/
Modules:
boost/
campaigns.ts
students.ts
classrooms.ts
prizes.ts
activity.ts
stats.ts
🗄️ FINAL DATABASE SCHEMA (CLEAN VERSION)
campaigns
CREATE TABLE boost_campaigns (
id SERIAL PRIMARY KEY,
org_id INTEGER NOT NULL,
name TEXT NOT NULL,
type TEXT NOT NULL,
goal_amount INTEGER,
start_date TIMESTAMP,
end_date TIMESTAMP,
event_date TIMESTAMP,
theme TEXT,
status TEXT DEFAULT 'draft',
created_at TIMESTAMP DEFAULT NOW()
);
classrooms
CREATE TABLE boost_classrooms (
id SERIAL PRIMARY KEY,
org_id INTEGER NOT NULL,
campaign_id INTEGER NOT NULL,
name TEXT,
teacher_name TEXT,
grade TEXT,
total_raised INTEGER DEFAULT 0
);
students
CREATE TABLE boost_students (
id SERIAL PRIMARY KEY,
org_id INTEGER NOT NULL,
campaign_id INTEGER NOT NULL,
classroom_id INTEGER,
first_name TEXT,
last_name TEXT,
avatar_url TEXT,
goal_amount INTEGER,
slug TEXT UNIQUE,
access_code TEXT,
total_raised INTEGER DEFAULT 0,
created_at TIMESTAMP DEFAULT NOW()
);
🔥 IMPORTANT: DO NOT DUPLICATE DONATIONS
Instead, extend your existing donations table:
Add:
ALTER TABLE donations
ADD COLUMN campaign_id INTEGER,
ADD COLUMN student_id INTEGER,
ADD COLUMN classroom_id INTEGER;
👉 This keeps:
-
reporting unified
-
donor history intact
-
CRM clean
🎁 prize_tiers
CREATE TABLE boost_prize_tiers (
id SERIAL PRIMARY KEY,
campaign_id INTEGER,
amount_required INTEGER,
title TEXT,
description TEXT,
image_url TEXT
);
🏆 student_prizes
CREATE TABLE boost_student_prizes (
id SERIAL PRIMARY KEY,
student_id INTEGER,
prize_tier_id INTEGER,
earned_at TIMESTAMP DEFAULT NOW()
);
🔥 activity_feed
CREATE TABLE boost_activity (
id SERIAL PRIMARY KEY,
campaign_id INTEGER,
student_id INTEGER,
type TEXT,
message TEXT,
amount INTEGER,
created_at TIMESTAMP DEFAULT NOW()
);
🔗 2. CORE BACKEND FLOWS
💸 ON DONATION (MOST IMPORTANT HOOK)
Modify your existing donation flow:
if (req.campaign_id) {
// 1. Attach donation
donation.campaign_id = req.campaign_id
donation.student_id = req.student_id
donation.classroom_id = req.classroom_id
// 2. Increment totals
UPDATE boost_students SET total_raised += amount
UPDATE boost_classrooms SET total_raised += amount
// 3. Insert activity
INSERT INTO boost_activity (...)
// 4. Check prize unlock
runPrizeEngine(student_id)
}
🎯 PRIZE ENGINE
function runPrizeEngine(studentId) {
const total = getStudentTotal(studentId)
const tiers = getPrizeTiers(student.campaign_id)
for (tier of tiers) {
if (total >= tier.amount && !alreadyEarned) {
INSERT boost_student_prizes
INSERT boost_activity ("Emma unlocked T-shirt!")
}
}
}
📊 STATS ENDPOINT
GET /boost/campaigns/:id/stats
Return:
{
"totalRaised": 24500,
"participationRate": 72,
"avgDonation": 48,
"topStudents": [],
"topClasses": []
}
⚛️ 3. FRONTEND STRUCTURE (LEAP-FRIENDLY)
🧱 COMPONENT TREE
Student Page
StudentPage
├── HeroSection
├── CTAButtons
├── QuickAmounts
├── MessageCard
├── PrizeTracker
├── ActivityFeed
├── DonorWall
└── StickyFooter
🔥 KEY COMPONENTS (IMPORTANT)
HeroSection.tsx
Props:
student
campaign
Shows:
-
name
-
photo
-
progress
CTAButtons.tsx
Handles:
-
Donate click
-
Share modal
QuickAmounts.tsx
onClick(amount) → openCheckout(amount)
PrizeTracker.tsx
-
Fetch tiers
-
Compare with student total
-
Render unlocked vs locked
ActivityFeed.tsx
Polling:
setInterval(fetchActivity, 5000)
StickyFooter.tsx
Always visible:
-
Donate
-
Share
🎨 UI SYSTEM (IMPORTANT FOR LEAP)
COLORS
-
Primary: GiveHub brand
-
Success: #22C55E
-
Gray text: #6B7280
-
Background: #F8FAFC
SPACING
-
Section padding: 16px
-
Gap: 12px
-
Radius: 12–16px
TYPOGRAPHY
-
Headline: 22px bold
-
Body: 14–16px
-
Small: 12px
🧠 4. GAMIFICATION PSYCHOLOGY (THIS IS YOUR EDGE)
🎯 CORE PRINCIPLES
1. PROGRESS ADDICTION
People donate more when they see:
👉 “Almost there”
So:
-
Animate progress bar
-
Show % complete
2. SOCIAL PROOF
Show:
-
recent donations
-
names
-
activity
👉 “Others are giving → I should too”
3. URGENCY
Add:
-
countdown timer
-
“Ends in 2 days”
4. MICRO-WINS
Prize tiers:
-
small early wins
-
frequent rewards
5. COMPETITION
-
class leaderboard
-
optional toggle
6. SHARE LOOP (MOST IMPORTANT)
After donation:
👉 “Share Emma’s page”
This drives exponential growth
🔥 BONUS: POST-DONATION SCREEN
After checkout:
🎉 Thank you!
Help Emma reach her goal faster 👇
[ SHARE BUTTON ]
👉 THIS IS HUGE
🚀 WHAT TO TELL LEAP (FINAL MESSAGE)
Writing
We are now moving into full implementation of Boost.GiveHub.com.
Follow this architecture strictly:
-
Create a new boost service with campaigns, students, classrooms, prizes, and activity modules
-
Extend existing donations table (do NOT duplicate donations)
-
Hook into donation flow to:
-
update totals
-
trigger prize engine
-
log activity
-
Frontend must be component-based:
-
StudentPage with Hero, CTA, QuickAmounts, PrizeTracker, ActivityFeed, StickyFooter
Prioritize:
-
mobile-first performance
-
fast donation flow
-
real-time updates (polling OK for v1)
Gamification is NOT optional:
-
prize tiers
-
activity feed
-
progress indicators
Do NOT overbuild.
Ship V1 fast and iterate.
🧨 YOU ARE NOW AHEAD OF BOOSTER
What you’ve built here is:
-
cleaner
-
faster
-
more scalable
-
more profitable
