Engineering Blog
Technical insights on Optimizely CMS, Commerce, and the modern .NET ecosystem.
Optimizely CMS 12 & Gemini: Automated Blog Post Generation
Scaling high-quality, technically accurate content is one of the most significant challenges facing platform teams. Maintaining consistency, ensuring SEO compliance, and keeping the content pipelin...
How to Fix WSL2 BSOD and Continue Using WSL2 Safely on Windows
Introduction Experiencing a Blue Screen of Death (BSOD) after enabling the Windows Subsystem for Linux (WSL2) is a frustrating experience for developers. Many assume that a system crash means WSL2 ...
Modernizing Optimizely CMS: From Razor Templates to Headless Next.js
Introduction For years, Optimizely CMS (formerly Episerver) developers have relied on Razor templates and server-side rendering (SSR) to deliver web content. While robust, the modern web demands th...
Cloudflare Workers: High-Performance Serverless at the Edge
What are Cloudflare Workers? Imagine building a website for a global audience. If your server is located in Vietnam, users in Europe or the US might experience significant delays as requests travel...
Mastering Google Analytics Integration in Optimizely: A Technical Deep Dive
In the evolving landscape of web analytics, staying updated with the latest tools and integration methods is crucial for any developer or digital marketer. Recently, as part of a project transition...
Building a Timesheet System with Domain-Driven Design, CQRS, and MediatR: A Phase 1 MVP Guide
Introduction Building a timesheet management system requires careful architectural planning to ensure scalability, maintainability, and clear business logic separation. In this article, we'll explo...
Billing Total vs. ADBV: A Developer’s First Confusion
In the world of software engineering and project management, tracking "how much work we did" versus "how much money we asked for" is a constant challenge. Misunderstanding these two metrics can lea...
The Dark Side of JWT: Hidden Drawbacks Every Developer Should Know
Introduction In the era of microservices and separated frontend-backend architectures, JWT (JSON Web Tokens) has become the default authentication mechanism, replacing traditional session-based app...
NotebookLM MCP Server: Bridging the API Gap for Knowledge Management
Introduction NotebookLM has been a powerful knowledge management tool, but one critical limitation has held developers back: the lack of a public API. This gap prevented direct integration with web...
Why Microservices Are Killing Your Startup: The Hidden Cost of Distribution
Introduction Here's an uncomfortable truth: most large-scale systems didn't start with microservices. Netflix, Uber, Amazon—they all began as monoliths and evolved gradually. Yet today, startups wi...