About
I'm a Senior .NET Full Stack Engineer with diverse
experience and a deep affinity for all things tech.
I'm driven by a love for programming, a fascination with
hardware, and a keen interest in open-source software and
Linux in particular.
In my leisure time, I enjoy self-hosting open-source
projects, tinkering with hardware setups, and keeping up
with the latest tech trends.
Skills
Backend
.NET
ASP.NET
Node.js
ORM
Entity Framework Core
Dapper
Prisma
Frontend
Angular
React
Astro
TypeScript
HTML / CSS / JS
Tailwind CSS
Razor
Databases
MS SQL Server
PostgreSQL
Cosmos DB
MongoDB
Oracle
Cloud / DevOps
Azure
Docker
Podman
GitHub Actions
Azure Pipelines
GitLab CI/CD
Bare Metal / VPS
Messaging
Azure Service Bus
RabbitMQ
MassTransit
Observability
Application Insights
Grafana
VictoriaMetrics
Loki
GlitchTip
Testing
xUnit
TUnit
Testcontainers
Verify
FluentAssertions
Bogus
Desktop / Mobile
Xamarin Android
WPF
Windows Forms
AI Tools
Claude Code
Cursor
ChatGPT
Gemini
GitHub Copilot
Experience
NDA
Public Sector
An integration platform acting as a bridge between a
new member portal and a legacy Oracle database
maintained by a third-party vendor.
Tech stack:
-
.NET 9, Minimal API, Mediator, Entity Framework
Core
- Oracle Database
-
xUnit, Testcontainers, Verify, Bogus, MockHttp
-
Docker, Azure Container Registry, Azure App
Service
- Azure Key Vault, Azure Application Insights
-
Microsoft Entra ID, Azure DevOps, Azure
Pipelines, Terraform, Terragrunt
The main challenge was non-technical — acting as the
connecting link between two separate companies: one
building the new member portal, the other
maintaining the legacy system. The teams operated in
very different contexts, which required constant
three-way meetings and a lot of effort to understand
what data the portal needed and where to find it in
the old system.
Responsibilities:
-
Simplified infrastructure by removing redundant
services (e.g. Azure API Management)
-
Replaced paid MediatR with
Mediator, removed paid FluentAssertions
-
Long requirement-gathering sessions with both
teams and API implementation
-
Established snapshot testing foundation using
Testcontainers, Verify, and Bogus; used AI to
achieve full test coverage
- Maintained project documentation
-
Delivered the project on time as a solo
developer
NDA
Supply Chain
A management information system connecting suppliers
and distributors in the automotive aftermarket. Both
parties regularly upload large turnover reports,
which the system uses to calculate and forecast
bonuses.
Tech stack:
- .NET 9, Dapper, Mediator, TickerQ
- Angular 20, NgRx, Tailwind
- Azure SQL Database, Azure Blob Storage
-
Azure Container Apps, Azure Front Door, Azure
Key Vault, Azure Application Insights
- Terraform, GitHub, GitHub Actions
The client came with an existing codebase in poor
condition — no CI/CD, security vulnerabilities,
unlicensed and outdated dependencies, performance
issues, and no documentation. The goal was to
refactor the codebase, resolve security issues, set
up infrastructure and CI/CD, replace problematic
dependencies, fix existing bugs, and implement new
features — all within tight deadlines. I led the
project and was responsible for scope assessment. It
was challenging, but we delivered on time and the
client was satisfied.
Responsibilities:
-
Scope assessment and project lead; team
consisted of myself, a DevOps engineer, and a
junior developer
-
Requirements gathering, proposing solutions, and
UI/UX decisions
- Technical and architectural decision-making
-
Replaced paid EPPlus with
SpreadCheetah
and
Sylvan.Data.Excel
— reduced file processing time from tens of
seconds to milliseconds
-
Replaced paid MediatR with
Mediator
-
Replaced unmaintained RepoDB with Dapper, fixing
many potential SQL injections in the process
-
Upgraded .NET to version 9 and Angular to
version 20
- Refactored the entire codebase
-
Optimized database queries and moved a large
amount of logic from stored procedures to
application code
-
Reduced web application bundle size — replaced
large PNG assets with WebP/AVIF, cleaned up
dependencies
-
Set up the GitHub repository and CI/CD pipelines
- Made infrastructure decisions in Azure
-
Integrated Application Insights and configured
alerts
- Conducted demos for the client
Healthcare
Eys is accelerating the digital transformation in
eye healthcare. This e-health platform uniquely
connects healthcare professionals, streamlining
collaboration with telemedicine, digital referrals,
and high-quality clinical eye examinations.
Tech stack:
-
.NET 8, .NET Framework 4.7.2 & 4.8, Service
Fabric microservices, MassTransit, OpenIddict
- Cosmos DB, MS SQL, Entity Framework
- Angular 18, AngularJS, TypeScript
-
Azure, Azure Service Bus, Azure Key Vault, Azure
Blob Storage, Azure App Services, Azure
Application Insights
-
Docker, RabbitMQ, FFmpeg & FFprobe,
Quartz.NET
- GitHub, GitHub Actions
Responsibilities:
-
Implementing features entirely — from the
backend to the frontend, often related to
video/image processing
- Code review
- Bug investigation & fixing
- Profiling, optimization, and refactoring
-
Migrated the codebase from Azure DevOps to
GitHub, including CI/CD
-
Migrated the majority of services from .NET
Framework 4.7.2 to .NET 8
-
Promoted and integrated message queues in
critical places
-
Promoted and integrated Cosmos DB partial
updates
-
Set up infrastructure for clusters in Azure
multiple times
-
Participated in all design and architecture
discussions
-
Made decisions regarding a smooth transition
away from Service Fabric
-
Replaced unsupported, vulnerable, and
non-cross-platform dependencies with modern
alternatives
-
Responsible for the staging environment —
deployments, migrations, analyzing logs
-
No dedicated designers, QA, or detailed
specifications — responsible for UI/UX
decisions, self-testing, gathering requirements,
and proposing solutions
-
In the absence of a technical lead, also
responsible for production deployments and
responding to alerts
-
Integrated AI for automatic detection of
pathologies in eye examination images
-
Integrated various ophthalmic cameras for
automatic image capture into the platform
NDA
IoT
Cloud infrastructure and mobile application for a
WiFi & Bluetooth smart thermostat for electric
underfloor heating.
Tech stack:
-
.NET 6, microservice architecture, MassTransit,
gRPC
- PostgreSQL, Elasticsearch, Redis
- Xamarin Android & iOS
- Azure, Kubernetes, Docker, RabbitMQ
- Azure DevOps, Azure Pipelines
Responsibilities:
-
Full implementation of features mostly in the
Android application
- Code review
- Bug investigation & fixing
- Optimization and refactoring
-
Collaborated with cross-functional teams to
define, design, and ship new features in time
- Actively participated in Scrum ceremonies
-
Updated and maintained CI/CD infrastructure,
including the iOS build environment
NDA
Healthcare
Practice management software for therapists,
psychologists, social workers, and counselors, with
telehealth and managed billing. Top 1 solution in
this domain.
Tech stack:
-
.NET Framework 4.8, .NET Core 3.1 & 5, Event
Sourcing, CQRS
- MongoDB, Redis
- React, Backbone.js
- AWS, MongoDB Atlas
Responsibilities:
-
Implementing features (frontend & backend)
- Code review
- Bug investigation & fixing
- Optimization and refactoring
NDA
Fintech
A product offering direct access to all payment
rails, account types, and treasury management
through a single API set.
Tech stack:
- .NET Core 3.1, Service Fabric microservices
- MS SQL, ADO.NET, Redis
- Angular, React 16
- Azure
Responsibilities:
-
Led a small team to develop a completely new
module from scratch
- Code review
Servgrow
Field Service
An all-in-one field service management software for
home and commercial service businesses — scheduling,
dispatching, customer management, invoicing, and
payments.
Tech stack:
- .NET Core 3.1
- MongoDB, Redis
- Docker, Kubernetes
- AWS, MongoDB Atlas
- React 16
- GitHub, GitHub Actions
Responsibilities:
-
Developed complete new modules from scratch
based on designs, often with minimal or
high-level requirements
-
Proactively gathered and clarified requirements
to ensure quality delivery
- Code review
- Bug investigation & fixing
- Optimization and refactoring
Healthcare
This is the earlier version of the
Eys product, under its original
name and tech stack.
Tech stack:
-
.NET Framework 4.7.2 & 4.8, Service Fabric
microservices
- Cosmos DB, MS SQL, Entity Framework
- SignalR
- AngularJS
-
Azure, Azure Blob Storage, Azure App Services
- FFmpeg & FFprobe
- Azure DevOps, Azure Pipelines
Responsibilities:
-
Implementing features entirely — from the
backend to the frontend, often related to
video/image processing
-
No dedicated designers or QA — responsible for
UI/UX decisions and self-testing
- Code review
- Bug investigation & fixing
Award: Best result among Juniors at a sports programming
competition
VoiceBox
Marketing
A platform for creating email templates using a
visual in-browser designer, importing dynamic
contact lists, and sending bulk emails.
Tech stack:
- ASP.NET MVC 5, MSMQ, Windows Services
- MS SQL, Entity Framework
- Razor, Backbone.js, jQuery, Bootstrap
- AWS SES, AWS SQS
- Bitbucket
Responsibilities:
-
Implementing features (frontend & backend)
- Heavy work with SQL and stored procedures
-
Extending a visual in-browser HTML email builder
built on GrapesJS
-
Ensuring consistent email rendering across
popular email clients (including Outlook...)
Personal Projects & Infrastructure
- Personal Infrastructure
-
Maintain a dual-server lab (home Fedora Server and
remote Debian ARM VPS) hosting dozens of containerized
services via Podman with systemd quadlets and Docker with
Portainer. Traffic is routed through Caddy (previously
Nginx and Apache), with security provided by CrowdSec
and AbuseIPDB. Monitoring is handled by a self-hosted
stack: VictoriaMetrics, Loki, Grafana, and GlitchTip.
- Open Source Contributions & Side Projects
-
-
Bash scripts
for importing AbuseIPDB blocklists into CrowdSec
-
Mozhi
fork
adapted for legacy Kobo e-readers lacking modern CSS support
-
Contributions to
Jellyfin
media server and
termix
file manager
-
Simple .NET Native AOT
proxy
for filtering Plex media server webhooks
-
Automation scripts and utilities with Node.js, Bun, Python, Go, and
Swift (Hummingbird)
-
WPF-based launcher for custom Dota 2 voice packs
— scaled to tens of thousands of active users