Engineering Blog
Technical insights on Optimizely CMS, Commerce, and the modern .NET ecosystem.
Accepted Diffs, Tab Completions, Agent Lines of Code β 3 Metrics That Show How Well You Use AI Coding Tools
Many developers use Cursor or GitHub Copilot every day but never really know if they're using it effectively. The feeling of "AI is helpful" isn't enough β you need concrete numbers. Cursor's Usa...
Hunting the CPU-hogging "Virus" with AI Agents: When the Terminal is No Longer Scary
Lately, my desktop computer suddenly became hot, and the cooling fan roared loudly even though I wasn't running any heavy software. Opening Task Manager, the culprit was clearly named, a strange pr...
Playwright E2E Testing: Writing Resilient Tests for Next.js Apps
Imagine you have just finished building a beautiful web application using Next.js. It looks great, but how do you know it actually works for your users? Manual testing is tedious and prone to human...
AI Token Cost Allocation in Outsourcing: A Proposed Framework for Tracking LLM Spend Across CWOs
The New Line Item Nobody Budgeted For Two years ago, AI tooling was an experiment. Today, it's infrastructure. Developers at software outsourcing companies are using Cursor, GitHub Copilot, Clau...
How We Built Google OAuth Authentication Between a Next.js Frontend and a Headless CMS Backend
Overview When building a modern content platform, one of the most interesting architectural challenges is connecting a Next.js frontend to a headless CMS backend with a smooth, secure authenticatio...
True Multi-Agent vs Single-Agent With Personas: Which One Actually Gives Better Output?
If You're Using an AI Tool That Claims "Multi-Agent" β Read This First If you're using an AI coding tool like Antigravity, Cursor, or any tool that advertises "multi-agent", there's one important q...
How We Wired an E-Commerce Platform to SAP (and What We Learned the Hard Way)
The Problem Statement If you've ever worked on an e-commerce platform that needs to talk to SAP, you already know the fun: two worlds with completely different ideas about data, timing, and what co...
Outcome-Based Pricing in the Age of AI: Promise, Problems, and the Hybrid Reality
The Shift Nobody Planned For For decades, software pricing followed a simple logic: count the seats, multiply by a monthly fee, collect recurring revenue. It worked because the cost of delivering s...
MCP Deployment Strategies: Stdio vs. HTTP SSE vs. WebSocket
The Model Context Protocol (MCP) has rapidly emerged as the standard for connecting Large Language Models (LLMs) to external data sources and tools. As architects and developers, choosing the right...
Why the World Needed MCP When We Already Had APIs
A Question Worth Asking APIs have been around for decades. REST, GraphQL, gRPC β we have mature, well-documented standards for connecting software systems. So when MCP (Model Context Protocol) appe...