En Passant - Chess Tournament Platform
The project was built for the EN PASSANT Chess Tournament to replace manual tracking with an automated, live-updating digital platform. It highlights the intersection of procedural logic (tournament pairing) and modern web architecture.

About This Project
Implementing a fair Swiss-style pairing system that handles player eligibility, color balancing, and complex tie-break calculations like Buchholz.
Developed a backtracking search engine for legal pairings, implemented score-bracket sorting, and automated the round lifecycle through Supabase-backed server actions.
Successfully managed the EN PASSANT Chess Tournament with real-time updates and seamless match result processing.
Lead Developer
2024
Archived
Client
Technology Stack
Project Story
Implementing a fair Swiss-style pairing system that handles player eligibility, color balancing, and complex tie-break calculations like Buchholz.
Developed a backtracking search engine for legal pairings, implemented score-bracket sorting, and automated the round lifecycle through Supabase-backed server actions.
Successfully managed the EN PASSANT Chess Tournament with real-time updates and seamless match result processing.
Insights & Takeaways
Highlights
- Features a custom-built Swiss pairing engine with backtracking search.
- Includes an admin dashboard for player management and round control, protected by email-based middleware.
Challenges
- Backtracking search for legal pairs within score brackets to avoid rematches.
- Color balancing to ensure players don't play too many consecutive games with the same color.
- Automatic 'Bye' assignment for odd-numbered player counts based on rating criteria.
Lessons Learned
- Handling color streaks and rematches programmatically was the most challenging part, but it resulted in a fair and transparent competition.
Related Work
Case Study
Auto Shutdown
Rust + React desktop app to automate PC shutdowns by timer, schedule or idle state.
Case Study
Azkari
Lightweight desktop app that displays Azkar reminders based on time of day — built with Tauri, SolidJS, TypeScript and Rust.
Case Study
Chef Kit
Modern multilingual cooking app offering recipe discovery, chef profiles, inventory management, favourites and push notifications — built with Flutter, Dart and Flask.