This Website
The online CV you're browsing right now—this is how I built it.
I wanted to have my own website… but how?
After hearing about services like Hostinger and others for a while, I decided to invest a bit of money in my career portfolio and create another way for companies and coworkers to learn more about me.
I got a preview of a possible website generated by one of these platforms, and it would have cost around €95 for two years, including the domain, email, and drag-and-drop customization.
Not a bad deal, but I asked Gemini and ChatGPT for a second opinion. The consensus was that it wasn’t a bad price, but I could get the same result for much less if I built it myself.
So, I could save a few euros and learn something new? Hell yeah!
The stack
After doing a bit more research, I settled on the following stack:
- Astro for web development
- Tailwind CSS for styling
- Cloudflare for DNS
- Vercel for automatic deployments
With this setup, every change I pushed to my repository would be deployed automatically and served on my own domain.
Later on, I realized that Vercel’s free tier could potentially become a limitation. It includes restrictions on edge requests and bandwidth. I didn’t expect to hit those limits with regular visitors (of which I expect there will be… very few), but a malicious bot attack could have caused problems. So I eventually migrated to Cloudflare Workers & Pages, which provides essentially the same experience while offering stronger protections and virtually unlimited bandwidth.
Let me be clear: I didn’t manually write the code for every part of this website. I’m not a frontend engineer, so I relied on AI to help me along the way.
So this website is just a couple of prompts… huh?
No! Unfortunately for me, it wasn’t that simple.
All the text you can read here and anywhere else was written by me, first in english then translated (with automatic tools, yeah) to spanish, for me to review later. For the code, I spent several weeks tweaking small details, providing examples of designs I liked, and gradually shaping the website into what you can see today. Along the way, I learned a bit of Astro, some JavaScript, and tried to follow good web development practices whenever possible.
Learning about UX and user intent
I released the first version of this website to a “friends & family” group so I could gather initial feedback and suggestions. Although this is my first site, I put a real effort into making the user experience as seamless as possible.
Some of the people I shared it with were former colleagues—people I fully expected to navigate the site and absorb the info effortlessly. However, I was surprised to discover this was not the case.
In most cases, their feedback genuinely improved the site, as certain interactive elements weren’t obvious or options weren’t clear enough. Surprisingly, tech-savvy users sometimes had the worst experience. On the other hand, users without any tech background were exploring every corner and spotting the most minuscule details. How so?
That’s when I started reflecting on user intent.
People visiting just to quickly glance at the site won’t click on everything or pay close attention. Conversely, those genuinely eager to help end up exploring every page, clicking every button, and discovering areas casual visitors would never reach.
Ultimately, it’s all about balance. On one hand, you want casual visitors to grasp the main idea effortlessly and navigate with ease. On the other, you don’t want to overwhelm enthusiastic users with clutter or make key information hard to find.
I hope I’ve struck a good balance here, though as with many things in life, the more you learn, the more you realize how much you don’t know.
Can we see the code?
Well, you’ll be able to do that in the future! Right now, I think it still needs a bit more polishing to make sure it follows best practices. I’ll make the repository public and add the link here soon—pinky promise.
