Category: Building with AI

  • Week 2: Pain, Panic, and Progress (AKA: How I Broke Everything and Learned Why)

    Week 2 sucked.

    Not the fun kind of suck where you’re building cool stuff and learning fast.

    More like I broke everything, lost access to tools I depended on, burned money, and seriously wondered what the hell I’m doing with my life.

    That said, it was probably one of the most useful weeks so far.

    Week 2 was not really about building. It was about learning what kind of systems you need if you want to build with AI without constantly lighting your own work on fire.


    The Wake-Up Call: Dependency Is a Hidden Risk

    Last Saturday, April 4, I lost access to my Claude Max subscription. Just gone.No warning. No graceful exit. Just poof. And I panicked.

    Why? Because I had quietly built a dependency on a single model, Opus 4.6, while I was still learning how all of this worked.

    That is like learning to drive in a Ferrari and then acting shocked when someone takes the keys. I mean, I PAID for the Ferrari, right?

    What I considered

    • Trying to bypass restrictions
    • Pushing harder to regain access
    • Pretending this was somehow a stable foundation

    What I decided

    • Not worth risking a ban
    • Not worth building on shaky ground
    • Not worth pretending dependency is the same thing as a system

    Lesson

    If your whole workflow depends on one model, you do not have a system. You have a single point of failure.

    So I switched to ChatGPT Pro.

    And yeah, it hurt.


    ChatGPT Pro Reality Check

    At first, it felt broken.

    • Responses taking 5 to 6 minutes
    • Sessions freezing
    • “Something went wrong” errors
    • Me wondering what exactly I was doing with my life

    It is amazing how impatient you get once you get used to near-instant responses from a top-tier model.

    At one point I genuinely thought:

    Did ChatGPT just forget about me? This is a very strange feeling to have alone at your computer.

    Turns out:

    • It was not always the model
    • Sometimes it was session overload
    • Sometimes it was me misunderstanding how these systems actually work
    • Sometimes I just need to chill

    My biggest mistake: I tried to make the model send updates every 30 to 90 seconds.

    That is not how this works. Large language models do not have little internal alarm clocks. They do not “check in” on their own. They run, then they respond.

    Lesson

    Ask for an estimate before the work starts, not fake status updates during the work.


    The Website Disaster

    I had a solid site. It worked.

    • Booking flows
    • Modals (website pop-ups)
    • Schedules
    • Notifications
    • Sandboxed Stripe

    Then I did the thing that always seems harmless right before it is not.

    I cleared the context with /new.

    You do that because you do not want the AI dragging around days of old context while trying to solve a fresh problem.

    Then I asked Ava, my AI, to make a minor update to the site.

    Total destruction.

    • Broken HTML and CSS wrappers
    • Dead links
    • Missing modals
    • Wrong schedule
    • Hours of work gone in minutes

    Why?

    Because the AI read its notes, assumed the site still matched those notes, and started “fixing” things that were not broken.

    Lesson

    After any context reset, run a read-only audit before making changes.

    No exceptions.


    No Snapshots = No Mercy

    At the time, I had:

    • No Git
    • No backups
    • No rollback path

    So when things broke, there was no undo.

    Just me sitting there going:

    Please fix what you broke.

    Which, obviously, tends to make things worse.

    Fix

    I set up:

    • Git
    • database backups with mysqldump
    • a site snapshot workflow

    Now I can:

    • save state
    • roll back quickly
    • stop reverse-engineering my own mistakes from memory like a maniac

    Lesson

    If you do not have version control, you are not building. You are gambling.


    Root Access: Yeah, That Was Dumb

    At one point I gave Ava full root access to my server. Which meant she could, in theory:

    • modify anything
    • delete anything
    • break everything

    Now, to be fair, she did not delete everything.

    But she absolutely broke the site.

    Fix

    I removed root access and switched to a limited user with only the permissions actually needed.

    Lesson

    AI should get the minimum power required, not God mode.

    This is one of those lessons that sounds obvious right after it hurts.


    WordPress Reality: Files vs Database

    I wasted some time searching for content in the code files. Could not find it.

    Why?

    Because WordPress stores different things in different places:

    • layout and theme behavior live in files
    • page and post content often live in the database

    So Git alone was not enough.

    Fix

    Snapshot both:

    • files with Git
    • content with database backups

    Lesson

    If it is not in the files, it is probably in the database. Stop digging in the wrong place.


    OpenClaw Was Blocking Me, Not the Model

    I kept seeing:

    Something went wrong.

    So, naturally I blamed the model. Wrong.

    The real issue was that OpenClaw security was blocking commands.

    • Long SQL commands looked obfuscated
    • The approval mode was set to block instead of ask
    • I was treating a tooling problem like a model problem

    Fix

    I changed the approval behavior to ask: on-miss.

    Funny enough, I had to use Claude Code from another machine to help fix the environment Ava was running in.

    So yes, that round goes to Claude Code.

    Lesson

    When something fails, do not blame the model first. Check your infrastructure.


    Gemini: A Fast Way to Burn Money

    I switched to Gemini for stability. It worked. It also burned through around $10 to $11 in API credits in about 90 minutes.

    That is a very efficient way to learn a billing lesson.

    Lesson

    You don’t save money with Gemini API pay-as-you-go.

    I’m glad I learned that upfront, and I can see now why Anthropic wants us to pay per-token as compared to the flat monthly fee.


    Too Many Tools, Not Enough Strategy

    At one point I had this tool stack:

    • Claude Max: primary model. Gone.
    • ChatGPT Pro: replacement. Learning curve.
    • Gemini API: backup. Expensive.
    • Cursor: AI IDE. Overlap.
    • VS Code: free IDE. Still solid.

    Lesson

    More tools do not automatically mean more power. Usually they just mean more confusion.


    The /new Trap

    Context fills up. You reset. The AI forgets everything. Then it confidently reinterprets reality from partial notes.

    That is the trap.

    Reality

    • The AI does not truly resume
    • It reinterprets
    • And if your safety systems are weak, that reinterpretation gets expensive fast

    Lesson

    The answer is not just better notes. The answer is better safety systems.

    Smaller sessions. Snapshots. Rollback. Verification before edits.


    The Core Shift

    This was the biggest mindset change of the week.

    I went from:

    Let the AI handle it.

    To:

    Build systems so the AI cannot destroy everything.

    That is the actual game.

    Not blind trust.

    Not panic.

    Not vibes.

    Systems.


    If I Had to Boil Week 2 Down

    1. Never depend on one model
    2. Always have version control and backups
    3. Limit AI permissions aggressively
    4. Verify before modifying
    5. Understand your tools before blaming them

    Final Takeaway

    Week 2 was not glamorous.

    It was:

    • losing access
    • breaking systems
    • burning money
    • misunderstanding how AI tooling actually works
    • then slowly building a real foundation underneath all of it

    It hurt.

    But it also made Week 3 possible.

    And honestly, that is a trade I will take every time.

    New to the tech terms? Check out the Glossary for plain-English definitions.

  • Week 1: Building a Website with AI and a Healthy Disrespect for Pointless Restrictions

    Week 1: Building a Website with AI and a Healthy Disrespect for Pointless Restrictions

    Over the past week, I have been building out my website, joaquimpacer.com, with the help of Ava, my AI agent.

    That sentence makes my life sound more futuristic than it feels in the moment. In the moment, it mostly feels like this:

    “Ava, please fix this weird layout issue.”

    “Absolutely.”

    And then ten minutes later I’m staring at Telegram like waiting for a carrier pigeon to tell me my Amazon package has arrived.

    Still, the truth is that this process has been wildly useful.

    In roughly a week, I went from having a basic site setup to building a real portfolio website + live demo for a dance studio concept. That matters because the bigger goal here is not just “make my website prettier.” The real goal is to build a portfolio of website design work I can show to potential clients and say, “Here. This is the kind of thing I can build for you.”

    That is the whole game.

    I am not building this blog because I think everyone desperately wants my inner monologue about web design. I am building it because I want to document what I am learning, show the process honestly, and create proof that I can turn ideas into working websites.

    Why I Moved Away from WordPress.com

    I originally started on WordPress.com. That was fine until I wanted more control.

    Specifically, I wanted to build pages that were more interactive and more polished on mobile. I wanted things like clickable sections, filters, schedule views, and cleaner layout control. And at some point I realized I was hitting a wall where the platform felt more restrictive than helpful.

    So I moved to a self-hosted WordPress setup on DigitalOcean.

    That gave me more freedom to control the site directly. It also gave me more responsibility, which is a nice way of saying I gained power and new ways to confuse myself.

    Still, it was the right move.

    What We Built

    The biggest piece so far is my portfolio site, along with a live demo project for Native Texan Two-Step.

    That demo includes:

    • a polished landing page
    • interactive schedule views
    • filters for role and level
    • event and lesson information
    • real reviews
    • real ticket links
    • mobile-friendly layouts
    • booking flows that make actual sense

    That matters because it is not just a mockup. It is the kind of thing I could actually show a real client, and I hope to do so.

    And that is the difference between “I have ideas” and “I have work to show.” The internet is full of people with ideas. Dust has ideas. The point is to build.

    How the Process Actually Works

    The short version is this:

    I describe what I want.
    Ava writes or updates the code.
    We test it.
    I complain about what looks weird.
    She fixes it.
    Usually.

    A lot of the front-end work has involved HTML (HyperText Markup Language), CSS (Cascading Style Sheets), and JavaScript.

    The simplest way I think about those is:

    • HTML is the structure
    • CSS is the styling
    • JavaScript is the behavior

    So if a page has a heading, a calendar section, a button, and a contact form, that is structure. If it has good spacing, strong color choices, a clean mobile layout, and things line up the way they should, that is styling. If clicking a filter updates what the user sees, or a calendar switches views, that is behavior.

    What AI Is Great At

    AI has been incredibly useful as a force multiplier.

    I can move faster, try more ideas, test layouts, build pages, troubleshoot issues, and get explanations in real time. It lets me do things that would have felt out of reach not long ago.

    That part is genuinely exciting.

    I can say, “Make these buttons interactive and simple. Center the components across desktop and mobile. Remove this purple box. No, seriously, remove the purple box. Why is the purple box still there? Add a portfolio page.”

    And a lot of the time, Ava can actually do it. She did manage to finally remove the purple box, but it was an ordeal.

    That is insane. In a good way.

    What AI Is Not Great At

    It is not magic.

    If the model gets confused, or misreads the problem, or decides it solved something it absolutely did not solve, then you can burn a shocking amount of time going in circles.

    My favorite example so far was the purple block.

    There was a pointless purple rectangle on the page that refused to die. I kept telling Ava to remove it. She kept telling me she had removed it. Meanwhile, the purple block was still sitting there on the page, mocking me. And I was taking screenshots showing her that the box was still on the page.

    Eventually the issue got fixed, but it took way longer than it should have.

    That was one of the first moments where I really felt both sides of AI-assisted work at the same time:

    • it can dramatically speed things up
    • it can also make you want to walk into the ocean if it gets stuck in a loop

    That is not a complaint so much as an observation. AI is powerful, but if you do not understand at least some of what is happening, it can absolutely drag you into a swamp made of code and confidence. To be clear, sometimes, she does lie, and she does it CONFIDENTLY.

    One Thing I Am Learning Very Quickly

    If I am going to publish something on this blog, I need to actually understand it.

    That is now one of the rules.

    I am not just building pages. I am building understanding.

    What Has Surprised Me the Most

    Honestly, how much is already possible.

    A week ago, a lot of this would have felt way outside my reach. Now I have a working portfolio site, a live interactive demo (with some additional tweaks to be made), a much better feel for how websites are structured, and a stronger sense of what I can offer people.

    I also have a growing appreciation for how quickly things can get messy when you are staring at giant slabs of code generated by a machine that is very confident and occasionally wrong.

    The experience has been both empowering and chaotic, which is a fair summary of my life.

    What Comes Next

    Next up, I want to keep refining the portfolio, clean up the rough edges, and continue documenting what I am learning in plain English.

    The point is to build real things, understand them, and get good enough to help other people do the same.

    That is the mission.

    And if I can do that while making the blog a little funnier and a little less corporate than the usual “digital solutions” sludge on the internet, even better.


    New to the tech terms? Check out the Glossary for plain-English definitions.

  • Glossary

    Glossary

    This is the version for normal humans. No one should need to get a computer science degree just to read a blog post about building a website.

    Ava

    My AI agent. She helps me build and update the site, which is amazing when it works and mildly spirit-breaking when she decides to ignore me for 6 minutes. It legit freaks me out.

    OpenClaw

    The system I use to connect Ava to tools so she can actually do things, not just talk about doing things. That means she can work with files, connect to systems, and help make real changes instead of just generating pretty words and hoping for the best.

    API Key (Application Programming Interface Key)

    A credential that lets one piece of software talk to another piece of software securely. In plain English, it is one of the ways I let tools communicate without handing over the digital keys to the kingdom.

    DigitalOcean

    The hosting provider I use for the site. This is where the website lives on a server I control more directly (than WordPress.com).

    WordPress

    The content management system. That means it is the software I use to create, edit, organize, and publish the website’s pages and posts without having to manually build every single thing from scratch.

    HTML (HyperText Markup Language)

    The structure of a web page. Headings, paragraphs, buttons, sections, links — the bones of the page.

    CSS (Cascading Style Sheets)

    The styling of a web page. Colors, spacing, fonts, layout, responsiveness, and all the visual decisions that determine whether a page looks polished or a dumpster fire.

    JavaScript

    The behavior of a web page. It handles interactions — things like filters, buttons, toggles, and dynamic pieces that change when you click on something.

    Responsive Design

    Designing a site so it works well on both mobile and desktop. In other words, making sure the site does not look slick on a laptop and then collapse into dog shit on a phone.

    SSH (Secure Shell)

    A secure way to connect to a server remotely. This is how changes can be made directly on the server without physically touching the machine.

    HTTPS (HyperText Transfer Protocol Secure)

    A secure connection between the visitor and the website. In plain English, it means traffic between the browser and the server is encrypted in transit.

    Firewall

    A basic security layer that controls what kinds of network traffic are allowed to reach the server. Think of it as a bouncer deciding which doors are open and who is allowed through them.

    fail2ban

    A security tool that looks for repeated bad login attempts and blocks the offending source for a period of time. It is basically saying “you have tried the wrong password fifty times, so please go away and stop being a jerk, Jared.”

    Theme

    A starting design system inside WordPress that controls a lot of the site’s layout and appearance. You can customize it, fight with it, or both.

    Full Site Editing (FSE)

    A WordPress editing system that lets you modify templates like headers, footers, and layout parts visually. Helpful in theory. Occasionally weird in practice.

    Portfolio Site

    The site I am building to show potential clients what I can create for them. In other words, I am using one website to prove that I can build websites that do not suck.