A little while ago, I bought LucioDias.com.

The goal was simple. I wanted a professional website where I could show my construction experience, projects, credentials and eventually some of the work I want to do outside of my regular job. Basically, something better than sending someone a résumé.

I knew roughly what I wanted the site to say about me, but I did not know exactly what I wanted it to look like. I also was not interested in spending months learning web development before I could make anything useful.

So I decided to see how far I could get using ChatGPT.

I thought I was building a website. I ended up learning a surprising amount about design, development, branding, deployment, mobile behaviour, 3D graphics and all of the weird little things that happen between writing code and having something actually work for another person.

The first version worked. That was not enough.

The early version did what it needed to do. It had my name, my role, my experience and some project information. It looked professional enough.

But it did not really feel like me.

That was the first thing I learned during this process. There is a big difference between something being technically correct and something actually feeling right.

I could have stopped there and said, "Great, ChatGPT built me a website." Instead, every time I looked at it, I kept thinking about what I would change.

I work in construction. A lot of my day is taking drawings, specifications, schedules, trades, technical issues and real-world constraints and getting all of them to work together. I wanted the website to feel like that. Not like a résumé template.

Then the idea got much bigger.

I started thinking about Toronto.

Most of my career has been based around Toronto, the GTA and Southern Ontario. Construction is physical. Projects exist somewhere. They have geography, logistics, constraints and context.

So instead of using a normal static background, I wanted the city itself to become part of the website.

That turned into a 3D environment built with Three.js and WebGL. Then we kept pushing it.

The city became animated. The camera started moving while the user scrolled. When someone scrolls quickly, the website content fades back and the city comes forward. When they stop, the content becomes solid again. If they leave the site sitting for a minute, the whole thing turns into a screensaver and starts moving through the city on its own.

At some point I looked at the screen and realized this had gone very far beyond "make me a portfolio."

Fast output still needs judgment.

This was probably the biggest lesson from the entire project.

AI can produce something incredibly fast. Fast does not automatically mean good.

There were a lot of moments where something technically worked and I still said, "No. That looks wrong."

The CN Tower was one of them. The first version technically had a tower in the middle of the city, but anyone familiar with Toronto would know immediately that it did not look right. So we rebuilt it.

Then the city itself felt too generic, so we started working with actual Toronto geography instead of random buildings.

The animation worked, but eventually it stopped moving enough. We changed the camera behaviour. The fade effect looked great while scrolling, but took too long to return after a fast scroll. We tuned it again. The desktop version had too much empty space on the right. The iPhone needed different framing. The iPad behaved differently from both.

The copy was another problem. Some of it sounded too polished. Once you spend enough time around AI-generated writing, you start noticing the patterns.

I went through the site and stripped out wording that did not sound like me. I removed the em dashes. I cleaned up awkward punctuation. I rewrote lines that sounded like résumé filler.

The goal was never to hide the fact that I used AI. The goal was to make sure the finished site still sounded like a person.

The part nobody shows in the "built with AI" videos.

Production problems.

GitHub. Branches. Vercel. DNS. Caching. Safari. iOS. Open Graph images. Favicons. PWAs. iMessage previews.

At one point the website worked perfectly on the Vercel preview link but not on LucioDias.com.

At another point, iMessage would pull the website title and description but leave a giant blank space where the image was supposed to be.

WhatsApp worked. iMessage did not. Bookmarks worked. The Home Screen app icon worked. The browser favicon worked. One specific Apple preview still refused to cooperate.

We eventually discovered that some of the problems were not really "website design" problems at all. They were host redirects, asset caching, metadata conflicts and different apps choosing different image or icon sources.

That little fight probably taught me more about how websites actually get distributed than the first version of the site did.

I learned the technology because something was broken.

I still would not call myself a web developer.

I could not sit down and write this whole site from memory. But I understand a lot more than I did when I started.

I know what a Git branch is. I understand the difference between a preview deployment and production. I know why caching can make a change look like it never happened. I know what Open Graph metadata does. I know what a PWA is. I understand roughly how WebGL and Three.js are being used to create the city. I know that iOS Safari can behave differently from desktop Chrome even when the code is identical.

Most importantly, I learned how to troubleshoot.

I did not learn these things because I sat down and watched a 20-hour web development course. I learned them because something I cared about was broken and I needed to understand enough to fix it.

That has always been one of the best ways for me to learn.

AI did not remove me from the process.

The better ChatGPT got at producing things, the more important my judgment became.

I was not manually writing every line of code. My job became deciding whether something looked right, sounded like me, worked on a real phone, represented my experience accurately, and was actually appropriate to publish.

That last part matters in construction. Some of my work touches healthcare, industrial and controlled environments. Just because a project detail can be added to a website does not mean it should be.

So the build also became an exercise in deciding what could be public, what should be generalized, and what should stay off the internet entirely.

AI did not remove the need to think. It made judgment, testing and direction more important.

Weirdly, the process felt familiar.

The more I worked on the site, the more I realized the process was not that different from construction.

You start with an idea. You develop a plan. Then the plan meets reality.

Something does not fit. Something interferes with something else. A condition exists that nobody anticipated. You solve it. You test it. Someone notices another problem. You coordinate that too.

Eventually, after enough iterations, all of the separate systems begin working together.

That is basically what happened here. Except instead of coordinating mechanical, electrical, architectural and structural work, I was coordinating HTML, CSS, JavaScript, WebGL, GitHub, Vercel and whatever Apple decided to do that day.

So did ChatGPT build my website?

Yes. But that answer is incomplete.

ChatGPT wrote a lot of the code, helped shape the design, diagnosed problems and helped me understand technologies I had barely interacted with before.

But the website only became mine because I kept directing it.

I kept testing it. I kept rejecting things. I kept asking questions. I kept changing the direction.

AI gave me the ability to build far beyond what my programming knowledge would normally allow. It did not remove the need to think. If anything, it made thinking more important.

You do not necessarily need to know how to build everything yourself anymore. But you still need to know what you are trying to build.

You need taste. You need judgment. You need curiosity. And you need to be willing to keep saying:

"That’s close. But it’s not there yet."

What comes next

This feels like the right first blog post because the website itself is part of the story.

I plan to use this section for more than technology. I want to write about construction, site operations, scheduling, project controls, lessons from the field, and the tools I am experimenting with along the way.

The site is still changing. That is probably the point.

If you want to see the thing I am talking about, the portfolio is live on the homepage.

Explore LucioDias.com →