Dec 18, 2023

MVB: Minimum Viable Blog

by
Gal Jakič
// No content to parse

It took me four years, two months and two days to go from buying the jakic.dev domain to turning it into a blog. The reason was obvious, simple and didn't have anything to do with tech or work.

The blog post you are currently reading, MVB: Minimum Viable Blog, is a part of the Building MVB series. Feel free to view the other posts in the series by following the link.

A Short, TL;DR Origin Story

Since launching this blog 8 days ago, I’ve been ashamed to put it out there. Sure, I added it to my LinkedIn page and sent it off to a few friends, but I was totally and utterly terrified to put it out “for real.”

The idea of this website started 5 years ago. First, it was supposed to be a Medium publication. No hosting, no problem. I even had a small circle of people interested in what I had to say due to my previous position at Hiveterminal.

Then, I decided I cared deeply about owning my own content and might as well make it a mini personal website. I wrote the first version in Jigsaw. It was nice, close to Laravel, but not quite there.

I got tired of jumping the not-quite hoop, so I shifted to a pure Laravel project, which I thought might be better and more future-proof. What if I want to turn it into a full learning management system one day? Or allow people to guest post? Or use it as an opportunity to create my own CMS and stop shipping WordPress sites once and for all…

A few years later, I migrated it (again) over to Astro. No server to babysit and pay for. Pretty close to straight HTML. I was about 95% in when I realized that I wanted to modify some of the out-of-the-box behavior with how I wanted it to work and I know close to zero JavaScript. Great.

What you’re reading right now is v4. It’s in SvelteKit, since I decided that I should probably consolidate all of my websites to a single platform instead of a never-ending merry-go-round of the new & shiny framework. Also, it gave me a chance to learn the basics of SvelteKit, so what the heck…

What is worse is that across all the iterations, the functionality is mostly the same and the look pretty much hasn’t changed. Sure, some tech made some parts easier and others close to impossible. Most of the time I was hitting the same roadblocks over and over, dreaming of the ideal combination of UX (user experience), DX (developer experience), and AX (authoring experience).

Four years went by and I wrote close to zero non-work-related content. Yikes.

Here’s the Hard Truth…

As developers, our job is not (only) to write code. We spend most of our professional lives translating business requirements to code, tools, and products. Creating abstractions. Turning concepts into models, migrations, controllers, and endpoints. We turn ideas into flowcharts and prototypes and make beautiful products, (ideally) on time and on budget.

We get to play with all sorts of tech. From basic to advanced. From great to the one that makes you cringe. And since in our thirst for knowledge we mostly get sucked into our respective tech rabbit hole of the internet, we get to see plenty of websites. Pretty websites, with animations, articles getting read automagically by AI voices… you get the gist.

This is why it is an absolute nightmare to try to design and publish your own personal site. The voice in your head tells you it is not polished enough. Or wide enough. Or colorful. Or full of content.

You start comparing yourself to all sorts of people, who started publishing years (or in some cases decades) before you did. They’re not necessarily better than you, just way further along.

You get weird ideas flashing through your head. You start considering your website as sort of step one to your forever internet tombstone, that will live forever and be visited by internet tourists for years, so it can’t just be bad, right?

It should have more reference projects and client testimonials. You tell yourself your front-end skills are inadequate. That you should hire someone to code it up for you, or at least review it. That you need to get a proper photo taken and use one of the technologies from the razor’s edge to build it. Maybe it should be serverless? Maybe it should use GraphQL to pass your data around?

I’m not describing a fictional voice. This voice was in my head the whole time when building gal.jakic.dev, where this article will reside. Probably still is…

This voice is not real. This voice is the reason that I didn’t have a personal web page, even after 15 years of working in the web and tech space. This voice is just imposter syndrome talking. Just ship the f*cking thing already…

So, What Will You Use?

So, I built myself an MVB – a minimum viable blog. It is a statically generated site, with Tailwind CSS and MDSveX, hosted on Cloudflare. It has a Home page. It has a Blog page. It has an About page. I designed and built it myself and it is good enough.

The UX is okayish. DX and AX is a can I kicked as far down the road as I could. Currently, there are manual steps everywhere, there’s unnecessary duplication all over the place, and multiple files need to be changed for a blog post to be published. Spotted a few new ones since I started writing this blog post to be honest…

But I’ve decided all these nice to haves will just have to wait for another day. At work, minor issues like these would never delay a launch on my watch. Ever. So why whould they do so here?!

There is this thing called WordPress you could use…

Yes and no. It’s not that the features of MVB (Minimum Viable Blog) are “too advanced for WordPress to handle.” When it comes down to functionality, this website is straight up basic. Also, WordPress – love it or hate it – probably still owns the rest of the web in how quickly you can turn an idea from draft to launch.

Yet, inevitably, I get to compare most development experience (or DX) to the very high bar Laravel has set. And I find that every time I type laravel new, it’s a magical feeling.

I don’t get that with WordPress.

And - fingers crossed - maybe this is step one in a very long journey and I don’t want to use a platform I’m not very fond of to begin with. We all need more magic in our lives.

What’s next?

There are a million things I wish were on it and are not yet there. But as long as I keep writing, they will pop up eventually.

If you got this far, thank you.

P.S.

Check $this->page if you’re interested in learning more about the technology used to power this website or better yet, contribute your own.

Gal Jakič
Gal Jakič
Product & Project Manager at Acenta & Founder at We Wow Web. In 2006, he started in tech by developing WordPress websites and got into tech full time in 2016.

Between 2005 and 2014, he was a member of the Slovene Para-Alpine Ski Team and represented his home country, Slovenia, in Paralympic Winter Games in 2006, 2010 and 2014.