How this site was made

How to create a sexy website for cheap? Short answer: there’s no magic formula. Spoiler alert: here’s a non-magical formula instead.

TLDR

Requirements

  • cheap (free if at all possible, minimal cost if any)
  • lazy (no code or design should be required, nor too much effort)
  • could still pass as a professional website and fool everyone

Solution

Long Version

Say you’re a web developer wanting to appear on the internet to show off what you can do and how cheap and lazy you can be while doing it.

What could you do? Read on and find out.

About you

We all know the number one reason why bugs exist… It’s code. As a developer you know this and you realize whatever you do, you must avoid writing code at all cost and you MUST resist the urge to solve problems with code. It’s not healthy nor productive. You’ll just end up being the sole maintainer of your own buggy code.

You’re no designer, nor have you any talent either, so it’d be counter-productive and ugly for you to design your own site. Instead you’ll probably just customize an already existing theme and NOT spend money on design or designers.

You’re not a copywriter either and all you can do is hope the content you’ll write is going to be decent enough for visitors NOT to run crying from your site. After all, you can’t just “Lorem ipsum…” your way to the internet.

But remember: as a cheap bastard you can’t just go around paying for these things. It’s either DIY or not at all.

Also: you’re an especially lazy bastard so you would avoid doing all of the above yourself.

About your target

So now that we’ve established just how lazy and cheap you are we can move on to define what you’d like to build here. You’d probably want a website that:

  • shows off how smart you are
  • is cheap and lazy to create and maintain
  • doesn’t look like it’s cheap and lazy
  • makes you look like a pro

Isn’t that what all of us wants?

About your options

You’ve established who you are and what you want, now let’s see what you can do about it, what tools will help you on your journey, what techniques will prove useful. Let’s do some in-depth research and let’s steal some good ideas.

A website – on a very basic level – is nothing more than just a content repository. Content is the reason why people visit websites. It makes all website creators content creators, website administrators content administrators and so on. So all websites are just glorified content management systems. You’re a developer so you know that writing and maintaining a content management system is a herculean task. It’s not a healthy lifestyle for you as a lonely developer. But luckily there’re a total of N content management systems out there so you won’t have to write one (where N > 999).

A quick Google search reveals who the market leader is: WordPress. The reason why it’s the market leader doesn’t really matter but this fact makes it the most widely documented and extended piece of software for websites. Most pros and amateurs use it. Some wordpress powered sites are indeed impressive and the software is powerful enough not to let you down when you need it the most. So choosing wordpress you’re actually making a sensible decision. You get easy content editing and easy theme customizing, a WYSIWYG interface, plugins and tons of other features. Some built-in, some from third party developers. You get everything you’ll ever need PLUS the kitchen sink.

Choosing any content management system (instead of none) also means there's a learning curve. But you learn to use the software once an then use it for a lifetime. So it's worth putting aside your laziness and start learning.

How to

First,

Follow these instructions to create a local wordpress installation with docker-compose and install wordpress from your browser.

Second,

Customize the hell out of it, make it your own and create some content.

Third,

Install the Simply Static wordpress plugin, activate it and generate a static export of your site (a zip file).

Fourth,

Follow these instructions to create a GitHub repository for your static content

Finally,

Extract the contents of the exported zip file to your repository root and commit/push your changes.

And you’re done. That’s it.