I build full-stack products and developer tools with a strong bias toward clean APIs, deterministic logic, and systems that can grow without becoming fragile.
Right now, my focus is Chesschemy: a TypeScript-first npm package for chess and programmable chess variants. It is designed for standard chess rules, custom pieces, abilities, move generation, serialization, and deterministic turn-based game logic.
package chesschemy
npm Public package
focus Chess engine, variants, custom pieces, abilities
runtime TypeScript, Node.js >=20
principle Game rules should be explicit, testable, and composableProduct Engineering
End-to-end web applications with practical UX, reliable APIs, and deployment-ready structure.
Developer Tooling
Typed package APIs, examples, documentation, and release workflows that make libraries easier to adopt.
Game Engine Design
Deterministic rule systems, legal move generation, serialization, and variant-friendly architecture.
A TypeScript-first engine for chess and programmable chess variants, published on npm as chesschemy.
- Standard chess engine foundations with legal move generation
- Programmable variant support for custom pieces and abilities
- Serialization and FEN-focused workflows for reproducible game state
- Public package exports for TypeScript and Node.js consumers
npm install chesschemyDigital studio and product surface for building clear, useful, human-centered web experiences.
- Practical design and full-stack implementation
- Simple product experiences with strong technical foundations
- Built for clarity, maintainability, and real-world use
- Automate repetition: turn repeated work into tools.
- Design for growth: prefer systems that accept change.
- Ship with clarity: make features obvious and maintainable.
- Keep learning: build, measure, improve, repeat.


