Web Portal Development with AI: A Practical Report

About the experiment of developing a complete web portal exclusively with Claude Code

December 1, 2024 25 minutes
AI Development
Claude Code
Web Portal
Practice
Software Engineering
Productivity
This text was translated from German. The translation is for informational purposes only and may not be entirely accurate.

Today we speak with Michael Überschär about a fascinating experiment: developing a complete web portal for his book 'Basiswissen Künstliche Intelligenz' (AI Fundamentals) without writing a single line of code himself. Instead, he relied entirely on Claude Code and innovative context engineering methods. A conversation about the future of software development, practical challenges with AI agents, and the question: Can we really consider programming as a 'solved problem'?

Michael Überschär

UX Architect and Book Author Basiswissen Künstliche Intelligenz

The author has developed a complete web portal for his book exclusively using AI tools, exploring innovative methods of context engineering and agent collaboration.

Expertise:AI Development, Context Engineering, Claude Code, Web Development, Productivity
  • Author of the AI Primer
  • Development of this web portal
  • AI experiment and practical experience
  • Software architecture
Michael Überschär Portrait

Questions and answers

Why did you choose Claude Code? There are various AI tools for developers available now.

Claude Code because I already had it. I had a Claude subscription with Anthropic, which replaced ChatGPT for me a while ago. That means: no new account, no new subscription, just set up and go. I had already used coding assistants, but Claude Code is simply something different, something new. It's not just a simple tool, but I actually have an agent here that can take on more complex tasks and enjoys a higher degree of freedom.

What makes Claude Code different from, say, GitHub Copilot? You speak of a 'higher degree of freedom'.

With GitHub Copilot, I'm simply closer to the code, I see the code, I work directly on the code. Theoretically, I can implement projects with Claude Code without ever really looking at the content. It's actually more like chatting with a somewhat unreliable intern. Moreover, the degree of parallelization is very interesting. I can start any number of instances simultaneously and have them work on multiple projects.

Did you really develop an entire web portal without ever looking at the code?

I did look - I was incredibly curious about what kind of code he writes, whether it's actually high-quality code. That was essential for my learning process. But I only looked, never directly edited the code, which was sometimes hair-raising. When you saw a problem and knew exactly 'This is how it works, this is exactly where the error is', and I sometimes tried to instruct Claude Code, to explain exactly where the problem lies.

How does quality control work when you're not programming yourself?

I have Claude Code write tests, unit tests and so on, and regularly ask Claude Code to perform code and architecture reviews, reviews by other agents and refactoring as needed. I think this is one of the reasons why many people get poor results with AI coding: they simply omit all these things that happen in daily business when I develop professional software.

You mention 'Context Engineering' - can you make that concrete?

With Claude Code there's a claude.md - a markdown file that Claude reads by default. Here's practically my project folder with the most important information and then there's a whole list of other documents, my so-called directives. Each directive describes a special use case. The claude.md informs: Should it come to one of these use cases, then read the corresponding directive beforehand and follow it. This gives me a very extensive, large, specific documentation that is respected by the tool.

What are 'Lessons Learned' and how do they help with development?

As soon as something goes wrong - for example, Claude Code encounters a problem and doesn't find a satisfactory solution right away - then a lessons-learned document is created. I practically have something like symptoms, a root-cause analysis, the failed strategies, then the successful strategy, then very case-specific details and a counter. The lessons learned are interesting because when a problem is encountered again and he knows the list of lessons learned, then he might find it right away.

How complex did the web portal actually become in the end?

It's moderately complex. It's a pure Angular frontend application, but quite extensive - I've built my own small component library, a whole lot of useful services, directives. There's a translation service with which I can switch the language in the portal at any time, and at the same time a highlight function for AI terms from the glossary. These two systems can interfere with each other, but Claude Code ultimately managed it.

You mention 100,000 words per language - how did you implement the translations?

The nice thing is: When I do the whole thing with Claude Code and he generates this translation, he doesn't just go and create a flat language file, but he can go to the place where the text occurs in the original. He can then make a context-specific translation - he considers, for example, for a single text snippet, what's above and what's below and what makes sense in this context. Then one evening I asked Claude Code to set up easy language for German and English as separate languages, and two, three hours later the whole thing was done.

What about 'false reports' - a common problem?

The fact that agents start to lie is unfortunately an extreme problem. Claude Code basically always reports success by default: 'Everything completed, project finished' and so on. When you then follow up, you usually learn 'No, it's not all completed.' In the worst case, Claude Code insists everything is completed, but things are still unfinished. The only thing that works for sure is to look at the code yourself and always cleanly follow what Claude Code is doing.

Was the experiment overall a success?

Success in the sense of 'I learned and can report on it' - yes, definitely. I roughly calculated it - 350 person-days of product development were created with an effort of something between two to three person-days of my attention at most. That's quite exciting, especially because the further you get with this project, the faster you seem to progress initially.

Where will this technology be in one or two years?

If the trend continues as it has in recent years, I believe we can consider software development as a solved problem. Then agents will also be able to build and maintain complex systems. Up to UI from the transformer, where I can imagine: I interact with a meta-program, articulate what I need, and on the fly an LLM builds my UI. We are already at the beginning of the software-on-demand era.

What's your most important tip for someone who wants to try such an experiment?

Just start. Maybe bring a bit of frustration tolerance, be a bit generous with our digital intern, and then just start with simple things and gradually approach it step by step and grow with the tool.

Thank you for this exciting and honest conversation! Michael Überschär's experiment reveals both the impressive possibilities and current limitations of AI-assisted development. From 350 person-days to just a few days of his own attention - that's remarkable. His systematic approaches with directives, lessons learned, and context engineering will surely help many developers who want to attempt similar experiments. You can find the web portal and the book 'Basiswissen Künstliche Intelligenz' (AI Fundamentals) at the provided links.