
A video platform for campus stories across Australia.
Client
CampusReels
Role
Full Stack Developer
Timeline
Launching Soon
Category
web
PROJECT OVERVIEW
Overview.
CampusReels is a full-stack video review platform where students discover and share campus experiences through short-form videos (reels). Think TikTok/Instagram Reels, but specifically for university campus tours and reviews. It features AI-powered content moderation, real-time engagement, a robust admin dashboard, and an Instagram/TikTok-style vertical scroll feed.
THE CHALLENGE
International students lacked a dedicated platform to share authentic campus experiences, making it difficult for prospective students to get real insights about university life in Australia. Existing social platforms were too general-purpose, lacked campus-specific discovery, and had no built-in content moderation tailored to educational content.
Built a full-stack video review platform from the ground up with a TikTok-style vertical scroll feed, a 4-layer parallel AI moderation pipeline using Google Cloud APIs, real-time WebSocket engagement via Socket.IO, a comprehensive admin dashboard with RBAC, and direct-to-CDN video uploads via Cloudflare R2 presigned URLs — all containerized with Docker and deployed on Northflank.
THE SOLUTION
Gallery.
Complete platform walkthrough — TikTok-style vertical feed, reel upload with AI moderation, rich commenting with Tiptap editor, and admin dashboard.
VideoScroll-snap vertical video feed with Intersection Observer autoplay/pause, infinite scroll via TanStack React Query, and real-time engagement via Socket.IO.
VideoLanding page with hero section, platform stats, and campus discovery — built with Next.js 15 App Router and Framer Motion animations.
Home screen with Embla Carousel for featured reels, state-based filtering, and a 4-tier discovery algorithm ranking followed institutions, trending, recent, and long tail content.
User profile with engagement stats, creator analytics, and reel management — featuring Radix UI primitives and React Hook Form with Zod validation.
Admin dashboard with KPI cards, quick actions, and 4-tier RBAC (Super Admin → Admin → Creator → Member) — built with shadcn/ui + 16 Radix UI primitives.
Platform analytics with Recharts trend charts (7/28/90 day ranges), top institutions by reel count, and engagement metrics powered by 16 Mongoose models with text search indexes.
Platform settings with 25+ configurable toggles — registration, moderation thresholds, email alerts, upload limits, and super admin–locked settings.
Content moderation queue with approve/reject/escalate actions and bulk operations — backed by a 4-layer parallel AI moderation pipeline using Google Cloud Video Intelligence, Vision, NLP, and Speech-to-Text APIs.
TECHNOLOGY
Tech Stack.
Frontend
Next.js 15.1.3 (App Router, SSR, ISR)
Core framework
React 18.3.1 + TypeScript 5.8.3
Type-safe UI
Tailwind CSS 3.4
Custom HSL theme system (50+ CSS variables), dark/light/system
shadcn/ui + Radix UI (16 primitives)
Accessible components with Class Variance Authority variants
TanStack React Query v5
Infinite queries, optimistic updates, smart caching (5min stale, 10min GC)
Framer Motion 12 (LazyMotion)
Lazy-loaded animations — page transitions, carousels, stagger
Locomotive Scroll 5
Smooth scrolling on studio routes
Embla Carousel
Featured reels with spring-driven parallax + weighted scoring
TipTap
Rich text editor with @mentions, emoji picker, links, markdown
Recharts
Engagement trend charts in admin and creator dashboards
React Hook Form + Zod
Form management & validation
next-seo
Meta tags, OG tags, VideoObject structured data
Socket.IO Client
Real-time WebSocket communication
Lucide React + React Icons
Iconography
Backend
Node.js 20+ (Alpine Linux)
Runtime
MongoDB + Mongoose (16 models)
Primary database & ODM
NextAuth.js v4
Authentication (email/password + magic link + JWT sessions)
Socket.IO (port 3001)
Separate real-time server with HTTP bridge for API → socket emission
Sanity CMS
Headless CMS with GROQ queries and webhook sync to MongoDB
Resend
Transactional emails (verification, magic links, welcome)
Zoho SMTP (Nodemailer)
Admin alert emails with batch delivery
Cloudflare R2 (AWS SDK)
S3-compatible presigned URL direct uploads — browser to CDN
Web Push API
VAPID keys + Service Worker for push notifications
Infrastructure & DevOps
Docker (multi-stage Alpine)
Standalone output containerization
Northflank
Container orchestration & deployment
FFmpeg
Server-side frame and audio extraction for AI pipeline
Sharp
Server-side image processing & optimization
Google Analytics 4
Event tracking
CAPABILITIES
Key Features.
Video Platform & Discovery
Engagement & Social
Notifications
AI Content Moderation
Admin Dashboard
Creator Features
Auth & Security
INTELLIGENCE
AI / ML Pipeline.
A 4-layer parallel AI moderation pipeline that automatically screens every uploaded video. All checks run in parallel using a worst-status-wins aggregation.
Video Intelligence
@google-cloud/video-intelligenceScans entire video for explicit/adult visual content
- Full video scan for explicit content
- Confidence-based decisions (Likely/Very Likely = Rejected, Possible = Needs Review)
Vision SafeSearch
@google-cloud/visionFrame-by-frame image safety analysis
- Extracts up to 20 frames (1 every 3 seconds) via FFmpeg
- Checks 5 categories: Adult, Violence, Racy, Medical, Spoof
- Batch processes 5 frames at a time
Natural Language
@google-cloud/languageText toxicity analysis on metadata
- Analyzes title + caption + tags combined
- Detects: Toxic, Violent, Sexual, Derogatory, Insult, Profanity, Death/Harm
Speech-to-Text
@google-cloud/speechAudio transcription for content screening
- Extracts audio via FFmpeg and transcribes it
- Infrastructure for audio content toxicity detection
How It Works
All 4 checks run in parallel, and the system uses a worst-status-wins aggregation — if any single check flags content, the entire reel is flagged. Results include confidence scores, frame counts analyzed, and processing times.
IMPACT
Results.
ENGINEERING