Journal

Thinking out loud about frontend architecture and engineering craft.

Security11 min read

Choosing Nuxt Over Angular for a Rewrite That Had to Get SSR Auth Right

Read article →
Architecture9 min read

One Codebase, Any Number of Brands: Rewriting Travelstart's B2C Site as a Nuxt App for Multiple Tenants

Read article →
Architecture10 min read

No Database, Just Redis: The Architecture Behind an Anonymous Booking Flow

Read article →
Security11 min read

Hardening a Payment Checkout: Trust Boundaries, Races, and a Gateway That Lied

Read article →
Security9 min read

Tenant Admin's Login: From Proof of Concept to Production

Read article →
Engineering4 min read

Finding Problems at Scale: What 1,086 SonarQube Issues Actually Told Me

Read article →
Engineering6 min read

From SonarQube Warning to ESLint Rule: Turning Code Quality Problems Into Guardrails

Read article →
Engineering8 min read

Unit Tests, E2E Tests, and CI: Different Safety Nets for Different Failures

Read article →
Engineering6 min read

Pre-Commit Hooks: Catching Problems Before They Ever Reach CI

Read article →
Engineering17 min read

Building an E2E Explorer That Doesn't Know Your Codebase

Read article →
Architecture21 min read

Skipping 10 Years of Frontend: AngularJS 1.5 to React 19 in One Rewrite

Read article →
Engineering13 min read

60 Review Widgets, 21 Families, One Registry: Retiring a FreeMarker Renderer

Read article →
Case Study19 min read

Rebuilding Margus: A Workflow Where Partial Data Can't Exist

Read article →
Engineering7 min read

Refactoring Without Breaking Everything: Why Tests Come Before the Refactor

Read article →
Mobile16 min read

One Codebase, Three Platforms: Shipping Ionic/Capacitor to iOS, Android and PWA

Read article →
Frontend15 min read

Beyond Markers: Trip Replay, Spiderfied Clusters, and Dual Data Sources on Google Maps

Read article →
Streaming18 min read

Live Video Streaming in a Fleet App: From 8-Second Lag to Sub-Second Latency - and the 4-Player Architecture That Made It Work

Read article →
Backend14 min read

Building and Hardening the API Layer: A BFF Gateway with Dual-Server Failover

Read article →
Backend12 min read

Real-Time Notifications with Firebase Realtime Database: Deduplication, Retention, and Seen-By Tracking

Read article →
Security10 min read

Encrypted Autofill in Ionic: AES Credential Storage with Crypto-JS

Read article →
Mobile9 min read

Designing an Emergency Panic System for Fleet Drivers: GPS, Confirmation UX, and Instant Dispatch

Read article →
Mobile10 min read

Digitising Paper-Based Fault Logging: Building a Technical Job Card System with Ionic

Read article →