MPN · Full-Stack Engineer · Dec 2024 – Nov 2025
Bonus Automation Platform
A .NET 8 platform that automates bonus eligibility and payouts for 50K+ customer requests a month, with configurable rules and resilient third-party integrations.
Private codebase. A walkthrough is available on request.
8s → <800msBonus evaluation time
Problem
Bonus eligibility and payouts depended on checks across identity, KYC, deposits and withdrawals, for more than 50,000 customer requests a month.
Evaluating a bonus took around 8 seconds.
My role
As a Full-Stack Engineer, built the .NET 8 platform: the business rules, third-party integrations, customer and admin applications, the performance work, authentication, tests and CI/CD.
Architecture
Key technical decisions
Rules as configuration
Eligibility checks for identity, KYC, deposits and withdrawals are configurable business rules built with NRules and Expression Trees, instead of hard-coded branches.
Resilient integrations
Third-party data is collected with Puppeteer Sharp and HttpClient, wrapped in Polly policies so transient failures are retried, and synchronized into SQL Server.
Query tuning plus caching
SQL Server queries were optimized and Redis caching added, which cut bonus evaluation from about 8 seconds to under 800 ms.
Operations visible in real time
Vue.js 3 + Pinia customer and admin apps with RBAC, audit logs, reporting, and SignalR for live updates.
Tested and shipped continuously
JWT/OAuth 2.0 for auth, TDD with xUnit and Moq, and CI/CD with GitHub Actions and Docker.
Results
- Bonus evaluation time cut from 8s to under 800ms.
- Eligibility and payout workflows automated for 50K+ customer requests a month.
Stack
- .NET 8
- C#
- NRules
- Expression Trees
- Puppeteer Sharp
- Polly
- SQL Server
- Redis
- Vue.js 3
- Pinia
- SignalR
- xUnit
- Docker
- GitHub Actions