Amanda Fitch

A new way to website

Could I build a blogging site with no CMS or database in the AI era?

By: Amanda Fitch

It was the first time since 2018 that I needed to launch and host a new website, amandafitch.com, built from the ground up. My first instinct was to do as I always had before:

  • Find an interesting open-source content management system (CMS).
  • Hack it into something of my own.
  • Configure the hosting service and domain.
  • Transfer the final site to my host with a file-transmitting app.
  • Get a gazillion permissions set up properly in my host’s cPanel.
  • Work through the CMS to add and edit content.

Lots of steps, lots of software, lots of things I'd forgotten and would have to re-learn. I. did. not. want. to. do. this. again. Could using AI change this? I decided to experiment and see what was possible.

The agentic toolkit

Once I'd committed to building the site with AI, the first step was assembling my tools. Here is the toolkit I ultimately assembled:

toolkit

Development platforms

Models

  • Gemini 3.1 Pro (software engineering agent, Google Antigravity)
  • Gemini 3.6 Flash (software engineering agent, Google Antigravity)
  • Gemini Image - Nano Banana (image generation)
  • Claude Opus 5 (software architect & security agent, Claude Code for Mac)

Hosting

  • BlueHost (hosting and domain)

Ingredients

  • HTML, CSS, JavaScript, Node.

The experimentation begins

AI reminds me of a new super-fast yet unpredictable race car. Sometimes it works, but oftentimes there are critical failures at the worst possible times. And if you're not careful, it can go off the rails and leave trails of mangled half-working spaghetti code everywhere. However, there's something in me that loves an adventure (horrors included), and I wanted to see where this one went. The results were impressive and swift, but absolutely required a human in the loop and close scrutiny. In total, the project took about 11.5 hours.

My first instinct was to search for popular open-source CMS products and use one as a scaffold. I decided instead to see if my Antigravity team could build a blog prototype specifically for me, with no login or database capabilities. They got to work and a few minutes later I had a decent looking site.

At this point, the entire site was HTML. If I wanted to add articles, I'd have to write them in HTML, which was too tedious. Also, I wanted to make sure that all articles were built from the same template. I next prompted my Antigravity team to update the system so that articles could be created in markdown files and then converted to HTML. They rigged up a system that allowed me to do this. When they were done, I simply needed to write an article in markdown and then run a script that generated an HTML version of the article and updated the list of articles on my site's homepage.

Time expended: 1.5 hours

Out with antiquated, in with weird and new

An hour and a half in, I had a basic functioning site. I could have stopped, but decided to have a bit more fun. The site looked like every other blog I'd seen for the last 20 years, and I wondered if we could spice things up.

First, I googled 'trending website designs 2026', but this turned up a gazillion sites that pointed to 'cutting-edge' concepts that essentially were the same layouts I'd seen for years. Next, I googled 'How the AI era will disrupt site design in 2027'. This time I found an article called Way Too Early 2027 Web Design Predictions by Graticle Design which caught my attention. One section, "The Death of Navigation and the Rise of the Oracle Interface," sounded intriguing:

"The traditional mega menu is on its deathbed. Users are tired of clicking five times to find a pricing page. The dominant design interface of the near future is the Oracle. This is not just a search bar. It is a conversational interface that replaces standard navigation almost entirely."

Time expended: 1 hour

Architecting the oracle design

I decided to toss the Oracle design at my agentic team to see what they could come up with. At this stage, I decided we were stepping out of experimentation and into the final design stage, so I had a huddle with my architect agent. The summary of what we needed to accomplish followed this flow:

  • Implement the Oracle design theory.
  • Eradicate traditional headers and menus.
  • Make the site fun.
  • Reflect the author's inner world.
  • Design a site that is hardened against malicious intent.

After some back and forth, we came up with an architectural plan and passed it to the Antigravity team to implement. The new site would incorporate the themes of AI, coding, pixel art, pies, humor, sci-fi & fantasy, and as an easter egg, my game series, Aveyond.

new blog site

Time expended: 1 hour

Building the oracle design

The Antigravity team took my architect's plan and started building. They used Nano Banana to generate an Aveyond-styled forest background and a slime mascot oracle. Although given specific instructions to remove traditional headers and menus, they resisted. This was likely due to extremely strong training data leaning toward traditional website design and very few edgy public examples to query. Eventually we got there!

Along the way, I decided to use a mock Generative AI design to avoid token fees. If you ask a question, the oracle will take you to the page that best fits the question. This particular part of the project took quite a bit of back and forth between me, my architecture agent, and the Antigravity team because of the deeply experimental nature of the task.

Time expended: 3 hours

Cleaning up the architecture

Agentic programming is generally fun and things move quickly, but behind the scenes, the architecture of the code is often highly questionable. Agents tend to focus on what is right in front of them without considering the architecture of the larger program. This is a problem if you ask the agent to change something on one page and you are expecting that change to ripple across multiple pages. Agents will often only update the one page and ignore the rest if you aren't sharing components.

With this in mind, I discovered that my agents had committed quite a few architectural design atrocities, and I spent a few hours with them getting files organized and moving shared code into reusable libraries.

refining the architecture

I would advise anyone who is deep diving into agentic programming without an engineering background to learn about the basic architectural patterns, what they look like in code, and how to enforce these with your agents. On this particular project, I messed up in that regard because I didn't include a specific design pattern in the architectural plan that was passed to the Antigravity agents.

Time expended: 3 hours

Hardening the site

Once the architecture was finally clean and modular, I needed to make sure it was actually safe. I like to have my inexpensive models perform the coding while the more expensive, specialized models do the guiding. For site hardening, though, I decided to relax that rule. I had my security agent look carefully for security gaps that could be exploited and patch them. In this new agentic world, hacking is getting easier and easier and I wanted to make sure my site wasn't an easy target.

hardening the site

What came back was more than I expected. The security agent's review found that the site was pulling a JavaScript library and its fonts from third-party servers. Anyone who compromised those servers could run code on my site, and every visitor's IP address was being handed to a company I had not chosen to involve. It also found that my markdown was being converted to HTML with no sanitizing at all. It took about an hour for us to patch up the holes.

Time expended: 1 hour of review

Uploading the site

I chose BlueHost to serve this site for a variety of reasons. They have great open-source documentation that is easy for agents to read, smooth create-to-publish workflows, decent prices, and they've been around for a while.

I would love to tell you this part was frictionless. It was not.

The plan was to use SSH so we could publish directly. BlueHost's control panel has a form for registering the key that authorizes this. It rejected my key. I generated a second key of a different type. It rejected that too. My agent verified both keys were valid, character for character, against the files on my machine. It turned out that the problem was the form, not the keys.

My security agent presented a workflow to bypass this issue, and together we executed: the agent zipped the local folder, I uploaded it through BlueHost’s cPanel file manager, and I extracted it in the cPanel file manager.

We tested. 404.

404 error

My security agent discovered a cascade of issues: a broken SSH form, missing security headers, and certificate redirects. Sheesh! Since we couldn't fix them locally, I spent several rounds feeding it screenshots so it could guide me through the manual repairs. Eventually we got the site up and running.

Time expended: 1 hour

Summary

The workflow that came out of this experiment is genuinely new for me. Instead of manually dragging and dropping files over an FTP connection like I had for two decades, I now just write a post in markdown locally, run one command, and the live site updates.

new agentic workflow

What surprises me most is how little I need for the architecture of a small site these days. No database. No login. No CMS. The toil of the early 2000s is simply gone. I needed less of what I knew about full-stack coding and more of what I knew about how systems quietly fail.

Want to see the final result? Checkout amandafitch.com. Interested to try this yourself? I suggest pointing your agents at this article and letting them figure out how to do the same for you.