I am not a developer. I have never been one. For over ten years I designed interfaces for banks and fintech companies. I knew what a div was. I could inspect an element in Chrome. I had opinions about padding. But writing a full application from scratch was never something I imagined doing.
Then I started using Claude. And in about two months, working evenings and weekends, I built a complete trilingual blog with PHP, MySQL, a custom admin panel, scheduled posts, a generative image system, and SEO that Google actually indexes. No WordPress. No frameworks. No templates.
This is not a tutorial about Claude Code or vibe coding. This is about what happens when a designer with real industry experience uses Claude as a development partner to build something production-ready. The mistakes, the breakthroughs, and what I learned about both coding and communicating with AI.
Claude vs ChatGPT for coding: what I found after months of use
I tried both. Extensively. Here is what I found after months of daily use.
ChatGPT gives you code that looks correct. It compiles. It runs. And then three days later you discover it breaks when a user does something unexpected. The code is technically right but architecturally fragile. It solves the immediate problem without considering the system around it.
Claude gives you code that considers context. When I explain my database structure, the existing functions, and what I want to achieve, Claude does not just write the new function. It checks for conflicts with what already exists. It suggests changes to related functions I did not ask about. It explains why one approach is better than another for my specific situation.
The difference became obvious when I was building the multilingual routing system. ChatGPT gave me a solution that worked for two languages. When I added Japanese, everything broke. Claude asked me upfront how many languages I planned to support and built the system to handle any number from the start.
That said, ChatGPT is better for quick research and brainstorming. I use it to explore ideas before taking them to Claude for implementation. They are different tools for different stages.
How I talk to Claude about code
This is the part most guides skip. The actual conversation. How do you explain what you need to an AI when you are not a developer and you do not know the technical vocabulary?
You explain it like a design brief.
When I need a new feature, I do not say write me a PHP function. I describe the user experience I want. I explain what happens when someone visits a page, what they should see, what happens when they click something, and what the system should do behind the scenes. Claude translates that into code.
For example, when I wanted to add scheduled posts, I told Claude something like: I want to write posts in advance and set a future date. When that date arrives, the post should automatically become visible on the site without me doing anything. The homepage should only show published posts, sorted by their publish date, not the date I created them in the admin.
That description contains no technical terms. But it gives Claude everything it needs: the user flow, the business logic, the display requirements, and the edge case about sorting.
Building the trilingual system
The multilingual system was the hardest part of the entire project. Not because the code was complex but because the decisions were complex. Should each language have its own URL structure. How do you handle SEO for three different languages. What happens when a translation does not exist for a post.
Claude helped me think through each decision before writing a single line of code. We settled on a structure where Spanish is the default language with no prefix, English uses /en/, and Japanese uses /ja/. Each post has a slug in the posts table for Spanish and translated slugs in a post_translations table for English and Japanese.
What surprised me was how Claude handled the edge cases I did not think of. What if someone shares an English URL but the visitor browser is set to Japanese. What if a post exists in Spanish and English but not in Japanese. Claude anticipated these scenarios and built fallbacks for each one.
The generative identity system: generative design with code
This is my favorite part of the entire project. Every post on my blog generates its own unique image from the content hash. No AI generation, no stock photos. The same content always produces the same visual.
I explained the concept to Claude like this: I want each post to have a unique image that is created automatically from the post content. Like a visual fingerprint. If the content changes, the image changes. If the content stays the same, the image stays the same.
Claude proposed using PHP GD library to create the image algorithmically. We extract a hash from the post title, map the hash characters to colors, build a grid pattern, expand it symmetrically, and render it as a PNG. The result is a deterministic system where every post has a visually unique identity tied to its content.
The code went through several iterations. The first version produced images that were too random and noisy. I gave Claude feedback from a design perspective: The contrast is too low between adjacent cells. The center of the image needs more visual weight. The color palette needs to feel cohesive, not like random noise. Claude adjusted the algorithm based on my visual feedback.
Real mistakes and how we fixed them
It was not all smooth. The encoding disaster: I used special characters in my templates. They looked fine on my screen but rendered as broken characters on some browsers. Claude identified the issue and we replaced symbols with HTML entities.
The slug catastrophe: I changed a post title in the admin panel and the URL changed with it, breaking all existing links and Google index. Claude helped me build a system where slugs are locked once a post is published.
The date confusion: All posts showed their creation date instead of their publication date. Claude helped me add a published_at field to the database and update every query and template that displayed dates.
What this Claude Anthropic tutorial taught me about building as a designer
The blog is live at shinobis.com. It serves content in three languages, generates its own images, publishes on a schedule, has proper SEO with structured data, and ranks in Google search results including queries in Japanese that I never expected.
I built it without knowing PHP before I started. Without understanding MySQL joins. Without ever having configured an Apache server. What I did have was ten years of thinking about how people interact with digital products, a clear vision of what I wanted to build, and an AI that could translate that vision into working code.
That is the real story here. Not that AI can write code. Everyone knows that by now. The story is that a designer with deep domain expertise and a clear vision can build production-ready software by treating AI as a development partner rather than a magic tool.