Olawale Lawal

WritingTransmissions

23 posts on payments, distributed systems, .NET, Go and the tooling around them.

2026

  1. Stop Rolling Your Own Transaction Management in .NET

    Why TransactionScope is a better way to manage database transactions in .NET than a hand-rolled unit of work.

  2. Building Quorum: Architecture of a Multi-Tenant Approval Engine in Go

    Every team builds maker-checker from scratch. Quorum is a standalone approval engine in Go that handles concurrent vote serialization, durable webhook delivery via the outbox pattern, multi-tenant isolation, and real-time SSE updates.

  3. Iterating a .NET CI/CD Pipeline From 12 Minutes to Under 5

    I added automated API snapshot tracking to a four-service .NET backend and watched GitHub Actions build times go from 3 minutes to over 12.

  4. BranchGuard: Stateless GitHub Automation for Smarter Branch Rules

    How I built a stateless GitHub App that evaluates configurable branch protection rules based on which files changed, with zero infrastructure dependencies.

2025

  1. Auto-Logging: Automating Away the "Please Turn On Debug Logs"

    A production observability platform that auto-enables verbose logging on errors and disables it when resolved. Built with Grafana, OpenTelemetry, and .NET.

  2. Building CI/CD Pipelines for .NET Core on Github Actions

    Learn how to build and automate CI/CD pipelines for .NET Core applications using GitHub Actions, from build to deployment.

  3. Why your password is about to become obsolete

    Passwords are on their way out. Discover why passkeys, biometrics and passwordless authentication are replacing traditional credentials for good.

  4. The API Diff Tool That Escaped the Monolith

    Three generations of a Swagger diff tool: from React SPA to embedded HTML to reusable NuGet packages. The patterns that made it work across ASP.NET projects.

  5. Secure, Centralized Configuration in .NET Core with Hashicorp Vault

    Set up HashiCorp Vault with .NET Core for centralized static and dynamic secrets management.

  6. Why Your Phone's Battery Never Lives Up to the Hype

    Phone manufacturers promise all-day battery life, but reality tells a different story. Understand the chemistry and engineering behind battery degradation.

  7. The FinTech Staff Engineer: Translating Business Risk into Technical Architecture

    A framework for fintech staff engineers to translate vague compliance mandates into concrete technical requirements, architecture patterns, and SDLC processes.

  8. Building for the 1%: Engineering Handling for Exceptions and Disputes

    Payment engineers spend 80% of their time on 5% of transactions. Learn how to architect exception handling, dispute flows, and ledger reconciliation.

  9. Harnessing PostGIS in .NET: Building Location-Aware Applications

    Learn how to integrate PostGIS with .NET to build powerful, location-aware applications. A practical guide to spatial data and queries in C#.

  10. From Debugging to Design: How Thinking in Flows Makes You a Better Payments Engineer

    The Three Flows framework: funds, data, and reconciliation. Turn payment debugging from guesswork into forensic science.

2024

  1. The Map is Not the Territory: Navigating the Hidden Complexities of Payment Rails

    Authorization and settlement are separate systems with separate timelines. Learn the real-world complexities of payment rails that documentation won't tell you.

  2. Using Caddy as a Reverse Proxy with SSL Termination and Cloudflare in Docker Compose

    Set up Caddy as a reverse proxy with automatic HTTPS using Let's Encrypt SSL and Cloudflare DNS validation in Docker Compose.

  3. The Truth About 'Private Browsing'

    Incognito mode doesn't make you invisible online. Here's what private browsing actually hides and what it doesn't

  4. Coordinating Distributed Operations with Hazelcast HMap and AsyncContext in .NET

    Use Hazelcast distributed maps and .NET AsyncContext to coordinate operations across services. Covers locking, leader election and async patterns

  5. Using Ocelot as an API Gateway in a .NET Core Microservices Architecture

    Centralize routing, authentication and load balancing in .NET Core microservices with Ocelot API Gateway.

  6. Advanced Multi-User Authentication in .NET Core

    Extend ASP.NET Core Identity with custom UserManagers and SignInManagers to support multi-user-type authentication in a single app.

2023

  1. Death to SMS OTPs!

    SMS OTPs are insecure and outdated. Learn why SIM-swapping and phishing make SMS verification a liability.

  2. Structured Logging in .NET with Seq: A Developer's Guide

    Replace noisy text logs with structured logging in .NET using Seq. Learn how to correlation across microservices and advanced querying techniques.

  3. Mastering TaskCompletionSource in C#

    Bridge callback-based APIs & event-driven code with async/await using TaskCompletionSource in C#. Practical patterns for custom async operations.