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 Details

A 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
GoECSVIMRL/GAMPSCTerminalWASMTOML

Active development, playable! WASM application deployed on this site.

Go 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
GoSQLite3RESTful APIStockfishWASMWeb UIJavascript

Production: Deployed and playable on this site via the web and WASM terminal clients. Feature improvement development in slow progress.

A 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
AndroidKotlinGradleStandard libraryPuzzle

Production: first release available on Google Play: Lixen Rings.

A 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
GoTOMLFile watcherHTTPTCPSSEStreamFastHTTPgnet

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
GoJSONAtomic OperationsFormatterSanitizerLog rotationDisk space management

Production-ready: used in logwisp project. Future plan for API change.

Thread-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
GoConfig managementFile watcherJSONTOMLYAML

Production-ready: used in logwisp project

All Projects