← Všechny projekty

Programování

Swarm Chess

Dodávka od začátku do konce, v produkci nonstop: sám jsem ji navrhl, postavil, nasadil a provozuji. Šachová platforma, kde o každém tahu hlasuje celý tým, až 1 000 hráčů v jedné partii. Nabízí i trénink se Stockfishem, turnaje a dril zahájení. Postavená na Reactu, FastAPI a PostgreSQL.

Rok
2025–2026
Obor
Programování
Nástroje
React, TypeScript, FastAPI, PostgreSQL, Stockfish
swarm-chess.com

Od nápadu po provoz, 24/7

Swarm Chess je moje ukázka dodávky od začátku do konce. Nejde o prototyp ani demo. Je to skutečný produkt se skutečnými hráči, který běží v produkci 24 hodin denně, a každý krok mám na starosti já:

  • nápad a návrh produktu
  • frontend, backend a databáze
  • testování a CI/CD
  • nasazení a hosting
  • monitoring, zálohy a vydávání verzí

Nové verze vycházejí, zatímco lidé hrají, aniž by jim web spadl.

Proč

Začalo to jako trenér pro mé vlastní šachy: cvičení z mých chyb a trénink zahájení, která hraji. Pak přišla otázka, která dala projektu jméno: co kdyby jednu stranu hrál celý tým a o každém tahu hlasoval?

Co umí

  • Swarm Chess. Jednu stranu ovládá mnoho hráčů, kteří hlasují o každém tahu, až 1 000 hráčů v jedné partii.
  • Všechno ostatní, co šachový web potřebuje. Hra proti Stockfishi nebo s kamarádem, turnaje a trénink z vlastních chyb.

Jak je postavený

  • Frontend: React a TypeScript, Stockfish běží v prohlížeči jako WebAssembly.
  • Backend: Python FastAPI se Stockfishem na serveru, takže i telefon dostane analýzu v plné síle.
  • Data: PostgreSQL, živé aktualizace hlasů, tahů a chatu chodí všem hráčům přes server-sent events.
  • Provoz: Docker kontejnery za Caddy na jednom malém serveru, nasazení jedním skriptem.

Píší ho agenti, nasazuje se bezpečně

Většinu kódu píšou AI agenti (Claude Code), několik najednou, každý ve vlastním git worktree a větvi. Pracují podle společných pravidel v repozitáři, takže každá session se při vydávání řídí stejně:

  • CI při každém pushi. GitHub Actions při každém pushi a pull requestu spustí kontrolu typů, lint, testy frontendu a build, pak unit testy backendu se skutečným Stockfishem. Workflow má do repozitáře jen přístup pro čtení a jeho akce jsou připnuté na konkrétní commity.
  • Žádné zastaralé nasazení. Nasazovací skript odmítne nasadit, pokud strom neobsahuje nejnovější dev nebo má necommitnuté změny, takže jeden agent nikdy nevrátí práci jiného.
  • Každá viditelná změna je release. Agent, který změní cokoli, čeho si hráč všimne, musí zvýšit verzi a přidat srozumitelný záznam do panelu „Co je nového“ v aplikaci. Verze se čte z jednoho místa.
  • Změny databáze jsou migrace. Schéma se mění jen číslovanými, idempotentními migračními soubory, které se samy zaregistrují. Agenti před změnou schématu zkontrolují odchylky a cokoli destruktivního čeká na moje ano.

Aktualizace bez rozbitých partií. Nasazení ohlásí údržbu všem, kdo jsou online, a během dvouminutového odpočtu sestaví nové image. Pak čistě ukončí rozehrané partie a přepne. Turnajové zápasy přerušené restartem se znovu zařadí do fronty, takže se žádný pavouk nezasekne. Záložka prohlížeče, ve které ještě běží stará verze, se sama znovu načte, jakmile požádá o kód, který už neexistuje, a pojistka zajistí, že se nezacyklí.

Kde je teď

Běží v produkci nonstop na swarm-chess.com.

Chcete něco podobného?

Napište mi, co máte na mysli. Odpovídám do dvou pracovních dnů.

Napište mi