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.

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.

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.

  1. 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.

  2. 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.

  3. 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.

  4. 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. >= 0 instead 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.

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.

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.

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 😉.