Software engineer who builds web, mobile and backend systems end to end. Since 2025 I have designed, built and run Caissify on my own: a Django/DRF API with Celery and WebSockets, a Vue 3/TypeScript web app, Flutter apps on the App Store and Google Play, and a Rust/Tauri desktop app. Its open-source FIDE pairing engine (caissify-pairings on PyPI) showed 0 discrepancies against bbpPairings across 10,000 simulated tournaments. Before that, ten years building production web applications and APIs in PHP/Laravel and Ruby on Rails. I work with Claude Code and Cursor every day, with written rules, CI and code review. Chess player and coach.
Caissify · Founder & Lead Engineer (self-directed) |
Jun 2025 – Present |
Chess learning and tournament platform that I designed and built as the only engineer: about 2,000 commits across 12 repositories since June 2025.
- Django 5.2 / DRF API with about 330 API operations and about 1,050 tests, running on Railway as four services from one Docker image (web, Celery worker, Celery beat, WebSockets). CI runs the tests against PostgreSQL and Redis.
- Real-time live lessons and games on Django Channels: room state in Redis, every event stored in a PostgreSQL event log, and state rebuilt from the log after a restart.
- Flutter app for iOS and Android, live on the App Store and Google Play, in English and Spanish, with push notifications and on-device Stockfish analysis.
- Vue 3 + TypeScript web app with Stockfish compiled to WebAssembly in a Web Worker and an OpenAPI-generated API client.
- Offline-first desktop app for tournament arbiters that syncs with the API through idempotency keys, so a retried request never applies twice.
- Own Glicko-2 rating implementation for puzzles and players, checked against Glickman's published worked example.
Stack: Python, Django, Django REST Framework, Celery, Django Channels, PostgreSQL, Redis, Vue 3, TypeScript, Flutter, Rust, Tauri, Docker, Railway, GitHub Actions ·
caissify.com ·
App Store ·
Google Play
caissify-pairings: open-source FIDE pairing engine · Author and maintainer (open source) |
Apr 2026 – Present |
Pure-Python library for chess tournament pairings, published on PyPI (12 releases).
- Implements the FIDE Dutch Swiss system with Baku acceleration, FIDE Berger round-robin and a casual Swiss mode, plus TRF16 import and export.
- Pairs each round with maximum-weight matching (Edmonds' blossom algorithm); the edge weights encode the FIDE criteria.
- 0 discrepancies against bbpPairings, FIDE's reference engine, across 10,000 simulated tournaments. Not FIDE-endorsed.
- 252 tests, run in CI on Linux and macOS with Python 3.10 to 3.13.
Caissify Tournament Manager (desktop) · Founder & Lead Engineer (self-directed) |
Apr 2026 – Present |
Offline-first desktop app for chess arbiters: Swiss and round-robin pairings, TRF16 import/export, tiebreaks, PDF sheets and one-click sync to the cloud.
- Rust backend with SQLite, React 19 + TypeScript front end, English and Spanish.
- Ships the Python pairing engine inside the app as a self-contained sidecar.
- GitHub Actions builds signed installers for macOS (notarized), Windows and Linux; CI runs type checks, tests, cargo fmt and clippy.