Skip to main content
Jimmy Wang
Back to list

Jun 2023

Puzzle and Key Universe (PnKU) Website

An open-source platform for Puzzle Hunt events; contributed as a core collaborator across platform features, event-specific development, and production operations.

  • React
  • TypeScript
  • Python
  • Ant Design
  • Puzzle Hunt
  • Operations

Project overview

PnKU Website is an open-source platform for running Puzzle Hunt events. I joined in June 2023 as a core contributor, but I am not the project’s primary lead. Development is event-driven: the platform remains in maintenance between events, with focused development as each new event is prepared.

The platform has supported PnKU2, PnKU3 Part I, and PnKU3 Part II. Both the platform and each event are collaborative efforts involving multiple contributors.

P&KU3 Part I event homepage
P&KU3 Part I homepage; key artwork © Winfrid

Platform architecture

The public repository uses React, TypeScript, Vite, and Ant Design on the frontend, alongside Tailwind CSS, React Router, and SWR. Its Python backend includes Sanic, Flask, Pydantic, and SQLAlchemy, with MariaDB / MySQL for storage and Docker plus Nginx for deployment.

The server models event behavior as a state machine: the database primarily stores operations, while current state is computed and retained in memory. This is the project’s shared architecture, not a system I claim to have designed independently.

Platform contributions

My regular work has focused on frontend development, including in-site messaging, support tickets, and hints.

For individual events, I have also implemented selected puzzles with complex interactions. That work included both their frontend experiences and the corresponding Python adhoc state-transition logic. The screenshot below demonstrates the type of event-specific interface supported by the platform; authorship of the pictured puzzle is separate from my platform contributions.

Interactive puzzle page from P&KU3 Part I

Interactive puzzle page from P&KU3 Part I; puzzle author: esc

Event scale and operations

The latest event served more than 700 active teams and approximately 2,000 users. I also supported production operations as one member of a three-person operations team, helping diagnose incidents, execute recovery, and monitor the service through restoration.

The event experienced two service interruptions lasting at least 10 minutes, along with several shorter fluctuations and live updates. I directly executed the recovery procedure for one of the two longer interruptions. This gave me hands-on experience with the full path from incident detection to service restoration at real event scale; unconfirmed root causes, exact recovery times, and availability metrics are intentionally omitted.

Current status

The project is currently maintained between events. New development is concentrated around future event preparation and the requirements of each event.