Projects
As a backend-focused full-stack developer, I specialize in building robust, scalable systems and frameworks. My projects emphasize clean architecture, performance optimization, and modern approaches to common development challenges.
Vi-Fighter
View DetailsA terminal-based game built with Go that combines vi/vim motion commands with fast-paced typing and rogue-like 2D shooter action gameplay. Built using Entity-Component-System (ECS) architecture and Go standard library (no dependency).
Features
- Data-driven HFSM engine (TOML)
- Double-buffered mixed-mode rendering
- Direct ANSI I/O
- MPSC event handling
- Adaptive enemies with Reinforcement Learning and Genetic Algorithm
Active development, playable! WASM application deployed on this site.
Chess
View DetailsGo backend server providing a RESTful API for chess gameplay with user authentication. Integrates Stockfish engine for move validation and computer opponents. Clients: CLI, embedded web UI, WASM client (using xterm.js).
Features
- RESTful API for chess operations
- User registration and JWT authentication
- Stockfish engine integration for validation
- Human vs human, human vs computer, computer vs computer modes
- Custom FEN position support (e.g. puzzles, mid-game start)
- Asynchronous engine move calculation
- Configurable engine strength and thinking time
- SQLite persistence with async writes for games
- User management with secure Argon2 password storage
- Database CLI for storage and user administration
Production: Deployed and playable on this site via the web and WASM terminal clients. Feature improvement development in slow progress.
Rings
View DetailsA concentric ring alignment puzzle for Android.
Features
- Random start position of 8 rotatable rings with notches to be aligned
- Drag and tap control
- Colorful win animation :)
- Includes puzzle solver
Production: first release available on Google Play: Lixen Rings.
LogWisp
View on GitHubA high-performance, pipeline-based log transport and processing system built in Go. LogWisp provides flexible log collection, filtering, formatting, and distribution with enterprise-grade security and reliability features.
Features
- Pipeline Architecture: Independent processing pipelines with source(s) → rate limit → sanitize → filter → format → sink(s) flow
- Multiple Input Sources: file, console(stdin)
- Flexible Output Sinks: console(stdout,stderr,mixed), file, HTTP SSE, TCP streaming
- Real-time Processing: Sub-millisecond latency with configurable buffering
- Hot Configuration Reload: Update pipelines without service restart
In development: several sources (TCP/HTTP) and sinks (TCP/HTTP client) and security features (TLS, mTLS, SCRAM password) have been removed due to moving to a flow and plugin-based architecture. To be added back.
A high-performance, buffered, rotating file logger for Go applications with built-in disk management, operational monitoring, and framework compatibility adapters.
Features
- Lock-free async logging with minimal application impact
- Automatic file rotation and disk space management
- Operational heartbeats for production monitoring
- Hot reconfiguration without data loss
- Framework adapters for gnet v2, fasthttp, Fiber v2
- Production-grade reliability with graceful shutdown
Production-ready: used in logwisp project. Future plan for API change.
Config
View on GitHubThread-safe configuration management for Go applications with support for multiple sources (files, environment variables, command-line arguments, defaults) and configurable precedence.
Features
- Multiple Sources: Load configuration from defaults, files, environment variables, and CLI arguments
- Configurable Precedence: Control which sources override others
- Type Safety: Struct-based configuration with automatic validation
- Thread-Safe: Concurrent access with read-write locking
- File Watching: Automatic reloading on configuration changes
- Source Tracking: Know exactly where each value came from
- Tag Support: Use `toml`, `json`, or `yaml` struct tags
Production-ready: used in logwisp project