Loading...
Skip to Content

Building Faster Feedback Loops with Opal: Two Hackathon Projects

ClarityFlow and Opal Events

Hackathons are about speed and experimentation. You take a problem, try out an idea, and see how far you can get in a short window. For the recent Optimizely Opal Hackathon, I worked on two projects that explored how Opal can become more than an assistant — an enablement layer that connects data and decisions.

One was a team project, ClarityFlow. The other was a solo project, Opal Events. Both pointed to the same opportunity: bridging the gap between insight and action.

ClarityFlow: Bringing Behaviour Data into Conversation

Marketers have no shortage of user data. Tools like Microsoft Clarity capture scrolls, clicks, pauses, and backtracks across every page. The problem isn’t collecting data, it’s turning it into action.

ClarityFlow tackled this by connecting Clarity data into Opal. The result is that instead of switching tools or waiting on an analyst, you can ask questions directly in natural language:

  • “Which product pages are most likely to lose users quickly?”

  • “Compare the performance of our new feature page against existing ones.”

  • “Highlight pages with the best engagement rates last month.”

Opal responds with insights that marketers can understand immediately, linking back to dashboards when verification is needed. The emphasis is on speed and accessibility: days of analysis compressed into minutes.

Opal Events: Campaigns That Move With Culture

The second project took a different angle. Campaign planning often revolves around internal calendars — product launches, quarterly goals, seasonal pushes. Meanwhile, cultural opportunities slip by because teams spot them too late.

Opal Events linked live Ticketmaster data into Opal, so that events could become campaign triggers. Instead of manually scanning for opportunities, you can ask:

  • “What’s happening in Manchester next weekend that fits our audience?”

  • “Generate a campaign plan for the Foo Fighters gig.”

  • “Which events are likely to drive footfall to our Liverpool stores?”

Opal then builds a campaign framework with suggested tactics across pre-event, day-of, and post-event phases. The output is something marketers can run with immediately, keeping campaigns in sync with real-world excitement.

The Tools That Make This Possible

Both projects were built on top of Optimizely.Opal.Tools, a package designed to make it easy to extend Opal with custom tools in C# and ASP.NET Core.

It’s worth noting: OptimizelyOpal.OpalToolsSDK (a similarly named package) is outdated and no longer works. Make sure you’re using the maintained Optimizely.Opal.Tools package.

The SDK handles the heavy lifting: discovery endpoints, tool registration, and structured responses. This means developers can focus on building tools that matter to their organisation.

Here’s a simple, original example that shows how you might expose a Keyword Analysis Tool to Opal. This doesn’t give away any hackathon code, but illustrates the pattern:

using Optimizely.Opal.Tools;
using System.ComponentModel;

public class KeywordParameters
{
    [Description("The text to analyse for keyword frequency")]
    public string Content { get; set; } = string.Empty;

    [Description("The number of top keywords to return (default: 5)")]
    public int Top { get; set; } = 5;
}

public class KeywordTool
{
    [OpalTool(Name = "keyword-analysis")]
    [Description("Analyses text and returns the top keywords")]
    public object Analyse(KeywordParameters parameters)
    {
        var words = parameters.Content
            .Split(' ', StringSplitOptions.RemoveEmptyEntries)
            .GroupBy(w => w.ToLower())
            .OrderByDescending(g => g.Count())
            .Take(parameters.Top)
            .Select(g => new { Word = g.Key, Count = g.Count() });

        return new { keywords = words };
    }
}

When registered with builder.Services.AddOpalTool<KeywordTool>() and exposed via app.MapOpalTools(), this tool would automatically become available inside Opal. A marketer could then ask:

  • “Analyse this landing page text and show me the top keywords.”

Opal would route the request, run the tool, and return structured output.

This is the same pattern we used to wire in external data sources for ClarityFlow and Opal Events. The difference is in the data and business logic behind the tools.

What We Learned

The hackathon projects confirmed a few important points:

  • Opal is extensible. It’s designed to connect to new data sources and workflows.
  • Speed matters. When insight is available instantly, decision-making changes.
  • The mechanism is the value. Tools like ClarityFlow and Opal Events are examples, but the real takeaway is how Opal enables new ways of working.

For developers, the SDK makes it straightforward to expose data through Opal. For marketers, the benefit is getting actionable answers in the flow of work, not in a dashboard they rarely check.

Looking Ahead

Neither ClarityFlow nor Opal Events is production-ready, but they demonstrate what’s possible when Opal is used as an enablement layer. Whether you’re connecting user behaviour data, live events, or other sources, the model is the same: Opal handles the interface, and you decide what sits behind it.

For me, that’s the real opportunity. Not in the hackathon prototypes themselves, but in showing how Opal can shorten the distance between data and action.

Andy Blyth

Andy Blyth, an Optimizely MVP (OMVP) and Technical Architect at 26 DX with a keen interest in martial arts, occasionally ventures into blogging when memory serves.

optimizely-mvp-technology

contentful-certified-professional

Andy Blyth