
Original Table Games (opens in a new tab)
Four original casino table games: the player rolls the dice and the dealer deals the cards. Three are ready to play with virtual chips, their math proven exactly and by simulation.
Software Crafter · Porto, Portugal
A passionate software engineer who loves transforming ideas into reality. Dive in to explore my journey, projects, and the cool stuff I’m working on.
01Portfolio

Four original casino table games: the player rolls the dice and the dealer deals the cards. Three are ready to play with virtual chips, their math proven exactly and by simulation.

Converts a salary between hourly, daily, weekly, monthly and yearly pay in BRL, USD, EUR and GBP, with the Central Bank of Brazil’s exchange rates and shareable links.
02Games

A calm, clever puzzle: tap the arrows out, one by one, and clear the board. Endless levels, a daily challenge and a league, now on the App Store and on the web.

A calm water sort puzzle: pour the colors until every tube holds one. Endless levels, a daily puzzle and a league, on the web now and soon on the iPhone.

A calm castle logic puzzle: one castle per row, column and realm, none touching. Endless levels, a daily challenge and a league, on the web now and soon on the iPhone.

A neon arcade space shooter for one thumb: waves of enemies, bosses and power-ups worth the risk. Endless runs and a daily run, on the web now and soon on the iPhone.

A Sudoku with three levels, notes, undo and hints. It saves your game as you play and works offline.
03Articles
Polly v8 replaced policies with resilience pipelines, and Microsoft.Extensions.Http.Resilience made a sensible default one line. What each strategy actually does, measured against a deliberately flaky local server: jittered backoff, a breaker that fails in a hundredth of a millisecond, timeouts that cancel the request, and why the order of strategies matters.

EF Core's in-memory provider passes tests that the real database fails: unique indexes, column lengths, foreign keys and decimal precision are all ignored. Testcontainers starts a real PostgreSQL per test run in about three seconds. The same four tests, both ways, with real timings and a setup that keeps a hundred tests under a second.

An agent is a model, a set of tools and a loop. With Microsoft.Extensions.AI that's a few dozen lines of C#. The work is in the guardrails: rules enforced in code, approvals for actions that change things, a cap on the loop, and tests that don't need a model. A support agent built and run against a local model, with its real output.

Sending and receiving a message takes five lines. What decides whether a Service Bus system holds up is what happens when a handler fails, a message is malformed, a send is repeated or events must stay in order. Each behaviour here was run against the official Service Bus emulator, with its real output.

04Journey
2025 – present
Three clients so far: .NET, SQL Server and Azure for PremFina; Aileen, Ardanis’s AI contact-center platform, for SOBI Analytics; and an AI agent that answers questions about Anglo American’s haul trucks and mining equipment.
2024 – 2025
For a veterinary-pharmaceutical client, I automated batch creation and deployment, migrated the legacy app to .NET 8, and developed a proactive monitoring system.
2024
I worked at NewDay through YLD, on a team responsible for payments, utilizing .NET Core, Cosmos, and REST APIs.
2023 – 2024
Transformed software pipelines with GitHub Actions, authored open-source libraries, overhauled server architecture with AWS Lambda, and built monitoring tools using ASP.NET and ECMAScript 6.
2022
Strengthened SQL Server infrastructure, contributed to a global pharma research app, and conducted code reviews.
2020 – 2022
Built a new API for claims ticket management in the insurance industry using SQL, REST, and ASP.NET Core; contributed to a hybrid ticket type in transportation, integrated systems for customer credit and address validations, improved system resilience to 99.99%, implemented a high-speed batch process for 1 million customers, and developed a Grafana dashboard for real-time API monitoring.
2017 – 2019
Performed as a lead developer for the high-traffic product display page, overseeing 10,000+ requests per minute, conducted monthly one-on-one meetings with a team of ten engineers and QA professionals, balanced team backlog with the product owner, and managed feature releases and A/B testing.
05Contact
The best way to reach me is on LinkedIn.