C#/.NET · Go
I'm a software engineer focused on backend development with C#/.NET and Go. I build APIs, data-processing services, developer tools, and infrastructure for self-hosted applications.
My background includes 6+ years in game development, building reusable systems and developer tools, optimizing runtime performance and memory use, and taking projects from prototype to production. I bring that experience to backend engineering, with an emphasis on clear architecture, predictable behavior, and maintainable code.
Open to backend engineering opportunities.
Email · LinkedIn
| Project | What it does | Engineering highlights |
|---|---|---|
| MangaRead.Backend | ASP.NET Core REST API for a manga and web-novel reading platform, paired with a companion content crawler. | Separate domain, application, and infrastructure layers; EF Core persistence and migrations; MySQL/SQLite; file-storage abstractions; structured logging; Docker and Linux service deployment tooling. |
| Shorty | Go URL shortener with authenticated link management, cached redirects, and asynchronous click analytics. | Redis caches URL lookups; a separate worker consumes RabbitMQ events and stores analytics in PostgreSQL. Includes JWT authentication, role-based authorization, rate limiting, Swagger documentation, and Docker Compose. |
| nixstead | Modular NixOS homelab platform for configuring and operating self-hosted services. | A shared service registry generates Nginx reverse-proxy, TLS, firewall, and health-check configuration. Includes Nix flakes, SOPS-encrypted secrets, Borg backups and restore workflows, and a Python setup wizard. |
| MangaRead.Crawler | Configuration-driven .NET crawler for collecting manga and web-novel content, with backend-agnostic integration. | JSON site definitions and XPath extraction support new static sources without changing crawler code. Configurable concurrency and Polly resilience policies control access to external sources; Linux service deployment is supported. |
| JuiceTwee | C# node-based Unity editor and runtime for reusable animation and gameplay-effect sequences. | ScriptableObject graphs and extensible effect nodes; separation of effect definitions from runtime targets, and editor tooling from runtime execution. |

