My Personal Website – My First Larger Published Project
My personal website was one of my first larger development projects. I originally created the website during my second year of school, and I continued to redesign and improve it throughout that year.
The very first version looked completely different from the current website. It was a simple static website, but over time I wanted to use the project to experiment with technologies and approaches that I was learning in practice.
From a static website to ASP.NET Core
The biggest change came when I decided to rebuild the website using ASP.NET Core. At the time, I was working with ASP.NET Core at a company, so I decided to use my personal website as an opportunity to practice and deepen what I was learning at work.
Instead of creating another small practice project, I could apply the technology to something that I would actually use myself. This also meant that the project gradually became much larger than the original static website.
Designing the website
Before implementing the new version, I designed the website in Figma. This allowed me to think about the structure, layout, and overall visual direction before starting the implementation.
The design was then gradually transformed into the actual website. Over time, some parts of the original design have changed as I gained more experience and as the purpose of the website evolved.
Technical SEO
SEO became another important part of the project. Rather than focusing primarily on content-based SEO, I worked mainly on the technical side of search engine optimization.
This included things such as generating a sitemap.xml, configuring metadata, and making sure that search engines could properly understand and index the website.
Working on this part of the project gave me a better understanding of how a website needs to be structured not only for its users, but also for search engines and other automated systems.
My own administration panel
As the website grew, I also created my own administration panel. This allows me to manage the content of the website without having to manually modify the source code every time something changes.
Through the administration interface, I can manage things such as blog posts, projects, and other content displayed on the website.
Creating the administration panel also gave me experience with building a complete content management workflow rather than only creating the public-facing part of a website.
A bilingual website
As I started communicating and working in English more frequently, having the website available only in Czech became increasingly limiting.
I therefore expanded the website to support both Czech and English. This required adapting the website structure and content so that the same information could be presented in both languages.
This was another example of the website evolving together with my own needs rather than remaining a fixed project.
Security and maintenance
Security has also become part of the ongoing development of the website. Since the website is publicly accessible, I have had to think about how the application and its administration interface are protected.
Although I consider the project finalized, I still occasionally return to it when something needs to be changed or improved. For example, I recently removed the services section because I no longer offer the services that were previously listed there.
The website is therefore technically a finished project, but it continues to receive occasional maintenance and improvements when necessary.
My first experience with deployment
This website was also the first project that I actually deployed and made publicly available.
To do this, I rented my first VPS and set up the infrastructure needed to run the application. The application was containerized using Docker, and I connected it to a PostgreSQL database.
This was an important step for me because it was the first time I had to deal with the complete process of taking an application from my development environment and putting it on a publicly accessible server.
It introduced me to areas such as server administration, deployment, containers, databases, and the practical considerations involved in keeping a website running.
My first larger project
I keep this project in my portfolio partly because it represents an important point in my development as a programmer.
It was my first larger project that combined several different areas of development into one application. I was working not only on the frontend, but also on the backend, database, administration interface, deployment, SEO, security, and infrastructure.
At the same time, the project has many imperfections. Looking at it with my current experience, there are many things I would approach differently today.
What I would do differently today
If I were starting the project today, I would probably put more emphasis on the visual side of the website. I would spend more time making the interface visually attractive and would likely consider a modern framework such as Next.js for the frontend.
I would also approach some of the architecture and implementation decisions differently based on what I have learned since creating the original version.
However, the current website still fulfills its main purpose. It provides a place where I can present my projects, publish blog posts, and maintain information about my work.
The result
My personal website has evolved significantly from the simple static website I created during my second year of school. It eventually became an ASP.NET Core application with its own administration panel, PostgreSQL database, bilingual content, technical SEO, security measures, and Docker-based deployment.
More importantly, it was the first project that I actually deployed to my own server and made publicly accessible. It gave me practical experience with the entire lifecycle of a web application, from design and development to deployment and maintenance.
While I would approach many parts of the project differently today, I keep it as an important part of my portfolio because it represents where I started with larger, real-world web projects.