Here are the personal GitHub projects I have been working on:

  • maze — cross-platform maze design, generation, solving and gameplay platform supporting 2D and first-person 3D games (Rust, C# / .NET MAUI, WebAssembly, React.js)
  • zsv-mcp — MCP server bridging AI assistants and the zsv CSV processing CLI (Go)

maze

Rust C# / .NET MAUI JavaScript / WebAssembly React.js

A cross-platform maze design, generation, solving and gameplay platform — including 2D and first-person 3D games — exploring multi-language integration across Rust, WebAssembly, .NET, and TypeScript/React. Ships as a .NET MAUI app for Windows, iOS, and Android, a Rust REST web server with a React SPA frontend, and a Rust console app. Experimental — not intended for production use.

  • Core maze libraries in Rust (generation, solving, gameplay) with full unit and mock testing
  • First-person 3D maze game built with the Bevy engine — runs natively, in-browser via WebAssembly, and embedded in the MAUI app via WebView
  • Multiple Rust-to-managed-code integration paths: WebAssembly (wasm-pack + Wasmtime/Wasmer from C#, wasm-bindgen for the browser) and a C FFI wrapper crate for native iOS
  • RESTful Web API (actix + utoipa) with OpenAPI, Swagger UI, RapiDoc, and Redoc
  • Pluggable storage backends: file-on-disk default plus a single SQL implementation supporting SQLite, PostgreSQL, and MySQL (SQLx Any, one portable schema, runtime-selectable)
  • OAuth / OIDC sign-in (Google, GitHub, Facebook), user account self-management, and email-driven password-reset & email-verification flows (Mailgun + SMTP/OAuth2)
  • Cross-platform .NET MAUI app (Windows, iOS, Android) and React.js SPA — both with 2D + 3D gameplay, maze management, and walk-solution animation; frontend tested with Vitest, React Testing Library, MSW, and Playwright; .NET tested with xUnit and Moq
  • Architecture diagrams (PlantUML), combined Rust + .NET documentation (cargo doc + DocFX → GitHub Pages), and CI/CD via GitHub Actions across Windows, macOS, and Linux
Maze React.js app — first-person 3D gameplay (Bevy + WebAssembly)
Maze React.js app — walk-solution animation
Maze React.js app — 2D maze gameplay
Maze MAUI app on Windows — 3D game Maze MAUI app on iOS — 3D game Maze MAUI app on Android — 3D game

zsv-mcp

Go

A Model Context Protocol (MCP) server that gives AI assistants programmatic access to zsv, a high-performance CSV processing CLI. Enables Claude, VS Code Copilot, Cursor, and other MCP-compatible tools to query, filter, and transform CSV data as part of an agentic workflow.

  • Implements the Model Context Protocol so AI tools can invoke CSV operations as first-class tool calls
  • Wraps zsv — a standards-compliant, high-performance CSV processor written in C
  • Works with Claude Desktop, VS Code Copilot, Cursor, and any MCP client
  • Written in Go — single static binary, no runtime dependencies