An AI Blog Build: Design Rework and a Translation Bug
What I specified before handing the blog build to AI
I decided to turn my notes from using AI in development and automation into a blog. I did not want to publish the code, data, or internal operations of my work projects. I delegated the blog build itself to AI and used its requests and revisions as the first case.
I assigned research, implementation, and testing to the AI. I decided what could be published, chose the design, and reviewed the writing. Along the way, I told it to find the moved folders itself and rejected the first design before comparing four alternatives. The AI found and fixed a collision between the Korean and English articles during browser checks.
The Korean and English site was deployed on September 15, 2026. The articles were still under review, so no posts were public at that point.

The actual English site on September 15, 2026, before any posts were published.
Specifying what must stay private
The original brief included this requirement, translated from Korean:
Design the production build to include only content approved for publication. Also verify that drafts and private material are not exposed through direct URLs, RSS, sitemaps, search data, images, or deployment files.
Hiding a draft from the post list would not meet that requirement if someone could still open its URL. Private material also needed to stay out of image files and release archives.
The AI created separate lists for previews and approved content. Approval records included hashes: values calculated from the contents of the posts and images. A changed file would need approval again. The AI wrote the implementation and its tests.
| Request | What the AI implemented and checked |
|---|---|
| Publish only approved posts and images | Include listed files in the build and use hashes to reject files changed after approval |
| Keep drafts and working notes private | Use isolated test data to check that private posts, notes, and images stay out of the release |
| Check actual reading interactions | Test articles, the table of contents, copy controls, language switching, and internal links in a browser |
| Keep initial operations small | Exclude login, a database, and a custom admin interface; deploy a static site on the existing server |
Astro was the tool the AI proposed for these requirements. I asked why it recommended it, then told it to proceed.
Asking the AI to find folders it could inspect
I moved the document and execution folders during the work. When the AI asked for their locations again, I told it to find them in the current directory. It read the instructions and status document, then checked the folder locations.
Documents and executable code were kept separately under the same project. These names show their roles, not private paths.
project/
├── docs/ Editable posts, plans, working notes, verification records
└── code/ Site source, runtime, build scripts
Work continued from the verified locations. Finding the folders and reading the instructions did not, by itself, make the design or writing match what I wanted.
Rejecting the first design and comparing four options
I disliked the first screen. I asked for the sentimental introduction to be removed and specified a professional but cute style with vivid red. I also asked for references from places such as Pinterest and roughly four proposals to compare.
The AI placed the same content in four layouts: large headings with a list, a red sidebar with rounded cards, pink paper-like panels, and a dark console frame.

The proposals compared at the time. Their sample post titles differ from the current articles. Open the full-size image.
References included the headings and spacing of Clara Fois’s site, the sections and soft shapes of Jackie Zhang’s site, a pink-and-red palette on Pinterest, and the cards in a Bento Grid example. The AI recorded those references and built the comparison screens in HTML/CSS.
I chose option 2. I also said option 3 had a reasonable layout, but the final instruction was to use option 2. The AI applied Cherry Grid to the site. I did not give a more detailed reason at the time, so none has been added here.
Verification exposed a collision between translations
The Korean and English versions used the same slug, the name in an article’s URL. It linked the translations as the same article, but a browser check showed that the Korean draft had disappeared.
The AI found that the internal content IDs were also identical. The Astro glob loader used in this project favored the slug in the article metadata when generating its default ID. The two translations collided.
The AI changed the internal ID to include the language.
generateId: ({ data }) => `${data.lang ?? 'ko'}:${data.slug}`
For an illustrative URL slug of example-post, the internal IDs become ko:example-post and en:example-post.
After the fix, it checked that both articles existed and that the language switch opened the corresponding translation. It also checked each language’s series, tags, feeds, and internal links. The AI found the bug and changed the code. I had requested bilingual support and checks of the actual screens and interactions.
This article does not include a screenshot of the failure itself. The account relies on the work log, corrected code, and follow-up checks. The same verification also found that a language link on a 404 page pointed to a nonexistent URL. The AI changed it to the homepage for that language.
Checking deployed files and URLs
These are the results the AI recorded when the design was deployed on September 15, 2026.
| Location | Result |
|---|---|
| Isolated local tests | Approved posts and images were included; private posts, notes, and images were excluded |
| Local preview | Language switching, the table of contents, actual clipboard copying, and 726 internal links and anchors were checked |
| Actual server | 24 public files matched the local build byte for byte |
| Actual server URLs | HTTP redirected to HTTPS; the homepage returned 200 and unapproved article URLs returned 404 |
The link count belongs to the drafts tested then. Editing posts changes the pages and links to check. These results verify that deployment and the tested interactions; they do not measure time saved through AI or long-term reliability.
While delegating implementation and verification, I had to redirect the work on folder discovery, design, and the articles’ subject. The AI found and fixed technical bugs during its checks. The writing still leaned toward general advice rather than the actual work, so I asked for another revision. The draft revision account describes the sources compared and the structure that changed.
A later design revision: categories and titles first
On September 16, I also rejected a subsequent reference-based revision as cluttered and poorly categorized. AI removed repeated thumbnails, multiple background colors, and tag clusters from the lists, then put categorized titles first. The categories became Apps & websites, Writing & learning, AI workspace, and Tool experiments.
The proposal and deployment images above show September 15, which explains their difference from the current lists. Adding more red or decorative shapes would not have addressed the difficulty of reading the page. The later revision changed the amount of decoration and the order of information.