The beginning

Publishing this website has been the result of having a purpose and taking decisions. In this first post I would like to share my experience.

Website7 min read
A lonely road going to mountains, representing the beginning of my website journey.
On this page
  1. 01The purpose
  2. 02A bit of history
  3. 03The decisions
  4. 04The meaning the site has for me

Welcome to the first post of the website! This marks the end of the challenge of getting a first version of my site ready to go. In this post I want to talk about its purpose, decisions taken, and what it means to me.

The purpose

I would like to have a space to express my technical learnings and own my own opinion. I have a lot of learnings from the current Computer Science career I am studying now, my professional experience, and readings / personal projects. Additionally, the rising of Generative AI is a great source of fresh knowledge.

The current development of Generative AI makes me dedicate time to self-learning how it works, especially for coding and develop apps that are using AI as RAGs. I would like to talk also about more topics such as machine learning and any tech staff I do on my free time. Also, I plan to share some experiences from future events like Drupal Camp Spain 2026.

In short, the main purpose of my personal page is to write technical posts. Other purposes are having a way to promote ways to contact me, and a brief presentation about me. Last, but not least, this helps enrich the internet with human content, as all the posts will be written by me helps reducing the Dead Internet Theory.

A bit of history

Before digging into decisions, I would like to talk about my previous experience making a personal website.

The first time I dit it was in 2018. It was a basic portfolio made with Nuxt and Drupal. My idea was making a decoupled site where all the content was created with Contenta CMS. It worked fine. Even it had an automated Travis CI job that was publishing automatically the site on GitHub Pages after every edit. I’ve unpublished it as I felt it was unfinished. I’ve also noted that no matter how much automation I add, maintaining a decoupled site might consume a lot of time. It involves maintaining Nux app and Drupal at the same time, having to cover package updates from both technologies. Indeed, every update may bring unexpected problems that needs time and testing. This lead me to take unconsciounsly a decision: If I want to make a personal site I want it to be extremely simple.

The decisions

With this purpose in mind and my previous background, these are the most important decisions I made to bring the website to life.

Keeping it simple

This is a decision I made unconsciously, as I want to take it easy. I’ve went focused on not having complicated features, and a light maintenance process. One example of this is the search. First I thought that it was a good idea to add a complex faceted search. Then I noted that the number of posts is manageable. By a simple clustering of the content by categories, tags and years, I ensure that every post won’t get lost over time.

A personal website does not need to be sophisticated

It was not only the search; the full stack of a website came to my mind in order to make it, which wasn’t simple. For me, a website has search, cookie compliance, analytics, newsletter subscription, comments, etc. Then I thought: do I really want that? My purpose is just publishing content. I want to collect nobody’s information, neither emails nor their activity. I personally dislike telemetry. Of course I want others’ feedback, but that can be done with different methods.

The website will be made in Astro

Astro can generate static HTML pages. It does not need server side rendering. This avoids me to constantly update packages due to possible security issue. I must continue maintaining the packages used for development, but that is much lighter. I must only check that my production infrastructure, Cloudflare and GitHub Pages, are up. It also allows me to create a theme from scratch. And, the most important: creating content is pretty quick thanks to them being written in Markdown. It is true that I don’t have the sophisticated tools that provide a CMS like Drupal. Even sacrificing all the utilities and amazing features that I could easily make with Drupal, with Astro I have enough. Finally, to be honest, I was curious about how could I build a web with Astro and Tailwind.

The page will be focused on posts

I asked myself, what do I want people to do on my website? I want them to read my posts, but also read about me. I don’t pretend to provide a curriculum; I have a more elaborate one if someone asks for it. That’s why hgomepage starts with the recent blog posts section.

A styleguide is the ground to develop the entire website

When it comes to design components and layouts of the site, the creation becomes a bit challenging for me. As I am an analytical person, I work better under a structured way to develop. That is why I started making the site with Storybook, which allows me to create every component before stepping into theming every page. Developing every component has been my favorite part during the web site building. This has let me learn a lot of stuff about theming, component development, and Tailwind. And a lot of CSS features that are new to me like the View Transition API.

It also allows decomposing all the website components easily, without needing to look at the big picture every time.

I being the development, Generative AI continues my job

Even though AI is able to code the entire website from scratch, I think it is more responsible to start by myself and then let the AI do the work. In this way, I can learn from scratch how Astro works, how components will be build with Tailwind and DaisyUI, and how to build a Storybook. After building most of the components and pages, I’ve just let the AI continue the work to provide the end result.

Posts will be mostly written by me

This breaks my “making it simple rule”. But, in times when it is possible to automate every action, from writing to streaming, it is important to push toward human interaction. My process implies first writing the content by myself. Then, I plan to use AI to review my writings and provide detailed continuous feedback.

The meaning the site has for me

Independent of its content or how many people it attracts. it is very satisfactory to finish a project, even it is small. There are too many ideas and personal projects that never get finished due to eternal delays, reconcile personal life, or just rejecting the idea that looked great at the beginning.

Having a space to express myself feels also comfortable. I can express my opinions which may connect with readers. Also, my knowledge can help others dive into new concepts, or understand how something works. And, I can provide fresh content to the internet, pushing back against soul-less AI content.

Let’s see how this personal project goes over time, how much knowledge and how many opinions I can share, and see if they can influence into somebody.

Thanks for reading.

Omar Lopesino

Omar Lopesino, Senior backend developer working mostly with Drupal.

About me