TS
Back to Projects

Decrypt CTF Platform

Full-featured competitive programming platform with challenges, real-time leaderboards, certificates, and admin panel for Devs@PSU CTF events

React 18TypeScriptTailwind CSSSupabaseViteshadcn/uiPostgreSQL
View on GitHub

The Problem

Running cybersecurity competitions requires expensive platforms or complex self-hosted solutions. Devs@PSU needed a custom platform that could handle coding challenges, track progress, manage participants, and award certificates - all with a cyber-themed aesthetic.

The Approach

Built a complete competition platform from scratch:

Challenge System:

  • Multiple coding challenges with varying difficulty levels
  • Real-time submission validation
  • Progress tracking per user
  • Hint system with point penalties

Competition Features:

  • Real-time leaderboard with live score updates
  • User profiles with statistics and achievements
  • Certificate generation for participants
  • Event management with start/end times

Admin Panel:

  • Challenge creation and management
  • User administration and role assignment
  • Event settings and configuration
  • Analytics and participation tracking

Technical Stack:

  • React 18 with TypeScript for type safety
  • Cyber-themed UI with Tailwind CSS
  • Supabase for real-time database and auth
  • Vite for fast builds and HMR

The Impact

Successfully hosted multiple CTF events for Devs@PSU with 20+ participants each. Platform handles real-time scoring, certificate generation, and event management. PWA-ready with service worker caching for offline access.

Build Notes

Database Schema:

  • profiles - User information and roles
  • challenges - Challenge definitions with difficulty
  • challenge_progress - User submissions and scores
  • user_summary - Aggregated statistics
  • certificates - Certificate records
  • event_settings - Global configuration

Performance Optimizations:

  • Code splitting and lazy loading
  • Image optimization
  • Font preloading
  • CSS purging
  • Service worker caching
  • PWA manifest for mobile