One year ago, I wrote about a recent update to the Kentico Community Portal - Using personalization to drive membership growth. Looking back over that time period it's now unique, not for the topics it covers but for what it misses.
There's not a single mention of KentiCopilot, MCP, GitHub Copilot, ChatGPT, or even AI!
Things were about to change for me. Every single follow-up article about Community Portal improvements has featured AI assisted software development as a core part of the story.
Let's continue that trend by reviewing the most recent Community Portal updates to Q&A discussions and highlighting how AI made them all possible.
If you are interested in how to use all these new updates to the Kentico Community Portal Q&A discussions, you can watch me review them all in about 10 minutes with the video above.
The rest of this post will focus on my experiences using AI to deliver them.
AI expands scope without expanding timelines
My main limiting factor for any improvement to the Kentico Community Portal is time. I'm a full-time marketer who occasionally builds software.
Small updates aren't much of a challenge as long as they have a flexible delivery date. Features with a large scope, even if they can be added in pieces, are like fitting a square peg into a round hole. It's not just about the time required to write the code, it's also the feature design conceptualization, evaluating various options, planning implementation, and finally the mechanics of getting it to production.
But, AI has allowed me to increase the scope of those small updates to match the requirements of the largest ones without increasing my limited time budget.
Note
Although you might not be a developer-turned-marketer, I believe you have the same constraints I do - time.
It's either through the proxy of limited budgets (i.e., less time than you'd like) or you have more projects and scope (with tight deadlines) than people available to produce them.
This post is my attempt to help you understand how using AI can significantly increase what you can create within your time limitations. It can help you bring project phase 2 and 3 features into your initial launch, focusing less on boilerplate and more on value.
Q&A discussion notifications
Our Q&A discussions have grown to be very active, with bursts of several questions and conversations in a single day. A net positive for the Kentico community, but a growing challenge for those trying to keep track of responses to the discussions they are interested in.
The idea of automated notifications sent to members, triggered by new engagement in a discussion, has been a known improvement opportunity since early 2024.
Some progress was made on it over the years, but it was missing several important features to make it easy to use. Work on it was also started with Xperience by Kentico v29.1.0 and wow has the product changed since then, which means the implementation no longer matched what Xperience offers in 2026.
I did not have the bandwidth to plan all the required updates let alone implement them - that is until I started adopting AI to assist me...
I wasn't able to magically 1-shot a solution, or finish the feature in a single day, but there were several important ways AI supported me to get this deployed.
People also need context: we often think about providing AI context, but I needed to be reminded of context in between long gaps when I wasn't working on this feature. GitHub Copilot summarized progress and still had the chat context of my previous session to bring me up to speed quickly.
Big features require a lot of typing: developer have come up with all kinds of tools to help them generate code faster over the past 20 years... but AI is faster than all of those. Q&A discussion notifications required a lot of code to be typed, but very little of my limited time was consumed by typing thanks to AI agents.
Brainstorming, iteration, and experimentation: there were many times when I would have several options for architecture and implementation. Some were in web page UX and others in database schema. I asked my agent "will this option scale?" or "is there a better way to achieve what this does?". The feedback was almost always useful even if the AI focused on some things that weren't important to me. It helped me make choices early that could have led to lots of rework later. If I decided to make a change, the code refactoring was nearly instant, echoing my thoughts on typing above.
Debugging and robot-ducking: Although there were many situations where my intuition (from 25 years of coding and software development) found problems the AI couldn't and breakpoint-based debugging with AI agents still isn't a reality (meaning I had to do it myself), the AI agent did find quite a few bugs that I just didn't see. I'd describe what was happening and it would find a typo, edge case (e.g.
>= 0instead of> 0), or missing implementation faster than I could have. Additionally, if I had gone bug hunting it would have been a context shift and slowed me down.
Time savings and time-to-market
I didn't keep track of the total time spent on this feature (remember that it started way back in early 2024) but I think I reduced the remaining work time by at least 80% using AI.
There were always higher priorities which kept delaying the feature. I originally estimated it would be about a month of on-and-off work before I could finish and deploy it due to my schedule. It's hard to justify focusing on one thing for that long when there are so many easier, bite-sized improvements to make.
However, with AI this "from start to finish" time ended up at about 2 weeks.
I couldn't create more time, but AI helped me accomplish more within the time I had.
So, now we have Q&A discussion notifications in the Community Portal!
- Subscribe to any discussion
- Any time a member responds to a discussion or marks a response as "approved" to a subscribed discussion, you will receive a notification
- Select the frequency you would like to receive notification emails in your account settings
- Review and manage all your subscriptions in your account settings
- Or, enable "auto subscriptions" to automatically subscribe you to a discussion when you create it or engage with it
I hope you enjoy it!
Member timezone customization
Xperience by Kentico SaaS projects store dates in UTC by default. All Q&A discussions and responses use that default timezone and also displayed that date directly to visitors.
Culture-specific date formatting was added a couple of years ago, but member-specific timezones were another one of those features that I knew would be helpful and even briefly started, but couldn't justify the time to add.
This changed after my success using AI to add Q&A discussion notifications. I had a good sense of what an AI agent would be capable of, growing experience in prompting and context engineering, and increasing skills in AI assisted software development (all detailed in the blog posts linked at the top of the page). All of these helped me realize this feature could also be finished quickly.
In the past, my biggest time cost was anything related to design and UX - especially experimenting and iterating on changes - I could not do this rapidly.
Displaying dates (across many different UIs and content) would require tracking down a lot of code. I also never enjoyed working on date formatting and timezone conversions.
It all sounded like boring work, but AI made it fun!
The agent confirmed the goals of this feature, identified the server timezone, and reassured me that I would be able to consistently and correctly display dates in member selected timezones.
Instead of iterating on presentation changes across 20 different Razor views, I had the agent create an ASP.NET Core tag helper to centralize the logic:
[HtmlTargetElement("time", Attributes = ATTRIBUTE_NAME)]
public class DateTimeTagHelper(
UserManager<CommunityMember> userManager,
DateTimeDisplayService dateTimeDisplayService,
IHttpContextAccessor httpContextAccessor,
ViewService viewService) : TagHelper
{
public const string ATTRIBUTE_NAME = "xpc-datetime";
private const string FORMAT_ATTRIBUTE_NAME = "xpc-datetime-format";
[HtmlAttributeName(ATTRIBUTE_NAME)]
public DateTime? DisplayDateTime { get; set; }
[HtmlAttributeName(FORMAT_ATTRIBUTE_NAME)]
public DateTimeFormat Format { get; set; } = DateTimeFormat.DateTime;
public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
{
// ...
}
}
This could be used in a Razor template:
<div>
<time class="ml-2"
xpc-datetime="Model.DateCreated"
xpc-datetime-format="@DateTimeFormat.Date">
</time>
</div>
Because the tag helper targets an attribute I can use a native, accessible, and semantic HTML <time> element, and I could still use custom classes or other attributes.
Iteration on design changes were almost entirely done with the tag helper and once I was happy with everything, the AI agent reviewed the entire application and made sure all rendered dates were replaced with this tag helper.
In total, this feature took about two days of part-time work. I couldn't believe it was done so quickly.
If you aren't logged in, all dates fallback to a clearly indicated UTC time, but logged in members can now set a preferred timezone in their account profile!
Q&A discussion reactions
I always liked the ideas behind GitHub's repository discussions, even if the execution is just ok. I wanted to bring the reactions to Q&A discussions, but that seemed like a pipedream given the likely complexity and implementation time.
After the suggestion of Milan Lund, one of our Kentico Community Leaders, I decided to see what I could accomplish by the end of the week.
Because this was a brand new feature, I presented my requirements and goals to my AI agent and requested it:
Present several architectural options (based on different data models)
Identify pros and cons with each, and any potential issues with scalability or over-engineering
Once I selected an option, I built the custom object type in Xperience to model the reaction data and generated the C# class for it.
Manual object type creation?
The management API MCP server is pretty amazing for agentic AI software development in Xperience, as I outlined in a recent blog post. It lets you design and create content types quickly.
The lack of an MCP server or API to manage custom object types is noticeable because of how good the agent + content types experience is.
I look forward to crafting custom object types and administration UI all through agent prompts in the future.
Once the code was available in the project, I requested that the agent build out the UI in the Razor templates and wire everything up on the back end, accounting for:
Logic rules, like you can't react to your own discussion or response
Reactions should be rate-limited like all member actions to prevent abuse
Visitors should be able to sort responses by highest reaction
The agent completed this work but I still wasn't finished, because I had not finalized how I wanted to visually represent the upvotes. I iterated on the UX some more (with the AI agent doing almost all of the typing) by adding more context to the button tooltips.
I also considered updating the Q&A discussion search to use upvotes but I decided that was out of scope and it was better to ship something, faster.
AI friendly architecture
There was one caching bug I ran into that the agent couldn't diagnose. To be fair, it was caused by a custom caching architecture I designed a couple of years ago which has a fair amount of indirection - something that can be a challenge for AI models.
It's probably much less needed now with the Content Retriever API, so maybe I'll consider gradually removing it... or just improve my repository prompts and instructions.
Overall, this feature was completed (and deployed) in about 6 hours across a few days. The real time saver was the speed at which I got started.
Normally, this would have required some trial and error iteration at the beginning to get the architecture right as I experimented to see how the solution scaled and the APIs would work. This part of the feature was done in the first 45 minutes.
Do not underestimate an AI agent's ability to present you with the benefits and costs of a variety of different options very quickly!
If the agent's analysis seems off or it's missing context, give it that context and keep refining the problem space until your assumptions have been directly expressed. Then, ask the agent to re-present the options. At this point, you can:
Make your choice and proceed to implementation.
Ask the agent to transfer the analysis and options into a structured Markdown file which you then give to other agents to create demo UX or API proofs-of-concept.
So, now as you browse the Kentico Community Portal Q&A discussions, upvote discussions you find interesting and your favorite responses, improving the signal of quality content for everyone!
Takeaways
We all have limited time. Agentic AI software development enables us to create more within that time:
It turns repeatable work into commodities (e.g. building widgets with KentiCopilot)
This frees us up to focus on more important tasks with higher value
We can deliver small things faster or increase the scope of our work to fit within the time budgets we already have
... In fact, it probably enables both doing more and doing it faster
What are your experiences working with AI agents in your software development? Are you delivering the same things you were previously or are you increasing your scope and achieving what you previously couldn't?
Have you run into hurdles that blocked you from further agentic AI workflow adoption or have you found tips and tricks that might help others?
Let me know in the discussion for this post, and upvote it while you're there 😉.
Sean Wright
I'm Lead Product Evangelist at Kentico. I'm part of the Product team at Kentico along with David Slavik, Dave Komárek, Debbie Tucek, Martin Králík, and Martina Škantárová. My responsibilities include helping partners, customers, and the entire Kentico community understand the strategy and value of Xperience by Kentico. I'm also responsible for Kentico's Community Programs.