August 15th, 2024

Writing a website from scratch

I need a new website for myself that communicates my skills and interests. I should work as something I can show to potential employers and as a reference point for myself to reflect on. I could go the easy route and use something that does all the work for me, or I could do it the hard way and build most of it myself.

I started working on this site in 2023, got it into a decent prototype phase, but got stuck when all I had to do was add content. This is me coming back to this project with new-found motivation with the goal of actually replacing my old portfolio I made in school.

What mostly kept me from continuing this project was the perpetual lack of an answer to the question: What do I really want to do? The answer affects which elements are the most important in my website, and how it should be made. This is a question I still don't have an answer to, but I am no longer willing to let it hinder me. I will now focus less on having a perfect vision, and give more importance to throwing stuff to the wall(website) and seeing what sticks. This will likely result in a less consistent style, but a more realistic vibe of what I'm like.

What I have so far

I will give a general explanation here so I dig deeper in separate posts later. The title is "Writing a website from scratch". By scratch I mean I'm not using Wordpress, Wix or similar. I am writing the HTML and CSS mostly myself but I'm still using lots of other people's code.

The main framework is SvelteKit on Node.js. I chose it because I never learned React or any of the most popular ones, and because it is now trending. So far it's been quite fun, but I'm no expert at it yet. It's a full kit for the frontend as well as the backend. The code is compiled and put into a docker container that runs on Cloud Run on Google Cloud. Google Cloud is my expertise, so it was the obvious choice for me.

The special feature of website is the "posts" system. It lets me write posts in Markdown that get converted to HTML on the fly. I used ready made libraries for this. Posts are stored in Google Cloud Storage for the markdown files, and in Firebase for metadata.

I am trying to keep the visual style clean and easy to implement while still looking okay. When the core features are more mature, I can focus more on accessibility and style.

The scope of a project like this is hard to limit. I have many ideas I want to implement, but I need to keep focus on the most important things, which are not always the shiniest and most interesting.

Thanks for reading, I'll keep u posted.