![]() |
It's a really decent piece of hardware! |
I'm super proud of this accomplishment, given that I was pushing into delirium territory near the end of the event, having been up for 32 hours straight and all...running on mostly
caffeine
and adrenaline to get it done.
Here's a snapshot of my real-time X updates throughout the event:

Sitecore Hackathon?
It's a virtual community-driven event where teams worldwide (52 teams across 13
countries this year) compete to build the most impactful Sitecore module given a set of categories (e.g., "Best
use of AI" or "Best tool for XM Cloud") within a strict 24-hour timeframe.
Typically, the event is held in
late February / early March, with teams registering roughly 4-6 weeks in advance. Submissions are then judged by a
panel of long-time Sitecore MVPs and community members who review each completed entry, test the functionality, and
collectively pick a winner.
Submission Requirements are clearly laid out in the GitHub repository to which each team is assigned:
Winner Benefits
- 🗣 Name recognition across Sitecore's official channels; the winning team is announced officially at SUGCON Europe and highlighted in the MVP community.
- 🛒 $150 Amazon Gift Card (per team member)
- 🏆 A customized Hackathon trophy
My Past Hackathons
Wasn't my first rodeo! 🤠
Here's a rundown of my
past Sitecore Hackathon participations:
- 2018 – Didn't officially sign up...
- But I still used the hackathon timeframe to build sitecoreicons.com during the Hackathon window (which is still used by Sitecore developers
across the globe, 7 years later!)
- 2019 – Team Rosemary Potatoes
- 2021 – Team BLAMstack (🏆Best use of SPE to help Content authors and Marketers)
- 2024 – Team Sitecorepunk 2077
- 2025 – Team Sitecorepunk 2077 (🏆)
![]() The name "Sitecorepunk 2077" is a not-so-subtle reference to
the 2020 video game Cyberpunk 2077 (which, admittedly,
I've barely played, but I liked the play-on-words when I came up with it).
|
I kinda love that I'm a 2x Sitecore Hackathon winner now 😅
The Idea
This year, instead of multiple categories (and multiple winners), the organizer's idea prompt was simply:
"Free for all — you can create your own idea for the Hackathon solution. Show us what you got!"
It was a huge opportunity to build without barriers, with one winning team to take it all. I've been waiting for an opportunity to bring this idea I've been mulling over in my head for months to life, and this was it.
Problem Statement
You'd need to train up; learn how to query items using Get-Item and Get-ChildItem commands, declare an array object to store results, utilize for loops and if conditions, etc.
And if PowerShell scripting isn't your thing, well...

In the age of generative AI though, this technical skills barrier can be dramatically lifted for non-technical Sitecore authors and admin, and/or drastically reduce the turnaround time for developers tasked with writing custom PowerShell reports.
Enter: SPExAI Report Builder
What is it?
SPExAI Report Builder is an installable Sitecore PowerShell Extensions module that allows users to describe their Sitecore report in natural language, which in turn generates a complete and reusable SPE script:
- 🧠💻 Type your prompt
- 📜💾 Generate a PowerShell script and save it
- 🛠️🚀 Run it or modify it
"SPExAI" stands for Sitecore PowerShell Extension x Artificial Intelligence, which combines the power of SPE with modern LLM tech.
Compatibility
How about a quick demo?
Say you need to audit template usage across the content tree.
When activating SPExAI from the ribbon, a dialog
appears where you set a title, select the root context for the report, and provide a description.
"Report of all templates (ID, Name, Path) and their usage count."
SPExAI generates this clean, complete, and reusable script, which is stored in a dedicated part of the content tree:
Another demo!
What's truly amazing is that we can generate 75-100 lines of working PowerShell code in seconds.

How SPExAI Works (Under the Hood)
API Settings
There are four required fields:
- API Key – your OpenAI secret
key
- Model – the ID of the OpenAI model to use (e.g. o3-mini-2025-01-31)
- Knowledgebase – a markdown-formatted reference block full of Sitecore PowerShell examples, documentation, best practices, etc.
- System Prompt – the instruction template that tells the model exactly how to behave, respond, etc.
Model Selection
If you want to try a different OpenAI model later, simply update the Model field with the name; no code changes are required. (Expanding beyond OpenAI to Anthropic Claude or Google Gemini is also possible as part of a potential future v2.)
The Knowledgebase
It includes sample report formats, SPE-specific syntax, and usage patterns that the model should stick to when replicating and generating new reports.
The System Prompt
It includes a {0} token that the Knowledgebase content replaces.
Check it out:
A good chunk of the hackathon effort was spent refining the directives that the model should abide by. With every test run, I found myself adding to the list of rules.
Getting the model to stick to the directives was...challenging to say the least (one-shot prompting definitely has its limitations depending on the model).
Finding the right combination of rules for the model to consider was tricky, and I'm sure both the base system prompt and the knowledge base content could use even further refinement beyond what I could get done before the deadline. Either way, I feel like I struck a solid balance for v1.
The good news is that the module was built to easily modify the system prompt in the configuration item without touching the underlying code, hypothetically allowing you to continuously improve the final output.
UX Flow
Users fill out the Report Name, set the Report Scope (tree selector), and the Describe your Report fields.
It takes only a few seconds for the script to be generated.
Users are then presented with the following options:
SPExAI Code Breakdown
The script set the four field values into variables.
The user's inputs from the dialog (report name, scope, description) are stored as global variables.
Validate that variables, like the script name, are valid and don't already exist in the saved script location.
Invoke-OpenAIChat sends a custom one-shot prompt (including merging system instructions, knowledgebase, and user input) to OpenAI’s Chat Completion API and returns the generated response.
Upon successful script generation, the module saves all generated scripts under a dedicated folder: /sitecore/system/Modules/PowerShell/Script Library/SPExAI Report Generator/Content Reports/Reports/SPExAI Generated
Video Demo
As part of the entry, a video demo is required. You can check it out here:
Some Final Thoughts
If you haven’t seen it, fellow long-time MVP Rodrigo Peplau compiled a list of this year's submissions - all worth checking out.
The quality of entries this year made it hard to predict how things would shake out. Winning was unexpected, but also an absolute honor.
Bummed I couldn't be at SUGCON EU to accept the award in person, but luckily the announcement was recorded. 😀 I will cherish this screenshot for all time:
Each year I've participated (whether on a team or solo), I've come away with valuable hackathon experience and a solid module, or at least the beginnings of one, that I could share and expand on further. I've always enjoyed the satisfaction of shipping something interesting and useful to others under competitive pressure.
If you’re considering participating next year, I highly encourage it. About 20% of the teams are solo, but it's not for everyone. I recommend grouping up with others, especially if it's your first Hackathon.
It’s a great way to push yourself, learn something new, make connections, and contribute to the spirit of the Sitecore community.
Keep on hackin'! 👨💻
0 comments:
Post a Comment