dragunov.dev

Side projects

Nights and weekends.

Chess tools, analytics tooling, and the CI that builds them — API and database included.

View GitHubEmail me

ChessDocs

Chess fundamentals for amateur players

Strategy, pawn structures, middlegame and endgame, in English, Russian and Chinese. Every claim cites the classic text it comes from, and the positions play inside the article.

  • VitePress
  • Vue
  • TypeScript
  • Fastify
  • Docker
  • Vitest

Layr

A dataLayer inspector for Chrome

A side panel that logs every push as it happens, including the ones that fired before it was opened. Search, expand and copy any payload; nothing leaves the browser.

  • TypeScript
  • Chrome MV3
  • Side Panel API
  • Vite
  • Vitest

Puzzfinder

Filter-based search over six million chess puzzles

Lichess publishes the puzzles but no way to query them. This filters by theme, rating, popularity and length, over a DuckDB file that packs 72 themes into one bitmask column.

  • Vue
  • TypeScript
  • Fastify
  • DuckDB
  • Docker
  • Vitest

Vue PGN Viewer

A Vue 3 adapter for Lichess’s PGN viewer

Wraps the viewer as a component with its config, props and API typed, so an editor completes them instead of the docs. Listed as the Vue wrapper in the official README.

  • Vue
  • TypeScript
  • Vite
  • Vitest
  • npm

HTML Diagram

A chess diagram web component

Renders a position from plain text through a chess font, so a diagram can take on any typeface — including chess fonts from the 90s. Zero dependencies, around 5 kB.

  • Web Components
  • TypeScript
  • Vite
  • Vitest
  • npm

Pipes

Shared CI and deploy workflows

Format, types, lint and test on one workflow, a static build to GitHub Pages on the other. Every repository on this page calls them instead of keeping its own copy.

  • GitHub Actions
  • YAML