Projekt własny Stan na 07.10.2026 Aplikacja webowa (PWA) Stockfish w przeglądarce Po 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.

Typ projektu

Aplikacja webowa (PWA)

Dla kogo

Dorośli początkujący, 400–1200 Elo

Rola

Pomysł, projekt, kod, treść

Start

Lipiec 2026

Technologia

JavaScript (moduły ES), bez frameworka

Silnik

Stockfish 18 (WebAssembly)

Postęp

W przeglądarce użytkownika

Model

Darmowy, bez reklam

Adres

szachmaty.pl ↗

Podgląd

Tak wygląda szachmaty.pl dzisiaj

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

Przewiń podgląd albo przełącz urządzenie
Na żywo · szachmaty.pl Otwórz na żywo
Ekran Start szachmaty.pl na komputerze (07.10.2026): karta Następny krok z planszą, poziom, cel na dziś, zadanie dnia, mapa kariery i narzędzia
Szachmaty.pl na telefonie (07.10.2026): poziom, cel na dziś, zadanie dnia, kariera i lista narzędzi
góra strony
JavaScriptStockfishWebAssemblyService Worker
451 lekcji22 000+ zadań55 przeciwników22 debiuty

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 · ARCHITEKTURA Pliki 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 · SILNIK WebAssembly

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 w aplikacji Szachmaty: lekcja Pola mają swoje nazwy, pozycja do rozwiązania, postęp 0 z 451 lekcji i polecane dla Ciebie
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.

Ekran Zadania w aplikacji Szachmaty: trening rankingowy z wartością startową 100, Szturm, współrzędne, końcówki z silnikiem i filtry zadań
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ć.

Ekran kariery w aplikacji Szachmaty: Zobacz, jak daleko zajdziesz, trzy drogi: początkującego, amatora i mistrza
Wejście do kariery: trzy drogi dobierają startowy rozdział do poziomu gracza.
Ekran Graj z botami: następny do pokonania Pypeć i siatka przeciwników z poziomem Elo i opisem słabości
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 w aplikacji Szachmaty: plansza w kolorze lawendowym, zegar, notacja i panel pomocy do nauki z oceną pozycji
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.

Trener debiutów w aplikacji Szachmaty: 22 repertuary z miniaturą pozycji, kolorem i poziomem trudności
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.

Nauka w aplikacji Szachmaty na telefonie: lekcja Pola mają swoje nazwy i plansza
Nauka
Zadania w aplikacji Szachmaty na telefonie: trening rankingowy, Szturm, współrzędne i końcówki z silnikiem
Zadania
Graj z botami w aplikacji Szachmaty na telefonie: następny do pokonania i pierwsze partie kampanii
Boty

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.

Projekt w liczbach

Stan na 7 października 2026

451

interaktywnych lekcji w 89 rozdziałach

22 000+

zadań, w tym 458 w 74 kategoriach

55

przeciwników w 7 rozdziałach kariery

22

repertuary w trenerze debiutów

22

ćwiczenia końcówek z silnikiem

40

autorskich syntez w bibliotece wiedzy

67

plików testów całościowych (Playwright)

259

plików testów jednostkowych

329

adresów w mapie strony

Źródło: szachmaty.pl (opis serwisu, llms.txt, mapa strony) i repozytorium projektu, odczyt 07.10.2026.

Zrealizowane elementy

Autorska szachownica (bez bibliotek) Stockfish 18 w WebAssembly Kariera z 55 przeciwnikami Gra z silnikiem od ~600 Elo Gra ze znajomym i we dwie osoby Trening rankingowy, Szturm i powtórki Analiza partii z wyjaśnieniami po polsku Profil błędów i Wnioski Import PGN oraz partii z Lichess i Chess.com Cel dnia i cel tygodnia Tryb offline i instalacja na telefonie Jasny i ciemny motyw Strony poradnikowe generowane z danych Pakiet 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.

Drugi projekt szachowy

Szachowa Mapa: mapa Warszawy z klastrami miejsc do gry w szachy

Szachowa Mapa: gdzie zagrać w szachy na żywo

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.

Zobacz realizację Szachowa Mapa →

Po co to tutaj

Co z tego ma firma, która zamawia u nas stronę

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.

Zobacz ofertę: strony internetowe, system rezerwacji albo Komplet (strona, spacer i wizytówka Google w jednym).

Igor Biały, założyciel Lokal360

Masz pomysł, który wymaga czegoś więcej niż strony?

Zostaw numer, oddzwonimy i porozmawiamy o tym, co da się z tego zbudować.

Wystarczą imię i numer telefonu.

Dodaj firmę, miasto, email (opcjonalnie)
Preferowana pora kontaktu (opcjonalnie)