Author: Joaquim

  • Weeks 3-10

    Welp, it’s been a while.

    Stayed away from OpenClaw, the automous agent

    Shifted away from using OpenClaw completely since wanting to GSD (Get Shit Done) as opposed to arguing with my claw about software updates, or trying to figure out how to best organize my context windows. That’s the thing with AI, it only does great if it knows what you’re asking for. If not, well, you’re kind of screwed.

    With OpenClaw I was communicating in one Telegram window –you generate a long context window that continually gets summarized as you develop more and more context.

    OpenClaw is great, but I think it’s more aimed toward more experienced develops. The way I communicated with my AI was through Telegram, meaning that my conversations got to be extremely long. This means that I’d have to reset the context of my model, manually when it got to be bloated. Once it was bloated, I’d then have to tell the model to read a summary of the prior context so it could start afresh. I understand how the aim is to have one agent you’re speaking with, continuously, in one window. In effect, you’re mimicking a person, but it’s not so clear.

    For one, it makes it hard to know how the memory has is stored if you don’t have a separate context window over time. It becomes something too involved for you to keep track of.

    Then, I shifted over to Claude Code and it’s going fine. And I totally want to move onto the next blog because I’m sick of this one.

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

    Week 2 sucked.

    Like, for real. 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, but I don’t want to do it again. 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 depending on it 24-7.


    The Wake-Up Call: Dependency Is a Hidden Risk

    On April 4, I lost access to my Claude Max subscription, because, apparently, OpenClaw is banned by Anthropic (the guys who own Claude). I DID have about a 24-hour lead time before I needed to transition off of Anthropic, but I don’t read many emails, and I missed it. When I did lose access, I panicked. This is because I built a dependency on a single model, Opus 4.6, while I was still learning how all of this worked. It’s THE BEST model out there, but I’ve had it explained to me like learning to drive in a Ferrari and then acting shocked when someone takes the keys. But I did PAY for the Ferrari, right? Er, okay, well I rented it at least.

    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

    The lesson here is that 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 I wasn’t happy about it.


    ChatGPT Pro Reality Check

    At first, it felt broken.

    • Responses taking 5 to 6 minutes
    • Sessions freezing
    • “Something went wrong” errors

    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 ChatGPT forgot about me. Weird feeling, indeed. Turns out my session context was overloaded and I tried to have the model send me updates every 30-90 seconds, but that’s not how these models work. Large language models do not have little internal alarm clocks. They do not “check in” on their own. They run, and they respond.

    From this I learned to 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. The lesson here is that after any context reset, run a read-only audit before making changes. Very painful lesson.


    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.” And I feel like I have to say please with ChatGPT because that model gives me the corporate creeps. But, with ChatGPT I did fix things.

    So, I set up:

    1. Git
    2. database backups with mysqldump
    3. a site snapshot workflow

    Now I can save state, roll back quickly, and stop reverse-engineering my own mistakes from memory. Version control is a MUST HAVE. If you don’t have it, you’re not building; you’re 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 broke a lot of shit. So, I removed her root access and her a regular user. To be clear, she could’ve still destroyed the website as she did, but this removes a particular layer or stress from my brain since she could’ve also destroyed my server. And yes, the reason I gave her root access was so that she could install and configure the web stack, server security (ironically), and SSL.


    OpenClaw Was Blocking Me, Not the Model

    I kept seeing that something went wrong and so I blamed the model. But the real issue The real issue was OpenClaw security was blocking command where I was getting strange errors like “long SQL commands looked obfuscated,” or approval mode set to block instead of ask.

    So I changed the approval behavior to ask: on-miss. Funnily enough, I had to use Claude Code from another machine to help fix the environment Ava was running in. At this point I’m starting to wonder why in the hell I’m even using OpenClaw when I can just use Claude Code…?


    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. I learned that you don’t save money with Gemini API pay-as-you-go. And that’s when I decided to stop using Gemini, but AFTER it fixed the website errors where all my images were turned into text. So, at least Gemini helped fix ChatGPT’s major error.


    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
    6. Very frustrating

    It hurt, but I’m learning…

    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.