Projekt własnyStan na 07.10.2026Aplikacja webowa (PWA)Stockfish w przeglądarcePo polsku
Szachmaty.pl, aplikacja do nauki szachów
szachmaty.pl to darmowa aplikacja do nauki szachów po polsku dla dorosłych początkujących i osób, które wracają do szachów po latach (orientacyjnie 400–1200 Elo). Stan na 7 października 2026: 451 interaktywnych lekcji, ponad 22 tysiące zadań, 55 przeciwników i 22 debiuty.
Zaczęła się w lipcu jako prosty trener po partii. Dziś to dopracowany produkt z własną marką, codziennym celem, karierą przeciwników i analizą partii. Silnik liczy na urządzeniu użytkownika, a do nauki nie trzeba konta.
Ekran Start prowadzi jedną drogą: karta „Następny krok” z planszą i jednym przyciskiem, obok poziom gracza, cel na dziś i postęp tygodnia. Niżej zadanie dnia do rozwiązania od razu, mapa kariery i wszystkie narzędzia.
Podgląd strony szachmaty.pl na komputerze i telefonie, z możliwością przewinięcia całej strony
Zrzuty z produkcji z 7 października 2026, nowy użytkownik bez zgody na statystyki.
Skąd pomysł
Igor zaczął uczyć się szachów i szybko utknął
Wracał do szachów jako dorosły, po latach przerwy. Grał partię, przegrywał, klikał „analizuj” i dostawał ścianę liczb: minus 2,7 piona, potem minus 4,1, potem mat. Wiedział, że coś zrobił źle. Nie wiedział co.
Duże serwisy robią to świetnie dla ludzi, którzy już rozumieją szachy. Dla kogoś, kto zaczyna, są jak kokpit samolotu. Do tego prawie wszystko jest po angielsku, a polskie materiały to zwykle statyczne artykuły: przeczytasz o widełkach i dalej nie umiesz ich zagrać.
Chciał czegoś prostego: żeby po partii ktoś powiedział mu po polsku jednym zdaniem, gdzie był najdroższy moment, dlaczego to był błąd, i dał zadania na dokładnie ten motyw. Nie znalazł, więc zbudowaliśmy to sami.
● Zasada prywatności
Do nauki nie trzeba konta ani e-maila
Postęp, partie i statystyki zapisują się w przeglądarce użytkownika. Co wychodzi poza nią i kiedy, opisujemy niżej w sekcji o prywatności.
Wygląd i marka
Z narzędzia w produkt
Pierwsza wersja z lipca działała, ale wyglądała jak panel programisty. Na przełomie września i października aplikacja dostała nową identyfikację i przebudowę wszystkich ekranów: znak z koniem w birecie, krój Figtree, granat jako tło dla najważniejszych kart, pomarańcz dla akcji i mięta tylko dla „dobrze”.
Najpierw makieta, potem kod. Każdy ekran ma rysunek docelowy i kontrakt z mierzalnymi warunkami: najmniejszy rozmiar tekstu, wagi pisma, promienie kart. Wdrożenie porównujemy ze zrzutem obok makiety.
Codzienny rytm zamiast menu. Start pokazuje jeden następny krok, cel na dziś (lekcja, trzy zadania albo partia), serię dni i cel tygodnia, który użytkownik sam ustawia.
Jasny i ciemny motyw, kilka kolorów planszy i zestawów figur, dźwięki i wibracje do wyłączenia w ustawieniach.
Szybkość mierzona, nie deklarowana. Czas ładowania, opóźnienie planszy iBudżety czasu ładowania i opóźnienia planszy pilnuje skrypt, a przekroczenie blokuje wydanie.nbsp;przesunięcia układu mierzą skrypty uruchamiane przed każdym wydaniem.
Decyzje techniczne
Trzy decyzje, które ustawiły cały projekt
Każda z nich zapadła na starcie i każda została, mimo że aplikacja urosła kilkukrotnie.
01 · ARCHITEKTURAPliki statyczne
Bez własnego serwera aplikacji
Postęp lekcji, historia i statystyki zapisują się w pamięci przeglądarki. Utrzymanie kosztuje tyle, co hosting plików statycznych, a kopia zapasowa to plik, który użytkownik pobiera sam.
02 · SILNIKWebAssembly
Silnik liczy w przeglądarce
Stockfish 18 (lite z siecią NNUE) działa jako WebAssembly w osobnym wątku. Liczy na procesorze użytkownika, nie obciąża serwera i pozwala grać bez internetu.
03 · DŁUGOWIECZNOŚĆCzyste moduły ES
JavaScript bez frameworka
Zero Reacta. Źródła to zwykłe moduły ES, a przy publikacji łączy je esbuild w lżejszą paczkę. Projekt nie zależy od frameworka, który za dwa lata trzeba będzie przepisywać.
Zakres
Co jest w środku
Kilka modułów, każdy działa samodzielnie, wszystkie dzielą jeden silnik lekcji i jedną szachownicę. Zrzuty pochodzą z produkcji z 7 października 2026, z konta nowego użytkownika.
Nauka: 451 lekcji w 89 rozdziałach
Od nazw pól i ruchów figur, przez matowanie, taktykę, debiuty i końcówki, po podstawy strategii. Lekcja nie jest artykułem: każdy krok to pozycja do obejrzenia, figura do poprzesuwania, zadanie na planszy albo pytanie. Po dwóch nieudanych próbach przychodzi podpowiedź, a postęp zapisuje się sam.
Pulpit Nauki pokazuje następną lekcję, polecane zadanie i przeciwnika, serię dni i procent ukończenia całego programu.
Pulpit Nauki: następna lekcja, pozycja do rozwiązania i postęp całego programu.
Zadania: ponad 22 tysiące pozycji
458 zadań w 74 kategoriach przygotowanych pod lekcje: maty, widełki, związania, przeciążenie, zugzwang, a do tego kalkulacja, wybór planu, partie modelowe i końcówki. Trening rankingowy i Szturm (zadania na czas) dobierają do poziomu gracza ponad 21 tysięcy kolejnych pozycji.
Do tego 22 ćwiczenia końcówek z silnikiem, potwierdzone bazą końcówek, i trening współrzędnych na 30 sekund. Każde zadanie z lekcji jest sprawdzone programowo: legalność pozycji, legalność rozwiązania i jednoznaczność odpowiedzi.
Zadania: trening rankingowy, Szturm, współrzędne, końcówki z silnikiem i filtry według motywu, debiutu i długości.
Kariera szachisty: 55 przeciwników w siedmiu rozdziałach
Zamiast suwaka „poziom trudności od 1 do 10” jest drabina postaci: od ławek w parku (około 150 Elo) przez kawiarnię, świetlicę, klub, ligę i mistrzostwa po panteon. Każda postać ma charakter i konkretną słabość: jedna bije wszystko, co się rusza, inna wyprowadza hetmana w trzecim ruchu.
Boty nie grają losowo, tylko popełniają ludzkie błędy, bo losowy ruch od razu czuć sztucznością. Pokonany przeciwnik trafia do kolekcji, z którą można grać swobodnie. Obok jest gra z silnikiem od około 600 Elo do pełnej siły, gra we dwie osoby na jednym ekranie i gra ze znajomym przez sieć.
Wejście do kariery: trzy drogi dobierają startowy rozdział do poziomu gracza.Kolekcja przeciwników: każda postać ma siłę, charakter i słabość do wykorzystania.
Analiza partii z wyjaśnieniami po polsku
Wklejasz zapis partii, wskazujesz plik albo podajesz nazwę konta w Lichess lub Chess.com, a aplikacja pobiera ostatnie publiczne partie. Silnik przechodzi partię ruch po ruchu, klasyfikuje każdy ruch, liczy celność i rysuje wykres przebiegu.
Najważniejsza część: aplikacja wybiera najdroższy moment partii, tłumaczy go jednym zdaniem po polsku i proponuje zadania na ten sam motyw. To jest funkcja, dla której powstał cały projekt.
Wyniki wielu analiz składają się w profil powtarzalnych błędów według taksonomii 27 typowych pomyłek gracza na poziomie 400–1200 Elo. Ekran Wnioski zamienia go w kolejność pracy i zestawy zadań według motywów.
Partia z silnikiem: pomoc do nauki z oceną pozycji, podpowiedzią i cofnięciem ruchu, wszystko do wyłączenia.
Trener debiutów: 22 repertuary
System Londyński, Partia Włoska, Obrona Sycylijska, Caro-Kann, Obrona Słowiańska, Gambit Hetmański i szesnaście innych. Uczysz się ich tak, jak potem zagrasz: wykonujesz swoje ruchy, przeciwnik odpowiada, a błędny ruch jest poprawiany bez przerywania linii. Obok linii stoi krótkie wyjaśnienie, o co w danym otwarciu chodzi.
Repertuary z miniaturą pozycji, kolorem, którym się gra, i poziomem zaawansowania.
Na telefonie
Ten sam produkt w układzie aplikacji mobilnej: dolny pasek z pięcioma sekcjami, przycisk główny w zasięgu kciuka, plansza na całą szerokość. Po pierwszym wczytaniu aplikację da się dodać do ekranu telefonu i używać bez zasięgu, razem z silnikiem.
NaukaZadaniaBoty
Do tego
Pomoce w trakcie gry
Pasek oceny, podpowiedź w postaci strzałki i jednego zdania, ostrzeżenie przy poważnym błędzie z możliwością cofnięcia, pytanie „jaki jest Twój plan?” przed ruchem. Wszystko wyłączalne.
Twoje partie i Wnioski
Wszystkie partie z wynikiem i analizą, średnia celność w czasie, najczęstsze błędy i zadania dobrane do słabych motywów.
Działa offline
Aplikacja instaluje się jak program. Tryb bez sieci ma osobny test, który wyłącza połączenie i przechodzi aplikację od nowa.
Własna szachownica
Bez gotowych bibliotek planszy: przeciąganie i klikanie, potwierdzenie ruchu, kilka motywów kolorystycznych i zestawów figur.
Pakiet dla trenera
23 arkusze i 184 pozycje treningowe ze scenariuszem zajęć na 45 minut i programem na osiem tygodni. Bezpłatny pilotaż.
Galeria mistrzów
20 przystępnych biografii, oś czasu i najważniejsze rywalizacje. Każda sylwetka prowadzi do partii z botem zbudowanym wokół podobnej idei gry.
Prywatność i bezpieczeństwo
Najlepszy sposób na ochronę danych to ich nie zbierać
Ta sama zasada, którą stosujemy na stronach klientów: dane, które nie muszą opuszczać przeglądarki, zostają w niej.
Bez konta i bez profilowania
Do nauki nie trzeba rejestracji, logowania ani hasła. Postęp, partie i analizy zapisują się w pamięci przeglądarki, a aplikacja sama przypomina o kopii zapasowej.
Statystyki tylko za zgodą
Analityka włącza się dopiero po kliknięciu „Zgadzam się”. Odmowa jest równie łatwa jak zgoda, a bez zgody aplikacja działa tak samo.
Twarda polityka treści (CSP)
Nagłówki bezpieczeństwa w jednym pliku, pilnowane testem, który uruchamia prawdziwy silnik pod prawdziwym CSP. Skrypty inline mają liczone skróty zamiast rozluźniania polityki.
Fonty i silnik na własnym serwerze
Bez Google Fonts i bez zewnętrznych CDN w ścieżce krytycznej.
Co wychodzi poza przeglądarkę
Import partii pobiera dane z Lichess albo Chess.com, gdy podasz nazwę konta w tym serwisie.
Gra ze znajomym łączy dwie przeglądarki przez publiczny serwer pośredniczący.
Statystyki odwiedzin działają dopiero po zgodzie.
Projekt pilnuje dziś 67 plików testów całościowych (Playwright), które przeklikują aplikację w przeglądarce: karierę, lekcje, analizę, tryb offline, dostępność i nagłówki bezpieczeństwa.
Pod nimi stoi 259 plików testów jednostkowych na samą logikę: reguły gry, klasyfikację ruchów, detektory błędów, poprawność zadań. Przy projekcie tej wielkości bez nich każda zmiana byłaby ruletką.
Treść i widoczność
Aplikacja to połowa projektu. Druga połowa to treść.
Obok aplikacji stoją strony poradnikowe po polsku: zasady gry, roszada, bicie w przelocie, pat i remis, wartość figur, osobne strony debiutów, ranking Elo, sylwetki mistrzów. Każda ma żywą szachownicę w treści: nie czytasz o roszadzie, tylko ją wykonujesz.
Cztery katalogi tematyczne (27 pojęć, 15 wzorców matowych, 13 obowiązkowych końcówek, 14 motywów taktycznych) powstają z tych samych rejestrów, na których pracuje aplikacja, więc nie mogą rozjechać się z jej treścią. Każde twierdzenie o diagramie (że to mat, że to pat) jest przy generowaniu przeliczane programowo.
Osobno stoi biblioteka wiedzy: 40 autorskich syntez o kalkulacji, końcówkach, strategii i metodyce nauczania, katalog 177 książek z samymi metadanymi oraz dwa przewodniki po klasykach w domenie publicznej (Capablanca 1921, Steinitz 1889), z linkami do skanów w bibliotekach cyfrowych, a nie tłumaczenia ani kopie.
Razem 329 adresów w mapie strony (07.10.2026), wyłącznie po polsku, plus opis serwisu dla asystentów AI w pliku llms.txt.
329
adresów w mapie strony
Po polsku
cała aplikacja i strony poradnikowe
0 zł
koszt dla użytkownika, bez reklam
Uczciwie o błędach
Cztery rzeczy, które poszły źle i czego nauczyły
Opisy realizacji zwykle pokazują tylko finał. To projekt własny, więc możemy pokazać też koszty. Wszystkie cztery błędy przełożyły się potem na pracę u klientów.
1. Tłumaczenie maszynowe przetłumaczyło protokół silnika
Wersje obcojęzyczne powstały skryptem, który tłumaczył wszystko, co wyglądało na tekst, w tym komendy, którymi aplikacja rozmawia z silnikiem. W trzech wersjach silnik przez pewien czas „grał”, ale nie widział planszy. Wyglądało to jak dziwnie słaby przeciwnik, nie jak awaria.
Wniosek: automat nie odróżnia treści od kodu. Wersje obce wycofaliśmy w całości i dziś aplikacja jest tylko po polsku. Ta sama lekcja dotyczy każdej wielojęzycznej strony klienta.
2. Tryb offline nie działał, choć wyglądał, że działa
Lista plików do zapisania w pamięci pomijała 89 obrazów i ponad połowę modułów. Aplikacja uruchamiała się bez internetu, ale rozsypywała się przy pierwszym wejściu głębiej. Nikt tego nie zgłosił, bo nikt celowo nie testuje pracy bez sieci.
Wniosek: „działa” i „działa w warunkach, dla których to zbudowano” to dwie różne rzeczy. Dziś tryb offline ma osobny test.
3. Dwa testy świeciły na zielono, nie sprawdzając niczego
W dwóch testach wzorzec wyszukiwania zawierał niewidzialny znak sterujący zamiast zamierzonego symbolu. Testy przechodziły zawsze, niezależnie od tego, co robiła aplikacja.
Wniosek: zielony test to nie dowód. Dowodem jest test, który potrafisz celowo zepsuć i zobaczyć, że zapala się na czerwono. Tak sprawdzamy teraz każdy nowy test, w projektach własnych i u klientów.
4. Nowe strony wyglądały poprawnie w kodzie i ładowały się bez stylów
Generator katalogu pojęć wstawiał odnośniki do arkuszy stylów tak, jak wyglądały na stronach o jeden poziom płycej. Kilkadziesiąt stron wchodziło jako goły tekst, a testy tego nie widziały, bo sprawdzały treść, a nie to, czy zasoby istnieją.
Wniosek: generowanie stron oszczędza czas i dokładnie tak samo skaluje pomyłkę. Każdy generator ma teraz test, który odpytuje serwer o każdy zasób z wygenerowanej strony.
Autorska szachownica (bez bibliotek)Stockfish 18 w WebAssemblyKariera z 55 przeciwnikamiGra z silnikiem od ~600 EloGra ze znajomym i we dwie osobyTrening rankingowy, Szturm i powtórkiAnaliza partii z wyjaśnieniami po polskuProfil błędów i WnioskiImport PGN oraz partii z Lichess i Chess.comCel dnia i cel tygodniaTryb offline i instalacja na telefonieJasny i ciemny motywStrony poradnikowe generowane z danychPakiet dla trenera (23 arkusze)Nagłówki bezpieczeństwa i CSP
Wsparcie
Aplikacja jest darmowa i taka zostanie
Nie ma reklam, nie ma wersji premium i nie ma sprzedaży danych. Utrzymanie to hosting i domena, a rozwój to czas po godzinach.
Jeśli komuś ta aplikacja realnie pomogła i chce, żeby powstawało więcej lekcji i zadań, może wesprzeć projekt na Patronite. To dobrowolne i nic nie odblokowuje: wszystko, co jest w aplikacji, zostaje dostępne dla wszystkich za darmo.
Szachmaty uczą, jak grać. Szachowa Mapa mówi, gdzie zagrać: 1 624 stoły, kluby, biblioteki i lokale w 16 województwach (07.10.2026). Oba serwisy linkują do siebie nawzajem.
Portfolio pełne stron wizytówkowych nie mówi, co się stanie, gdy projekt zrobi się trudny. Szachmaty mówią: własna plansza, obliczenia w przeglądarce, tryb offline, kilkaset stron treści i przebudowa wyglądu całego produktu według makiet.
Te same zasady wchodzą do projektów komercyjnych: kod bez zbędnych zależności, wydajność mierzona, a nie deklarowana, treść pod realne pytania ludzi. Różnica jest jedna: u klienta celem jest telefon albo rezerwacja, a nie nauczenie kogoś roszady.
Jeśli szukasz kogoś, kto potrafi zbudować nie tylko stronę, ale też działający system rezerwacji, to jest nasz najlepszy dowód.
Strona firmowa zaczyna się u nas od 2 499 zł netto, prosta wizytówka od 1 299 zł netto, a system rezerwacji od 3 999 zł netto.