Open Source

GitHub Projects

Tools, libraries, and extensions I've built and shared with the developer community.

Code

Open Source Projects

Browse my contributions to the developer community

Opti External Blocks

Add-on
Blazor

An Optimizely CMS 12+ plugin that exposes Graph External Content in the Optimizely CMS Interface, allowing editors to use external content natively inside Content Areas.

View Repository

Opti Graph Extensions

Add-on
Blazor

An Optimizely CMS 12 Add-on that provides comprehensive management of synonyms, pinned results, webhooks, saved queries, request logs, and custom data sources within Optimizely Graph. This package enables content editors and administrators to enhance search experiences through intelligent synonym mapping, result pinning capabilities, webhook event management, GraphQL query building, API monitoring, and external data integration.

3
3.6K
View Repository

OptiA11y

Add-on
C#

Most accessibility tooling in the CMS space has the same shape. A crawler walks your published site, renders each page, runs axe-core over the DOM, and hands back a dashboard with a number on it. That number goes into a slide deck. Everybody feels better. There are two problems with this. The first is that a crawler sees a page, and an editor edits a property. When the report says "image missing alt text on /products/kayaks", the editor still has to work out which of the four content blocks on that page owns the image, open the right one, and find the right field. The tool found the problem in the artefact; the human has to find it in the source. The second problem is worse. Automated checks can only detect a fraction of WCAG failures, and the checks that matter most to editors, is this alt text actually describing the image, does this link text make sense out of context, is this paragraph readable, are exactly the ones a machine cannot be certain about. Tools resolve that uncertainty in one of two ways: they stay silent (useless), or they assert a pass/fail verdict they have no business asserting (dangerous). A green score on a page full of alt="IMG_04213.jpg" is not neutral. It is actively misleading, and somebody will eventually put it in front of a regulator. OptiA11y is my attempt at the third option: an Optimizely add-on that analyses content at the property level, tells editors precisely where a problem lives, and is architecturally incapable of claiming certainty it doesn't have.

View Repository

OptiGraphMigrator

Tool
C#

I built OptiGraphMigrator to replace the guess with a report. It's a Roslyn analyzer and dotnet CLI tool that reads your solution semantically, finds every Search & Navigation call, maps each one to its Optimizely Graph equivalent, and — the important part — tells you which ones have no equivalent at all.

View Repository

Optimizely Learning Centre

Tool
Blazor

An interactive multi-course learning platform for Optimizely products. Built with Blazor WebAssembly, this client-side application provides hands-on tutorials and interactive examples to help developers master Optimizely technologies.

View Repository

Optimizely SaaS Style Manager

Tool
Blazor

This application provides a user-friendly interface for managing Display Templates in Optimizely SaaS CMS. Display Templates define the visual presentation options available to content editors when configuring sections, rows, and columns in the Visual Builder.

View Repository
6
Projects
3
Total Stars
3.6K
Downloads
2
Languages

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please reload the page.