Skip to Content

Blog

Optimizely, .NET and architecture, with the odd post from the dojo.

Introducing Optimizely Content Seeder: Seed Your CMS from Code

Introducing Optimizely Content Seeder: Seed Your CMS from Code

Seed Optimizely CMS 12 and 13 with pages, blocks, media and Visual Builder sections from a fluent C# definition, with optional AI-written content.
3 Minute Read
Tue, 3rd Nov 26
Yondan: What Changed Between 3rd and 4th Dan

Yondan: What Changed Between 3rd and 4th Dan

What a 4th Dan grading in Japanese Jiu-Jitsu involves, how I prepared, and why I'm looking forward to the sai more than the nunchaku.
2 Minute Read
Tue, 3rd Nov 26
Introducing Optimizely Feature Flagging: Flag Your Content Model

Introducing Optimizely Feature Flagging: Flag Your Content Model

Feature flag Optimizely CMS content properties without code changes: visibility, validation, editors and whole content types, with any flag provider.
2 Minute Read
Fri, 16th Oct 26
How to Build Optimizely CMS 13 with Visual Builder in .NET

How to Build Optimizely CMS 13 with Visual Builder in .NET

A code-first guide for .NET developers moving from Optimizely CMS 12 to 13: Visual Builder, ExperienceData, Sections, Elements and tag helpers.
7 Minute Read
Thu, 10th Sept 26
Your Optimizely Opal Is Probably Burning Carbon It Doesn't Need To

Your Optimizely Opal Is Probably Burning Carbon It Doesn't Need To

Four patterns Opal users may be getting wrong: inference levels, oversized tool responses, missing output constraints and no response caching.
6 Minute Read
Wed, 15th Apr 26
When to Choose a Lightweight Mediator

When to Choose a Lightweight Mediator

MicroMediator vs MediatR: real benchmark data across dispatch, memory, throughput, and cold start to help you choose the right tool for your workload.
5 Minute Read
Thu, 2nd Apr 26
Streaming Large Datasets with IAsyncEnumerable in MicroMediator

Streaming Large Datasets with IAsyncEnumerable in MicroMediator

Streaming is not always faster. Learn when IAsyncEnumerable saves memory, when it costs you, and what early exit looks like at 1,000,000 items.
6 Minute Read
Thu, 19th Mar 26
How CMS Implementations Need to Change for GEO and AEO

How CMS Implementations Need to Change for GEO and AEO

AI systems are now often the first contact between your content and its audience. Why a CMS built purely for SEO isn't ready for GEO and AEO.
18 Minute Read
Tue, 17th Mar 26
Handler Lifetimes in MicroMediator: Why Your Choice Matters

Handler Lifetimes in MicroMediator: Why Your Choice Matters

MicroMediator makes handler lifetime explicit. Learn when to use Singleton, Scoped, or Transient and what the real performance difference looks like.
4 Minute Read
Thu, 5th Mar 26
Introducing MicroMediator: A Lightweight High-Performance Mediator for .NET

Introducing MicroMediator: A Lightweight High-Performance Mediator for .NET

Why MicroMediator exists, how it compares with other mediator libraries and how it fits into .NET projects, including Optimizely CMS builds.
2 Minute Read
Mon, 5th Jan 26
Looking back at Optimizely in 2025

Looking back at Optimizely in 2025

Optimizely's 2025 shift to a unified execution loop, and how agentic Opal AI and integrated data drive learning velocity for developers and marketers.
4 Minute Read
Wed, 17th Dec 25
Building Faster Feedback Loops with Opal: Two Hackathon Projects

Building Faster Feedback Loops with Opal: Two Hackathon Projects

Two Opal Hackathon projects, ClarityFlow and Opal Events, that extend Opal with the Optimizely.Opal.Tools SDK to bridge the gap between data and action.
4 Minute Read
Tue, 2nd Sept 25
Open Optimizely CMS in a New Tab – Instantly

Open Optimizely CMS in a New Tab – Instantly

A free Chrome extension that opens the live view of the Optimizely CMS page you're editing in one click. No right click, no new tab, no faff.
1 Minute Read
Fri, 18th Jul 25
From Agentic Theory to Practicality: Using Optimizely Opal’s Instructions Feature

From Agentic Theory to Practicality: Using Optimizely Opal’s Instructions Feature

A practical look at Optimizely Opal's Instructions feature, from built-in agents to custom instruction workflows, for teams scaling AI content.
4 Minute Read
Mon, 19th May 25
The Fragment Conundrum

The Fragment Conundrum

Working with Optimizely SaaS, GraphQL fragments and headless front ends, with practical fixes using .NET BFF APIs, GraphQL.NET and modular content.
2 Minute Read
Thu, 20th Mar 25
Leveraging Optimizely’s AI Agents: Embracing the Agentic Future

Leveraging Optimizely’s AI Agents: Embracing the Agentic Future

How Optimizely's AI Agents use agentic AI to run complex tasks on their own, and what that means for digital workflows and technical leaders.
2 Minute Read
Tue, 18th Mar 25
Adding Geolocation Personalisation to Optimizely CMS with Cloudflare

Adding Geolocation Personalisation to Optimizely CMS with Cloudflare

Personalise Optimizely CMS content with Cloudflare's geolocation headers, using my Cloudflare Geo-location Criteria package for visitor groups.
1 Minute Read
Tue, 26th Nov 24
Optimizely SaaS CMS DAM Picker (Interim)

Optimizely SaaS CMS DAM Picker (Interim)

An unofficial Chrome extension that adds a DAM asset picker to Optimizely SaaS CMS, so editors can select and insert assets without leaving the editor.
1 Minute Read
Thu, 21st Nov 24
Optimizely CMS Roadmap

Optimizely CMS Roadmap

Optimizely's CMS roadmap for developers: faster SaaS, Visual Builder updates, better developer tooling and Graph-first architecture in CMS 13.
2 Minute Read
Thu, 21st Nov 24
Joining the Optimizely MVP Program

Joining the Optimizely MVP Program

Andy Blyth joins the Optimizely MVP programme, recognised for his contributions to the Optimizely community. What it means and what comes next.
1 Minute Read
Thu, 29th Aug 24
Optimizely release SaaS CMS

Optimizely release SaaS CMS

Optimizely's SaaS CMS is here: automatic updates, lower costs, enterprise-grade security and more flexibility for developers and editors alike.
1 Minute Read
Wed, 17th Jul 24
Is Optimizely CMS PaaS the Preferred Choice?

Is Optimizely CMS PaaS the Preferred Choice?

When Optimizely PaaS beats SaaS: BFF layers, custom APIs and fewer vendors. And when SaaS fits better. Choose on your needs, not the hype.
1 Minute Read
Thu, 2nd May 24
Why C# Developers Should Embrace Node.js

Why C# Developers Should Embrace Node.js

Why C# developers should learn Node.js, especially with Optimizely's SaaS CMS on the horizon, and the new opportunities it can open up for you.
2 Minute Read
Wed, 3rd Apr 24
Embarking on a New Chapter: Andy's Journey to 26

Embarking on a New Chapter: Andy's Journey to 26

Moving from DEPT® to a new role as Technical Architect at 26, after an 8-year journey of growth, and looking ahead to the next set of challenges.
2 Minute Read
Tue, 19th Mar 24
Mastering the 7-Second Rule in Collaborative Problem-Solving

Mastering the 7-Second Rule in Collaborative Problem-Solving

How the 7-second rule improves group discussions and brainstorming in digital agencies, giving everyone room to think and to be heard.
2 Minute Read
Mon, 18th Mar 24
The Iron Triangle: A Developer's Guide to Navigating Constraints

The Iron Triangle: A Developer's Guide to Navigating Constraints

The Iron Triangle of scope, time and cost, and how developers can work within project constraints when every change affects the others.
2 Minute Read
Mon, 4th Mar 24
The Developer's Guide to Time Management: Mastering the "Four Ds" in a Digital Agency

The Developer's Guide to Time Management: Mastering the "Four Ds" in a Digital Agency

The Four Ds of time management (Do, Delegate, Defer, Delete) for developers at every level in a digital agency, from junior coders to architects.
3 Minute Read
Tue, 13th Feb 24
Setting Up Optimizely on Aspire: A Developer's Walkthrough

Setting Up Optimizely on Aspire: A Developer's Walkthrough

A step-by-step guide to setting up Optimizely CMS on .NET Aspire, with a walkthrough of my Optimizely Aspire repository on GitHub.
2 Minute Read
Wed, 31st Jan 24
Bridging the Gap in Computer Science Education: Teaching My Son Python

Bridging the Gap in Computer Science Education: Teaching My Son Python

Why I'm teaching my son Python to fill the gaps in school computer science: programming basics, problem-solving skills and a growth mindset.
2 Minute Read
Mon, 12th Jun 23
Unlocking Your Potential: My Tips on How Developers Can Become the Best They Can Be

Unlocking Your Potential: My Tips on How Developers Can Become the Best They Can Be

My tips on how developers can be the best they can be: continuous improvement, learning new skills and understanding the infrastructure underneath.
4 Minute Read
Thu, 30th Mar 23
My Journey to Sandan: Reflections on Passing my 3rd Dan Grading in Japanese Jiu-Jitsu

My Journey to Sandan: Reflections on Passing my 3rd Dan Grading in Japanese Jiu-Jitsu

Reflections on passing my Sandan (3rd Dan) grading in Japanese Jiu-Jitsu, and the long, challenging journey it took to reach that milestone.
1 Minute Read
Tue, 28th Mar 23
Why Martial Arts Can Make You a Better Software Developer

Why Martial Arts Can Make You a Better Software Developer

How martial arts training can make you a better software developer: fitness, focus, mental toughness, stress relief and a healthier work-life balance.
2 Minute Read
Fri, 10th Mar 23
Why every web developer should have k6 installed

Why every web developer should have k6 installed

Why every web developer should have k6 installed: the benefits of local load testing, and how k6 also works for regression and integration tests.
3 Minute Read
Thu, 18th Nov 21
Running Optimizely 12 on a Mac

Running Optimizely 12 on a Mac

Optimizely 12 runs on .NET 5, so it runs on a Mac too. A step-by-step guide to getting it up and running, handy for front-end developers.
1 Minute Read
Wed, 13th Oct 21
So what does a Technical Architect do?

So what does a Technical Architect do?

The Technical Architect is one of the most fluid roles in a digital agency. Every architect has different skills and every project different needs.
1 Minute Read
Sun, 19th Sept 21
Default Values in Contentful

Default Values in Contentful

Finally default values have been added as an option in Content Models in the Contentful CMS
1 Minute Read
Wed, 8th Sept 21
New site for Wife of a Geek

New site for Wife of a Geek

A new site for Wife of a Geek, rebuilt on Contentful and Azure Cognitive Search after a frustrating, flaky first version on WordPress.
1 Minute Read
Fri, 23rd Jul 21
How to open rich text links in a new tab in Contentful.net

How to open rich text links in a new tab in Contentful.net

Contentful rich text has no link target option, so here's how to open external links in a new tab in Contentful.net using an IContentRenderer.
4 Minute Read
Thu, 22nd Jul 21
Optimizely (Episerver) Content Cloud Exam - My Tips

Optimizely (Episerver) Content Cloud Exam - My Tips

After sitting the exam, I thought I would document some of the ways I prepared for the exam, and what I found most useful out of the material.
1 Minute Read
Mon, 28th Jun 21
Optimizely (Episerver) Content Cloud Certification

Optimizely (Episerver) Content Cloud Certification

This week I passed my Optimizely (formerly Episerver) Content Cloud certification.
1 Minute Read
Thu, 24th Jun 21
Improving Contentful Search with Azure Cognitive Search

Improving Contentful Search with Azure Cognitive Search

Contentful's built-in search is limited and awkward in .NET, so I used Contentful webhooks to index content into Azure Cognitive Search instead.
3 Minute Read
Tue, 15th Jun 21
Promoted and Certified

Promoted and Certified

Promoted to Technical Architect at DEPT® UK in the same week I became a Contentful Certified Professional. Next up, the Optimizely certification.
1 Minute Read
Thu, 20th May 21
Tagging in Contentful

Tagging in Contentful

Contentful have recently introduced tagging, I think this is a really important step forward for the headless CMS.
2 Minute Read
Tue, 20th Apr 21
Can you have emoji's in URLs?

Can you have emoji's in URLs?

Can emoji's be used in URLs, page titles and meta data? 🤔😂😂
1 Minute Read
Thu, 8th Apr 21
Mediator Design Pattern for CMS builds

Mediator Design Pattern for CMS builds

My approach to dynamic CMS content using Mediatr (and Automapper)
1 Minute Read
Fri, 19th Feb 21
Generating testable content in Episerver

Generating testable content in Episerver

Using an Episerver InitializableModule with Bogus and Waffle to generate realistic test pages for QA and UAT teams during sign-off.
1 Minute Read
Mon, 4th Jan 21
My go-to nuget packages

My go-to nuget packages

A categorised list of nuget packages that I tend to use in most projects. Covers data access, business logic, and presentation packages.
3 Minute Read
Sat, 12th Dec 20
Episerver - Initial thoughts

Episerver - Initial thoughts

My first thoughts on Episerver after five years on SDL Tridion and Contentful, including its code-first approach and the InitializableModule.
2 Minute Read
Wed, 25th Nov 20
C# 9.0 - Blurring the lines between object oriented programming and functional programming

C# 9.0 - Blurring the lines between object oriented programming and functional programming

There are two basic types of programming languages, object-oriented and functional, what happens with these worlds collide?
3 Minute Read
Tue, 24th Nov 20
Sitemap Driven Load Test

Sitemap Driven Load Test

A nice script I put together to do load testing based on the contents of a sitemap.
1 Minute Read
Tue, 27th Nov 18
SDL Topology Generator

SDL Topology Generator

My solution to the writing SDL Web Topology Powershell scripts
1 Minute Read
Wed, 5th Apr 17