Backend Engineer · .NET · Azure

I help B2B SaaS startups rescue a backend that's slowing them down — using .NET Core and Azure — so the team keeps shipping without breaking everything.

About

About me

I help growing companies ship reliable, scalable software by designing backend systems that handle complexity without breaking under pressure. I specialize in building clean, maintainable APIs and event-driven architectures using CQRS patterns — turning messy business logic into systems that are easy to reason about, extend, and operate in the cloud.

With nearly a decade of experience in one of the Philippines' leading HR technology platforms, I've built production systems across payroll, compliance, and workforce management domains using C#, .NET Core, and Microsoft Azure. My work sits at the intersection of backend architecture and domain-driven thinking, with a strong focus on compliance-sensitive systems. I actively integrate AI-assisted and agentic engineering workflows into my development practice — building systems where AI doesn't just assist, but acts.

Skills

Core skills

Languages & Frameworks

C#.NET CoreASP.NET CoreMediatR

Architecture

CQRSClean ArchitectureDDDEvent-DrivenREST APIs

Cloud & Tooling

Microsoft AzureAzure Service BusSQL ServerPostgreSQLDockerGitEF Core

Work

Portfolio

PH Payroll & Time Tracking API

Philippine labor law compliance · Clean Architecture · CQRS

View on GitHub
.NET 8C#ASP.NET CoreMediatREF CorePostgreSQL 16JWT (RSA)DockerxUnit

The problem

Philippine overtime is among the most combinatorially complex in Southeast Asian labor law. DOLE RA 6727 defines distinct multipliers that stack — regular overtime, rest-day work, special non-working holidays, regular holidays, and night differential can all apply simultaneously. In most payroll codebases this logic ends up diffused across service classes and controllers, tightly coupled to HTTP routing and database calls. When DOLE issues an amendment, engineers must trace changes across layers under deadline pressure during a payroll run — resulting in mis-computed wages, compliance exposure, and eroded trust from HR teams.

The approach

Designed spec-first using the BMAD methodology — all domain rules and use cases were committed to written artifacts before any code was written. Structured as four strictly-layered projects: Domain (RA 6727 overtime rules, zero external dependencies), Application (CQRS commands & queries via MediatR), Infrastructure (EF Core + PostgreSQL 16, RSA JWT), and API (thin ASP.NET Core transport). JWT authentication uses asymmetric RSA key pairs mountable via Docker volumes. Three dedicated test projects mirror the architecture tiers: Domain, Application (in-memory fakes), and Integration (live database).

The outcome

A labor law amendment now has a bounded, auditable change surface: overtime multipliers live exclusively in the Domain project, making them findable, testable, and independently deployable. The three-tier test suite lets engineers confirm a rule change is correct at the domain level before it reaches a running database.

Architecture layers

4 projects

Test project tiers

3 tiers

Local stack setup

< 1 min

Law change blast radius

1 layer

Contact

Work together

Have a backend that's slowing your team down? Let's talk about it.