
Hi, I'm Anton — a software engineer.
Immersed in agentic engineering.I still do the research and write code by hand every day to stay true to the art.
Panex
Terminal UI for running multiple processes in parallel. Like Turborepo's TUI without the monorepo, or a zero-config tmux alternative.
- Split-pane view with full PTY support (QR codes, colors, interactive prompts)
- Mouse forwarding, visual select with copy, scroll pinning, nestable
- Run via
bunx panexornpx panex

Synset
Query WordNet semantic dictionary for definitions, synonyms, and hypernyms. CLI + TypeScript library.
- Fetches and caches WordNet database automatically
- Both CLI and programmatic API
- Zod-validated schema parsing
- Export to SQLite database
import { getDefinitions, getSynonyms } from "synset";
const defs = await getDefinitions("happy");
const syns = await getSynonyms("happy");OSHA 30 Helper
Interactive study tool for OSHA 30 certification with quiz-based approach and 1,500 searchable questions.
- Full-text search across all questions
- Quiz mode with instant feedback
- Mobile-friendly interface

Parcheesi
Local multiplayer board game for shared-screen play with PixiJS rendering and player-oriented UI.
- Smooth 60fps PixiJS animations
- Designed for shared tablet play
- Touch and mouse support

Precise Colors
High-precision color space conversions for TypeScript/JavaScript. Supports 12 color models with CIE 15.3 compliance.
- 12 color models (
RGB,Lab,LCH, etc.) - CIE 15.3 standard compliance
- Tree-shakeable ESM exports
import { rgb2lab, lab2lch, lch2css } from "precise-colors";
const lab = rgb2lab({ r: 100, g: 150, b: 255 });
const lch = lab2lch(lab);
console.log(lch2css(lch)); // "lch(62.55% 62.44 279.76)"eslint-plugin-no-in-array
Type-aware eslint rule that detects misuse of the
in operator with arrays in TypeScript.- Catches common JS gotcha
- Type-aware analysis
- Auto-fix suggestions
// The 'in' operator checks keys, not values! "a" in ["a", "b", "c"]; // false! indices are "0", "1", "2" // Use .includes() instead
Favicon Fella
CLI tool that generates all favicon and app icon variants from a single PNG image.
- Generates
favicon.ico, Apple Touch Icon, Android Chrome icons - Smart background color detection
- Outputs
site.webmanifestfor PWAs
# Output for each source image: favicon-16x16.png, favicon-32x32.png, favicon-48x48.png favicon.ico (16/32/48 bundled) apple-touch-icon.png (180x180) android-chrome-192x192.png, android-chrome-512x512.png site.webmanifest
Termi-link
Drop-in replacement for
terminal-link providing clickable hyperlinks in supported terminals.- Cross-platform (macOS, Linux, Windows)
- Drop-in
terminal-linkreplacement - Graceful fallback for unsupported terminals
import termiLink from "termi-link";
console.log(termiLink("Click me", "https://example.com"));DisplayedAppSwitcher
Windows system tray utility for multi-monitor workflows using Win32 API keyboard shortcuts.
- Global hotkeys for window management
- Multi-monitor aware
- Lightweight system tray app
P.F. Engineering
Full-stack SSR e-commerce site with searchable image galleries, Markdown content, and PayPal integration.
- Server-side rendering for SEO
- PayPal checkout integration
- Markdown-driven content

QR Code Worker
Cloudflare Worker generating QR codes with optimized API for resource-constrained IoT devices.
- Optimized for low-memory IoT
- 3x3 module grid packing
- Edge-deployed globally
// 3x3 module grids packed into 9-bit integers // Reduces CPU and memory overhead on low-end hardware +-----+-----+ +-----+-----+ |0 0 0|1 1 0| -> | 24 | 235 | |1 1 0|1 0 1| | | | +-----+-----+ +-----+-----+
Caddy Config Injection
gRPC-based dynamic configuration server for Caddy enabling runtime route registration.
- Runtime route injection
- gRPC protocol
- No Caddy restart required
fn := lib.Fn(*addr, &pb.Route{
Id: "example.com",
Matches: []*pb.Match{{
Hosts: []string{"example.com"},
}},
})Kanagawa Theme
Visual Studio color theme inspired by Hokusai's Great Wave off Kanagawa for comfortable coding sessions.
- Low-contrast, eye-friendly palette
- Inspired by Japanese ukiyo-e art
- Full syntax highlighting coverage

Go run SASS
CLI wrapper for
go-libsass eliminating recompilation overhead for build pipelines.- Pre-built binary, no compilation
- Faster than
node-sass - Cross-platform CLI
JSON Walk
Recursive JSON traversal library for Go with path-based callbacks for flexible data extraction.
- Path-based matching
- Type-aware callbacks
- Zero allocations on hot path
jsonwalk.Walk(&v, jsonwalk.Callback(func(path jsonwalk.WalkPath, ...) {
if path.Path() == "[0].Config.Env" && tp == jsonwalk.Array {
// extract data
}
}))Fresh
Live-reload development tool for Go that automatically rebuilds and restarts applications on source code changes.
- Watches file changes recursively
- Configurable via YAML
- Graceful process restart
$ fresh -help Usage of fresh: -c string config file path (default "./.fresh.yaml") -generate generate sample settings file
Voronoi Diagrams
Fortune's algorithm implementation for computing Voronoi diagrams in Go with
O(n log n) complexity.O(n log n)time complexity- Bounding box support
- Returns edges and vertices
sites := []voronoi.Vertex{{4, 5}, {6, 5}}
bbox := NewBBox(0, 0, 20, 10)
diagram := NewVoronoi().Compute(sites, bbox, true)Interval
Numeric range normalization library with
wrap and clamp operations—ideal for polar coordinates and cyclic values.wrapfor cyclic values (angles, hue)clampfor bounded ranges- Integer and float variants
interval.WrapInt(0, 360, 400) // => 40 interval.WrapInt(0, 360, -90) // => 270 interval.ClampInt(0, 100, 500) // => 100
dos2unix
CLI utility for converting Windows line endings to Unix format.
- Skips non-text files automatically
- Recursive directory processing
- In-place conversion
Terminal
Cross-platform terminal control library for Go with cursor positioning, colors, and alternative buffer.
- Cursor and color control
- Alternative screen buffer
- Windows and Unix support
Ifchanged
File change detection library for Go using
SHA256 hashing for build automation.SHA256-based change detection- Persistent hash storage
- Ideal for build scripts
Tree Structures
Dart red-black self-balancing BST with
O(log n) operations and Graphviz visualization support.- Self-balancing red-black tree
O(log n)insert/delete/search- Graphviz DOT output
Gamut Mask
Color theory tool implementing gamut masking techniques for harmonious palette generation.
- Interactive gamut mask editor
- Real-time palette preview
- Export color schemes
