Hosting my online presence for free

In April 2013 I bought the domain hoping to someday build a personal website where I could share my story with the world. It only took me only 7 years to finally start building one.

As someone who converts business ideas into completed projects for my day job, I felt responsible about my online presence. It needed to load instantly and have a great uptime, but it also needed to be affordable.

In this post I'll go briefly over how I got my online presence to be optimal to my needs, with great uptime, while only paying for my domain name ($20/year). Many people have similar setups, but I still wanted to blog about mine because it fits nicely together, and makes my life so much easier.

My setup includes a homepage, blog, resume, portfolio, and a page containing all my contact details.

Homepage (

Being used to Laravel & Blade for many years, I wanted to use familiar technologies to build a static website, that was when I bumped into Jigsaw. It was exactly what I was looking for and it was very easy to host using GitLab Pages. This also meant I could have multiple branches and track issues and TODOs on the go thanks to GitLab's amazing issue tracker.

Blog (

Although Jigsaw comes with pretty cool blogging functionality out of the box, I wanted more. Being new to blogging, it takes me ages to finish an article, and I needed to have a platform where I could write whenever I felt like doing it without having to worry about committing every time I'm done with a paragraph. WordPress would've been perfect if the free plan included custom domains.

After trying out multiple platforms I ended up using what might be the oldest blogging platform ever, Blogger (aka Blogspot) because it offers an amazing writing experience (unlike Tumblr) with autosave and all the goodness of Google Docs UX and doesn't require any maintenance (unlike WordPress), and all of that is free of charge!

Resume (

LaTeX + Overleaf were my go-to when I wanted to build my resume. I would then upload the compiled PDF to Google Drive on top of an existing one (as a new version, to keep a permalink). This process became tedious quickly when I had to make small updates & fix typos.

Although I loved Overleaf, it wasn't the best performing or most reliable tool for me to keep using, so I had to move the LaTeX environment to my local machine with some Docker magic.

Finally I decided to push the "project" to GitLab and build it & host it using GitLab CI & GitLab Pages. This meant I could track issues & TODOs on GitLab. It also encouraged me to separate all parts of my resume into different files for convenience.

Portfolio (

This was not part of my initial plan (since I wanted to build my own portfolio / timeline, and had many designs planned & sketched) until I stumbled upon Polywork. Polywork is an amazing new platform for sharing your timeline of life events & achievements with the world. This could slowly replace my entire presence if it allowed me to have more control over the look & feel of my page.

Contact details (

While I could've had my contact details on my homepage, it was challenging to fit them all in any way that made sense. At one point, I had some of them in there, but then I stumbled upon Bio Link and replaced my contact page with a link to my Bio Link profile. It looked really nice, and was easier to maintain.

Let me know what you think of my setup & feel free to share the story of how you built yours!