
From Developer to AI Conductor
How a developer rebuilt a political party's website in just 2.5 weeks with React and Claude Code.
Written by Vegard Ottervig on
What do you do when youβre the sole volunteer developer for a small political party and youβre told your platform needs a mandatory upgrade? For Benny Thomas, the developer behind Liberalistene.org, the answer was to embrace the chaos.
When Enonic reached out in August 2025 to announce a cloud platform upgrade to version 7.15, Benny was initially hesitant. He hadn't touched the code base since 2023, and a previous attempt to migrate to TypeScript had failed miserably.
But after being laid off during a downsizing, Benny found himself with the one thing every developer needs for a major migration: time.
The Mountain of Technical Debt
The project wasn't just a simple version bump. It was a complete infrastructure overhaul. Benny decided to start fresh and migrate almost every piece of the underlying tech stack:
- Node.js: 16 β 22
- Gradle: 6.5 β 8.5
- Build Tools: Webpack β RSpack / Babel β Tsup
- Styling: SCSS β Tailwind v4
- Rendering: Thymeleaf β React/TSX (React4XP v3)
2.5 Months vs. 2.5 Weeks
Initially, Benny estimated the project would take a ballpark of two and a half months. He had 36 parts to migrate and a massive amount of boilerplate code to rewrite.
He actually finished in two and a half weeks.
How? By transforming himself from a traditional coder into an AI Conductor.
The Dark Days: "Which Version Are You On?"
The project hit a wall early on. Between 10 and 15 October, Benny spent five days in a "trial by fire." Content Studio was acting up. Drag-and-drop didn't work, the front page wouldn't load, and the developer was nearing a breaking point.
He reached out to the Enonic community. Another developer asked the golden question: "Which version of Content Studio are you on?"
It turned out Benny was on version 4.5, while the new React4XP required a newer environment. That one question was the spark. Once the versioning was aligned, the development phase did not only resume, it accelerated dramatically.
The "AI Pair-Programmer" Workflow
Benny leaned heavily on Claude Code to power through the migration. During the peak of the project, he was working 12 to 16-hour days. In addition to writing lines of code, he also reviewed them.
Lessons from the AI Frontlines:
-
Commit Often: AI can sometimes go "crazy" and try to revamp your entire codebase in a way you didn't ask for. Benny learned the hard way that a simple "git restore" is easier if you commit every time the AI does something right.
-
GitHub Issues as "Memory": AI models eventually lose context. Benny used GitHub issues to document the roadmap. Every time he restarted the AI session, he would have it "read" the GitHub issues to understand what had already been done.
-
The Conductor Role: Benny only wrote about 15β20 lines of manual code throughout the entire project. The rest was generated, documented, and tested by AI under his supervision.
The Results by the Numbers
By the time the site launched on 21 October, the transformation was staggering:
| Metric | Old Solution | New Solution |
| Files Modified | - | 398 |
| Lines Added | - | 55,000 |
| Lines Removed | - | 45,000 |
| Jar Size | 10 MB | 2 MB |
| Test Coverage | 0% | 70% |
A Blessing in Disguise
A forced upgrade is often seen as a burden, but Benny views it as a blessing. It forced the adoption of clean architecture, automated version handling (Semantic Release), and a robust testing environment with Storybook.
The site is now faster, smaller, and easier to maintain. For Benny, it wasn't just about the code. It was a meaningful learning experience that proved how AI, when combined with a solid platform like Enonic, can turn a months-long slog into a two-week sprint.

