SK.
Back to all projects

Atlas: Open-Source CTF Platform

Production CTF platform that scaled to 250+ participants and 100+ teams during Web Club CTF 2025

Full Stack Open Source
/
2 min read
Atlas: Open-Source CTF Platform

The Problem

Running a Capture The Flag (CTF) competition requires a robust platform that can handle real-time scoring, team management, and concurrent usersβ€”all while maintaining security and fairness.

The goal: Build an open-source CTF platform capable of handling large-scale competitions.

Technical Implementation

Architecture

Built a full-stack platform with a Django backend and React frontend:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  React Frontend │────▢│  Django Backend │────▢│   PostgreSQL    β”‚
β”‚  (Competition   β”‚     β”‚  (API + Auth +  β”‚     β”‚  (Challenges +  β”‚
β”‚   Dashboard)    β”‚     β”‚   Scoring)      β”‚     β”‚   Submissions)  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Key Technical Implementations

FeatureImplementationResult
Real-time ScoringWebSocket + Django ChannelsLive leaderboard updates
User AuthenticationDjango Auth + JWTSecure team-based access
Team ManagementCustom Django modelsFlexible team creation/joining
DeploymentDocker containerizationStable, reproducible deployment
DatabasePostgreSQLACID compliance for scoring integrity

Production Results: Web Club CTF 2025

Successfully deployed and operated during Web Club CTF 2025:

  • 250+ participants actively competing
  • 100+ teams registered and playing
  • Zero downtime throughout the competition
  • Real-time scoring with sub-second leaderboard updates

Tech Stack Rationale

Why Django?

  • Robust ORM for complex challenge/submission relationships
  • Built-in admin for challenge management
  • Excellent security defaults for a competition platform

Why Docker?

  • Consistent environment across development and production
  • Easy horizontal scaling if needed
  • Simplified deployment for other CTF organizers

What I Learned

What Worked Well

  1. Django’s ORM: Made complex queries for scoring and leaderboards straightforward.

  2. Docker containerization: Deployment was smooth and reproducible.

  3. Real-time architecture: WebSocket integration provided excellent user experience.

Future Plans

  1. Add challenge isolation: Sandboxed execution for dynamic challenges.

  2. Improve scalability: Add Redis caching for leaderboard queries.

  3. Enhance analytics: Post-competition statistics and insights.

Open Source

Atlas is maintained as an open-source project under the Web Enthusiasts’ Club at NITK.

Related Projects