Blog
Thoughts and insights on technical leadership, software architecture and engineering strategy
Fingerprint Verification in ASP.NET Core with SourceAFIS (1:1 Matching)
Adding fingerprint matching to your own backend is easier than it looks. A hands-on walk through 1:1 verification in ASP.NET Core with SourceAFIS: image to template to match score, wrapped in a minimal API, plus an honest look at what a production biometric system really needs.
The BFF Pattern: Your API Token Has No Business in the Browser
The Backend-for-Frontend (BFF) pattern keeps your API token off the browser and kills CORS. Here is how it works, illustrated with the Next.js App Router, plus a small library that removes the boilerplate.
Abstraction Is Not a Pattern. It's a Discipline
Tight coupling doesn't break your application. It just ensures it never grows. Every driver imported directly into a service, every raw query embedded in business logic is a silent decision, one most teams never know they're making.
Flutter vs React Native: The UI Argument Nobody Wants to Admit
Flutter and React Native can both ship real products. But on UI consistency, the gap is not a matter of preference — it's architectural. Flutter owns its rendering layer completely. React Native delegates to the platform. That single difference determines how much effort your team spends chasing cross-platform discrepancies instead of building features.
Your API Is Lying to Your Frontend
Every time your endpoint returns a 47-field object when the screen only needs 6, something goes wrong — silently, gradually, at scale. The waste is not just bandwidth. It's CPU, memory, and time spent by every layer of the stack processing data the client will never use. The fix is not technical. It's a discipline problem.
How Thinking in UX Forces You to Build Better UI Even If You're Not a Designer
Most developers can explain good vs bad code instantly — but can't explain why their UI looks the way it does. The gap isn't design skill, it's a thinking framework. Here are 5 UX principles that improve every interface you build, no design talent required.
Detect User Inactivity System-Wide on Android with AccessibilityService
Most developers think AccessibilityService is only for screen readers. It's actually the only clean way to detect system-wide user interactions from a background service — here's how to build a full inactivity detector with it.
Build a Complete PKI from Scratch in Node.js
Most guides on PKI either rely on fragile OpenSSL CLI calls or skip the why entirely. Here's how to build a production-grade certificate authority in Node.js using node-forge — and how to work around the silent AES-256 decryption bug that will bite you in production.
Integrating OneSignal Push Notifications in Laravel
A complete guide to implementing OneSignal push notifications in your Laravel application with practical examples and best practices.
MTN Mobile Money Integration in PHP: Complete Guide
Step-by-step tutorial for integrating MTN Mobile Money payment gateway into your PHP application with code examples.