Engineering Blog
Technical insights on Optimizely CMS, Commerce, and the modern .NET ecosystem.
Beyond Prompts: The Evolution of AI-Driven Engineering Workflows
This article is inspired by the work of Hoang Nguyen. The Illusion of Speed in the Prompt Era For the past two years, the industry has been obsessed with the "Prompt." We've been told that...
DevPulse: Architecture of a Real-Time AI Workspace
<![CDATA[ DevPulse started from a simple premise: project data should not be frozen. In most developer tools, AI features operate on a snapshot β data that was indexed last night, or whenever a bac...
How Claude Agents Actually Work: A 6-Layer Architecture Breakdown
<![CDATA[ Most developers, when they first wire up an LLM agent, carry a flawed mental model: the model runs code. It does not. Understanding where the boundary actually sits β what Anthropic's inf...
Cursor Cloud Agents Explained: My Machines, Self-Hosted Pool, and How It All Works
Cursor quietly shipped one of its most significant infrastructure updates in March 2026: Cloud Agents. The feature itself is not entirely new β the concept of background agents running in isolat...
How AI Can Make Logging Timesheets Actually Easy
If you've ever had to log timesheets at the end of a long workday, you know the feeling: you stare at a form, trying to remember exactly what you worked on, for how long, and under which project c...
Upgrading Ginbok CMS from Optimizely 12 to 13: A Step-by-Step Developer Guide
Optimizely CMS 13 is currently available as a developer preview. It introduces a more composable, headless-first architecture β and with it, several breaking changes that require hands-on code migr...
Smart Context System: Give Your AI a Long-Term Memory for Real Projects
The Problem: Your AI Has Amnesia Imagine you just joined a new project. You open Cursor, ask it why a certain tax calculation works the way it does β and it has no idea. It sees the code, but it...
Skill-Based AI Execution: When Prompts Are No Longer Enough
When Prompts Are No Longer Enough There's a specific moment every senior dev hits when working with AI β not when it starts making mistakes, but when you realize you can no longer predict when it w...
Message Queue vs Pub/Sub: Two Patterns, Two Different Jobs
Message queues and pub/sub are frequently treated as interchangeable β two names for the same idea of "sending messages between services asynchronously." In practice, they solve fundamentally dif...
Get Shit Done: A Solo Developer's Guide to Shipping Faster with GSD and Claude Code
If you're a solo developer who codes with AI β you've probably hit this wall. You open Claude Code, start describing your feature, write some code, ask for fixes, write more codeβ¦ and somewhere a...