← Back to Blog

How I Spent My Christmas"Vacation" Building an Entire Kentico Website with an AI Coding Assistant

Spoiler: There Was No Vacation

How I Spent My Christmas"Vacation" Building an Entire Kentico Website with an AI Coding Assistant

There is a particular breed of developer who, when faced with two glorious weeks of holiday time off, thinks to themselves: "You know what sounds relaxing? Building an entire enterprise CMS website from scratch."

I am, apparently, that developer.

What began as innocent tinkering on December 23rd ("I'll just set up the project structure...") snowballed into a full-blown coding marathon that saw me emerge on January 6th with a complete Xperience by Kentico 31 website, a newfound appreciation for AI-assisted development, and a family who now believes "just one more commit" is my love language.

The Setup: A Developer, A CLI, and Questionable Life Choices

Here's the context: I run Refined Element, a one-person consultancy specializing in Xperience by Kentico implementations. As a Kentico Community Leader, I've built dozens of these sites over the years. I know the platform intimately. I've memorized the Content Query API documentation. I dream in PageBuilder templates.

But this project was different. This time, I had a new collaborator: Claude Code CLI, Anthropic's AI coding assistant that runs directly in your terminal.

My hypothesis was simple: Could AI-assisted development meaningfully accelerate what is traditionally a months-long endeavor? The answer, it turns out, is a resounding yes, though "accelerate" might be underselling it. What I built in two weeks would have taken a traditional team six months to a year.

Week One: The Foundation Sprint

The first few days established the bones of the site. With Claude Code handling the boilerplate generation and pattern implementation, I focused on architecture decisions and Kentico-specific configurations.

Content types came first. Eight page types total: HomePageAboutPageContactPageServicePageProductPageArticlePageSectionPage, and LandingPage. Six reusable content types for modular content: banners, services, products, articles, team members, and testimonials.

Here's where things got interesting. Traditionally, setting up Kentico content types means bouncing between the admin UI, generating code, tweaking properties, regenerating, and repeating until everything aligns. With Claude Code, I described what I needed conversationally, and it generated the entire content architecture, complete with proper field configurations and inheritance patterns.

The dual routing system was another early win. Kentico's web page routing is powerful, but I wanted MVC attribute routing as a fallback for when CMS content wasn't populated yet. Claude Code helped implement a graceful degradation pattern where templates check for CMS content first, then display static fallback content:

var heroTitle = heroBanner?.Title
    ?? page?.HeroTitle
    ?? "AI-Driven Xperience by Kentico Development";

This meant I could deploy immediately with professional-looking pages while populating CMS content over time. No more "coming soon" placeholders or broken layouts.

Week Two: The Integration Marathon

If week one was foundation, week two was ornamentation and plumbing. And by "plumbing," I mean the kind that makes or breaks a production site.

The blog system leveraged Kentico's Content Query API with proper caching implementation. The BlogRepository uses IContentQueryExecutor for queries and IProgressiveCache with cache dependencies tied to content type changes. When an article updates, the cache invalidates automatically. This is the kind of detail that separates hobby projects from production-ready code, and Claude Code understood these patterns implicitly.

The design system emerged organically. Dark-themed with lime green accents for primary CTAs and Bitcoin orange for lightning payment sections (more on that later). I established CSS custom properties for everything: colors, typography scales, spacing tokens, shadows. The result is a cohesive visual language that's trivial to maintain:

--color-bg-primary: #0a0a0f;
--color-accent-lime: #D6F08D;
--color-bitcoin-orange: #F7931A;

Stripe integration for subscription billing went live in production. The checkout flow includes a proper form with email and company fields, order summary sidebar, and success/cancelled pages. No more JavaScript prompt() dialogs masquerading as user experience.

Email configuration required two parallel systems: a custom SmtpEmailService for contact forms and Kentico's system SMTP for email marketing and form notifications. Both use Office 365, both work flawlessly.

Azure deployment came together with GitHub Actions, Azure SQL Database, App Service configuration, and security hardening: HTTPS-only, HTTP/2, disabled FTPS, TLS 1.2 minimum. The staging environment spun up on the first push.

The AI Collaboration Model That Actually Works

Let me be clear about something: Claude Code didn't build this website while I sipped eggnog. This wasn't magic, and it wasn't outsourcing my job to a robot. It was more like having an exceptionally knowledgeable pair programming partner available 24/7 who never gets tired of answering the same question about cache dependency syntax.

The collaboration pattern that emerged was conversational and iterative:

  1. I provide context and intent. "I need a blog repository that queries ArticlePage content types with pagination and tag filtering, using IProgressiveCache with proper cache dependencies."

  2. Claude Code generates implementation. Complete with error handling, null checks, and patterns consistent with Kentico's documented best practices.

  3. I review, refine, and integrate. Sometimes the generated code is perfect. Sometimes it needs Kentico-specific adjustments. Always, I remain the architect making decisions.

  4. Repeat at velocity. What would have been 30 minutes of documentation lookup and boilerplate typing becomes 3 minutes of conversation.

The productivity multiplier is real, but it requires genuine expertise to wield effectively. Claude Code amplifies what you already know. It doesn't replace knowing your platform deeply.

What This Means for Kentico Development

Here's the uncomfortable truth traditional agencies don't want to acknowledge: the economics of CMS development have fundamentally shifted.

Projects that required a team of 4-6 developers working 6-12 months can now be accomplished by a single experienced developer with AI assistance in weeks, not months. The quality isn't compromised; if anything, it's elevated because one person maintains consistent architectural vision throughout.

This doesn't mean developers are obsolete. It means the bottleneck has moved from typing code to making decisions. Deep platform expertise matters more than ever because AI amplifies good decisions and bad decisions equally. A developer who understands Kentico's content modeling patterns, caching strategies, and PageBuilder architecture can leverage AI to execute that understanding rapidly. A developer without that knowledge will just generate a lot of mediocre code very quickly.

For clients, this translates to faster time-to-market, lower costs, and tighter feedback loops. For developers willing to embrace AI-assisted workflows, it means the ability to deliver ambitious projects that were previously only feasible for large teams.

The "Vacation" Retrospective

So here I am, January 6th, with a fully functional Xperience by Kentico website in production. Complete design system. Working commerce integration. Blog with taxonomy and caching. Email flows. Azure deployment pipeline. The works.

Was it a vacation? Absolutely not.

Was it the most productive two weeks of my development career? Without question.

The family has forgiven me, mostly. The website is live. And I've proven to myself that the future of enterprise CMS development looks radically different than its past.

For anyone considering AI-assisted development: the tools are ready. The question is whether you're ready to work differently, to treat AI as a collaborator rather than a replacement, and to bring enough expertise to the conversation that the collaboration produces something exceptional.

Now if you'll excuse me, I need to schedule an actual vacation. One without WiFi. Maybe.


The author is an Xperience by Kentico Community Leader and founder of Refined Element, an AI-driven development consultancy. He is currently accepting new Kentico projects and still hasn't learned his lesson about "quick holiday projects."