Team project

Zenith.

A team-based online cryptic hunt: twenty levels of image, audio and text clues, a live leaderboard, and a server built for everyone submitting at once.

In a hunt, every team hits the server at the same moments: the start, each new level and the final minutes. The platform had to stay fast through those spikes, keep the leaderboard honest, and shrug off anyone trying to brute-force answers.

  • Concurrent users

    1000+

    during live competition.

  • Response time

    < 100 ms

    through submission spikes.

  • Levels

    20

    image, audio and text clues.

  • Rate limit

    50/min

    requests per IP, on top of NGINX limits.

How it works

From sign-up to leaderboard.

  1. Register

    Teams sign up with a leader and members. Zod validates every payload and passwords are hashed with bcrypt.

  2. Sign in

    A short-lived JWT access token and a seven-day refresh token live in cookies, so the API stays stateless and needs no session lookups.

  3. Solve

    Levels unlock in order. Each answer is checked on the server, and the time taken on every level is recorded against the team.

  4. Rank

    The leaderboard is calculated from levels solved and time taken, and shown as a progress graph per team.

  5. Hold the line

    Cloudflare absorbs DDoS traffic, NGINX rate-limits and load-balances in front of Node, and the app caps each IP at 50 requests a minute.

Tech stack

What it's built with.

Backend

Node.js, Express
Routes for auth, levels and the leaderboard
MongoDB, Mongoose
Teams, users and per-level timing
JWT, bcrypt
Stateless sign-in with access and refresh tokens
Zod
Validating sign-ups and answers
Helmet, express-rate-limit
Headers and per-IP limits
Nodemailer
Account emails

Frontend

HTML, CSS, JavaScript
Hunt, leaderboard and team pages
three.js
A 3D model with ASCII and glitch effects on the home page

Infrastructure

NGINX
Reverse proxy, rate limiting and load balancing
Cloudflare
DDoS mitigation
AWS
Hosting

My part

What I built.

  • Built a competition platform serving 1000+ concurrent users at sub-100 ms response times, with real-time leaderboard calculation and stateless JWT auth to keep the database out of the way during submission spikes.
  • Secured the deployment with Cloudflare DDoS mitigation and NGINX reverse-proxy rate limiting and load balancing.

Next project

ZaiGuard

Hiring for backend, forward-deployed or GPU work? Let’s talk.

saxena.shikhar1808@gmail.com