This Website was Coded, Debugged, and Deployed in 99% by Claude Code

This Website was Coded, Debugged, and Deployed in 99% by Claude Code

The Good, the Bad, and the Ugly

Website link: https://dawidk-blog-v3-bcbfabcf730d.herokuapp.com/

Inspired by recent bold predictions from Anthropic CEO Dario Amodei—that within 3 to 6 months, AI could be writing 90% of the code, and nearly 100% within a year —I decided to put the new Claude Code tool to the ultimate test.

Claude Code (more details here) claims impressive capabilities:

  • Editing files and fixing bugs across your codebase
  • Answering detailed questions about code architecture and logic
  • Executing tests, linting, and other developer commands
  • Managing git history, resolving merge conflicts, and creating commits or PRs

To truly test Claude Code's capabilities, my challenge was clear: build and deploy a fully functional personal blog site—with a custom Content Management System (CMS)—in just 12 hours, using Claude Code as the primary coder.

Here’s exactly how it went:

Step 1: Providing Claude Code with an Idea

The initial obstacle was communicating the vision. I quickly sketched basic layouts in Figma, took screenshots, and fed these directly into Claude web agent, asking it to generate mockup HTML code.

Claude handled this surprisingly well, swiftly turning rough sketches into usable HTML. Once saved locally, I handed over full control to Claude Code.

Article content
Mockup generated by Claude

Step 2: My Initial Prompt

⏱️ Time spent: 3 minutes

💳 Cost in tokens: Approximately <0.50$

The prompt was straightforward:

“I want a modern, multi-page blog website with my own CMS for posts creation, updates, edits, and deletions. Please use the mockups located in /mockups as inspiration. Host it on Heroku.”

After just 40 seconds, Claude Code confidently proposed a comprehensive tech stack:

  • Backend: Node.js, Express.js
  • Frontend: HTML5, Vanilla JavaScript, Tailwind CSS
  • Database: PostgreSQL with Sequelize ORM
  • Storage: AWS S3
  • Authentication: JWT, bcrypt, Express-session
  • File Handling: Multer for file uploads
  • Deployment: Heroku with PostgreSQL addon
  • Development tools: Nodemon

Claude’s approach—develop locally first, then deploy—was impressively professional.


Step 3: The Front-End Experience

⏱️ Time spent: 1h 52min

💳 Cost in tokens: Approximately $12

The Good:

Generating the front-end took only around 30 minutes, swiftly handling design tweaks, button placements, and responsive adjustments based on my feedback. Claude demonstrated an impressive understanding of visual adjustments.

The Bad:

Claude initially insisted on using an outdated version of Tailwind CSS. Only after 20 minutes of frustration did it catch on when explicitly shown the official Tailwind documentation.

Consistency across different pages also proved challenging. Claude produced similar but notably inconsistent designs, some of which I intentionally left visible on my website for demonstration purposes.

Moreover, Claude preferred duplicating elements like navigation bars and footers, ignoring basic frontend best practices of dynamic linking.


Article content

Conclusion:

For front-end novices or quick prototyping, Claude Code is powerful. However, professionals expecting clean, optimized, and maintainable code may encounter significant frustration.

Some screenshots from the Admin Panel:

Article content
Manage Project implementation


Article content
Create New Post implementation

Backend: The Heart and Soul of a Functional Product

⏱️ Time spent: ~ 7h40min

💳 Cost in tokens: Approximately $65

Claude began strongly by clearly outlining the next essential steps, recognizing the need to start with building the CMS, followed by APIs for database interactions.

However, this is where things got complicated:

Claude allows only 200,000 tokens per local CLI session. After this limit, you must run a mandatory /compose command, immediately costing around 20,000 tokens to summarize progress, after which Claude re-analyzes all files. I quickly realized how code bloat accumulates with each iteration.

Note to developers: I could run "/compose" command only three times before repeatedly facing API errors, forcing me to restart the CLI session often.

Given Node.js was the backbone, Claude attempted running it locally to debug. Unfortunately, I frequently encountered errors that the "user interrupted the process" whenever Claude tried starting the local server. Claude was smart enough to check if port 3000 was occupied and attempted alternative ports. Kudos for persistence. Still, it worked successfully only about 4 out of 10 attempts. Therefore, I often manually ran the node server and reported errors back to Claude.


Article content

Despite these setbacks, Claude excelled at autonomously debugging JavaScript whenever its local server ran successfully. Within about 30 minutes, it impressively developed a working post-creation feature and even spontaneously suggested draft, published, and scheduled post categories. The latter was unnecessary and non-functional, but draft and published categories worked well after some debugging.


Article content

Claude then moved to create update and delete functionalities, aligning with standard CRUD architecture. Initially, it overlooked database synchronization for deletions, merely performing visual deletions. However, after feedback, Claude quickly fixed this within few tries and just 15 minutes.

The client-side login feature was rapidly implemented but had an oversight: Claude forgot to consistently display the admin button across all pages, making it accessible only from the homepage. This highlighted a limitation of Claude's context-handling due to the earlier mentioned /compose issue.


Deployment Challenges

Claude confidently handled deployment on Heroku, selecting appropriate plans for PostgreSQL and choosing a suitable Dyno. If you're new to deployment, Claude has your back—this step deserved a perfect 10/10.

However, once deployed, I immediately faced a problem: clicking the login button did nothing. Although I knew how to check logs, I left this task to Claude as per our challenge. Three hours passed with Claude re-implementing authentication multiple times, creating numerous debugging tools, and ultimately becoming visibly frustrated as no clear errors appeared in Heroku logs.


Article content

Claude then hardcoded my login credentials to verify functionality, inadvertently committing these to a public GitHub repository (Leak Count: 1). After spending another hour and $30 worth of API credits, I directed Claude's attention to realize it had implemented client-side authentication—which Heroku rightfully blocks for security reasons. Claude quickly corrected this oversight upon prompting to implement proper server-side authentication, yet again it decided that it would be a good idea to keep both client-side and server-side solution.

After fixing authentication, it was time to publish a post. The post successfully appeared on the homepage. Excited and satisfied, I took a 45-minute break, only to return and find my post gone due to Heroku's putting my app to sleep after inactivity. After diagnosing the issue, Claude successfully implemented a solution linking posts properly to PostgreSQL in three attempts.


Setting Up AWS S3

⏱️ Time spent: 45minutes

💳 Cost in tokens: ~ $7

For image hosting, I needed a service that could store my files and return URLs to be used in my database entries. Heroku doesn’t store images locally, so an external storage solution was necessary. Claude suggested multiple services, but since I was already using AWS, I decided to push for that option.

Claude broke it down for me like I was a three-year-old, which, in this case, was exactly what I needed. After I accepted its suggestion, it guided me through every step:

  • Creating an AWS account (if I didn’t have one).
  • Setting up an S3 bucket (essentially a cloud storage container).
  • Creating an IAM user with the necessary permissions.
  • Generating the correct JSON policies for API access.

Article content

The instructions were crystal clear and completely up to date. If you had never done this before, failure was not an option—it was that well explained.


The Infinite Debugging Loop

And this is where things got messy.

I cannot stress this enough: Claude Code kept forgetting what it had already done.

Article content

At this point, I had to recompose the chat about eight times. Each time, Claude had to re-learn the code it had previously written, leading to a frustrating loop of repetition.

We then spent another hour debugging the file upload system, constantly running into Error 500. Server logs showed that the connection to AWS was successfully established, yet the upload still failed.

Why? Claude had run out of tokens and forgot that it never implemented the necessary function in my JavaScript server.

Once I caught that issue and implemented the missing function, everything worked perfectly.

Cost Rundown:

This journey cost me about $100, with me spending around $10 on playing around with the command lines and checking for the capabilities of the model before I started the challenge.


Article content
Cost of API calls


Final Thoughts

Claude Code delivered impressive initial results but also revealed significant challenges in context management, memory retention, and security. This experiment raised crucial questions about the readiness of AI tools for production-level coding.

For now, the claim that AI will produce 100% of code seems a bit bold. The sheer amount of unnecessary and repeated code was significant. However, it's clear that these models will continue improving over time.

The key question is: What is your goal?

  • Do you need to build a working application quickly, with limited resources, and on your own? AI tools like Claude Code can be incredibly useful in this case, handling repetitive tasks and accelerating development.
  • Or do you plan to use Claude as a pair programmer, assisting rather than replacing your coding process? In that role, it can be a great tool for debugging, automation, and speeding up workflows.

Regardless of the approach, producing 100% of code with AI doesn’t mean eliminating programmers—instead, it signals a shift toward a new role: problem-solvers who orchestrate AI agents across different tasks, rather than manually writing every line of code.

Key Questions to Consider

💰 Is $100 for a project of this scale reasonable?

🔄 Are developers being replaced in the near future?

🎯 Who is this tool really for?

Have you tried AI-driven coding tools like Claude Code? I'd love your insights!

#ClaudeCode #AI #SoftwareDevelopment #Anthropic #CodingExperiment





Great insights! I particularly liked how you broke down the complexities of the back end. It’s a solid reminder of why staying adaptable is key in software development. Looking forward to more posts like this!

To view or add a comment, sign in

Others also viewed

Explore content categories