DEV Community

Nayeon Kim
Nayeon Kim

Posted on

What tool/framework/cms/etc do you use to build your own personal website?

My whole web development career has been built around building websites and web applications for other people. I first seriously learned how to code to build a website for a good friend. My first job was at an agency, where I punched out one website after another for clients. I now freelance, where I often create sites for clients from the very beginning stages of design to development and launch. I love going through that entire process with my clients. However, when it comes to creating my own freaking website, I am sad to say I have never been able to have a complete one for very long (longest one was a one pager that lasted about two months out of a dire need to find an internship).

Some time of retrospection revealed some reasons why I struggle with creating my own website:

1. It's never good enough - I am always changing my mind. Some thoughts that go through my head: Which projects should I showcase? Oh I don't like that color scheme anymore. That font doesn't really represent my personality. I need to rewrite my bio again!! and the insane list goes on and on and on...

2. I can never pick a framework - Because I developed on WordPress for a long time, every time I think I want to start on working on my website again, my natural tendency is to build it on WordPress. However, with so many cooler sounding frameworks that pop up every few months, I can't help but think that I should try building my site on one of those frameworks so that I could pick up a new framework along the way. The theory is good, but I usually end up in a rabbit hole learning the nuances and the shiny parts of the framework that I end up forgetting about my own website. Then I get distracted by something else and then the site is left unfinished. :(

3. I don't like updating it - When I was looking for internships while in college, I did create and launch a very simple one-page website using Bootstrap and a jQuery slider plugin. After I got an internship I never updated it and took it down shortly afterward. Because I created it so fast, I didn't have any process to easily update my work. Therefore, it became too tedious to maintain and #1 from above started to happen, so I shut the whole thing down.

I look at other developers' websites and am insanely jealous of their ability to buckle down and get theirs done and done so well. So I'm curious... what do you guys use to build your own personal website?

Latest comments (40)

Collapse
 
moopet profile image
Ben Sinclair

I don't really have what you'd call a personal website. I have a flat, emptyish homepage and a bunch of differently-constructed sub-pages which aren't linked anywhere, rather I give the URL out to people as appropriate (like my CV or a demo app for example) and don't worry about being listed in search engines.

As such, I use whatever code I feel like for each thing. Mostly it's plain HTML/JS but there's a little PHP and Perl thrown in from time to time. I have tried using things like Grav and Netlify-CMS but in the end I just don't have the need for such things beyond the fun of experimentation.

Collapse
 
braydengirard profile image
Brayden Girard

Jekyll is awesome, our team works with Jekyll everyday as we build Shopify (Liquid) and custom Jekyll websites for clients. The framework is great for beautiful marketing websites and ecommerce sites.

Collapse
 
psnebc profile image
Patrick Schanen • Edited

Hugo, Grav, Drupal
Hugo, psnc.netlify.com - psnc.github.io
Grav now here as Cloud Platform psnc.frama.site

Collapse
 
sebnitu profile image
Sebastian Nitu • Edited

For my personal site (sebnitu.com) I use Jekyll and a personal front-end framework I call BaseWeb (getbaseweb.com) who’s docs are also built in Jekyll. Both are hosted on GitHub.

The thing I love about my setup is how low maintenance it is. I pretty much just write when I feel compelled to write about something and that’s about it. I intentionally kept it super minimal for that reason. Eventually I’ll add a portfolio too and when I’m ready to do that, the Jekyll theme I setup makes it very simple too.

Collapse
 
jreina profile image
Johnny Reina

I'm using Jekyll on Github pages. Dead simple, very fast, and everything is in markdown so it's easy to cross-post. Github pages allows you to set up custom domains pretty easily as well.

Collapse
 
leob profile image
leob

Very recognizable, it's called "paralysis by analysis", too many choices ... same reason why my site is also still not done (other reason is there is no urgency).

Also as a dev you tend to think "I need to use some cool technology" while in fact there's totally no reason, it's just a basic website ... in my case I thought "I want to use React" because I wanted to learn React but in the meantime I already learned React on a project, so there's no need.

I saw an ex-colleague of mine who created a website for his wife's company using static HTML/CSS/JS (no server side pages generation) with good old Bootstrap and some good looking images and well written text. HTML looks clean, with "sections" and all. It looks mainstream (nothing original or flashy) but it looks clean, fairly modern, professional and friendly.

I think if ever I need to finish my website then this is what I would go for, just download and clone that stuff and replace the text and the images. I'm not a web design artist and my website doesn't need to demonstrate cutting edge, so I just keep it down to earth and use what works.

Collapse
 
monicag profile image
Monica Granbois • Edited

I use Jekyll, Bootstrap and host on github pages for my personal blog. I like it because it uses a simpler structure than Wordpress (a static site vs the DB and PHP code behind Wordpress). I kept it to a simple layout as it's just a blog site and I didn't want anything to fancy. I like that Jekyll uses markdown,which I find easy to use to create blog posts. The one downside of hosting on github pages is you can't run all the plugins available to Jekyll. But it's free, so I stay. My site is monicagranbois.com

Collapse
 
nayeonkim profile image
Nayeon Kim

Another vote for Jekyll + GitHub pages I see! I like the idea of going serverless since hosting WordPress has been a pain for me. I like your site! Very clean and straight to the point :)

Collapse
 
sake_92 profile image
Sakib Hadžiavdić

If you don't mind using a programming language like Scala, try my sbt-hepek plugin. You can make your HTML templates in Scala's traits. Then you just implement an abstract method that will be the content of your page. :) So, it's not a real framework but just a handy tool for generating static files. :D You can find more examples here, rendered at blog.sake.ba.

Collapse
 
mkbaldwin profile image
MichaelBaldwin

I've used a variety of things over time to create a personal site/blog (WordPress, Ghost, etc). I am currently using Jekyll + GitHub Pages and have been happy with it.

While the other platforms were nice, I found that when I self-hosted my site I never took time to update the platform I was using. With static-site generation and GitHub Pages I don't have to worry about updates and security. That is being handled for me. I can't really speak to creating themes for Jekyll because I used an open-source template and made slight modifications.

I also like that my content is all markdown and could easily be ported to a different platform.

Collapse
 
nayeonkim profile image
Nayeon Kim

Thanks, I like the sound of Jekyll + GitHub approach. I also like the idea of having all my content in markdown and being able to port it easily to a different platform.

Collapse
 
ratko_solaja profile image
Ratko Šolaja

My personal website is built with WordPress.
My personal-business is built with plain HTML, CSS and JS. However, I'm preparing a new version that will run on Laravel and VueJS (part of me learning those two things).

Collapse
 
shreyasminocha profile image
Shreyas Minocha

I used hugo and surge for my website: shreyasminocha.me

Collapse
 
benaryorg profile image
#benaryorg

I know that I could accomplish it with plain HTML and some CSS.
As I'm not usually writing CSS I'm sticking to frameworks like Foundation or Bootstrap for the responsiveness.

I then use something to convert markdown to HTML on the fly to make websites easy to edit and look good in both text and rendered form.

For my blog I've built something home grown to also apply syntax highlighting and build a single page app that loads content from different files using AJAX.

If I had a CI and CD framework that allows me to properly run setup steps before deploying the source code, without the resulting files ever being versioned in git, I'd stick to a templating engine to create HTML and CSS only, without JS at all.

As an ops person with a vast knowledge of shellscript I'd probably write the templating myself.
Maybe a Makefile or something.…

Collapse
 
erebos-manannan profile image
Erebos Manannán

Generally I use Jekyll + GitHub Pages.

Hosting a website is too much work for most uses, especially personal website. You will end up with a server that doesn't get patched as you have no reason to check on it all the time, and eventually you will get hacked or have other issues with it and you spend your weekends fixing your homepage.

Additionally there are no easy to host and good CMS systems out there. Drupal and WordPress are both disasters, lots of requirements (database, PHP, some sort of cache solution, etc.) generally really slow and especially in the case of WordPress a security nightmare.

With these issues in mind, and still wanting a solution better than just editing HTML, CSS and JavaScript directly, is where static site generators come in. There are a lot of options, but Jekyll has been my favorite for a long time. You can use templating, SCSS, etc. to build a fairly complicated website with little effort. Setup is generally a breeze and there is little "black magic" involved. It also has a neat plugin system for more complicated scenarios (though they will NOT work in e.g. GitHub Pages).

GitHub Pages can then take your static website (or specifically Jekyll sources) and serve it without you having to worry about hosting at all, and for free. It's not perfect, but it IS pretty good. You will get your website running with minimal effort and updates are a breeze, just push to the repository.

Of course GitHub Pages has competitors as well, but most of them are paid, and considering how important my personal homepage is (not very) I'm generally not willing to pay a whole lot for hosting it.

Some examples I could quickly remember of websites I've built with Jekyll:

Collapse
 
cwreacejr profile image
Charles Reace

Not claiming my site is anything amazing to look at -- but then I'm a server-side dev., not front-end. Anyway, I built my own framework, of course: cwrblog. :)

Now that I've updated it to use CSSGrid, there's essentially no JavaScript in it, and the HTML markup is very clean. Maintenance consists of writing a post in MarkDown, saving it with a standardized file naming convention, then FTPing to my web host.

Now I guess it's time for the shameless plug: charles-reace.com.

Collapse
 
jjude profile image
Joseph Jude

I started my blog jjude.com more than a decade ago. I started it when I was learning SQL as API developer. I was good in visual basic, but not on oracle / sql server. So I was looking for almost same type of issues over and over again. Those days search and speed weren't as good as it is now. So I started to note down my issues and answers which worked as reference for me.

I follow what C.S. Lewis said: I write for the unlearned about things in which I am unlearned myself. I continue that path of noting down things for myself.

Those days I started with plain htmls, then moved to nucleus cms, then to wordpress. I stayed with wordpress for long. But I would go without going to my blog for long (sometimes even 6 months). But then there were memory and security issues on wordpress. So I decided to move back to plain HTML.

Recently I coded my own static engine olai which serves my purpose. Think of it as static blogging as a web-service. I can blog from any browser, it generates plain html and pushes to my server. This has worked out pretty well for me. Someday either I will make it available for others.

Regarding your #1. As we notice other things and we ourselves mature, our tastes evolve (or change). So it is normal that you want to update / modify / confused about what to show. Sometimes I write and publish a post every other day for a quarter and then go silent for couple of quarters. Then I will revisit and tinker with how it looks. And I repeat.

As I said, I blog for myself. It has been a fantastic experience to put out what I know.

I would recommend you to continue to blog. Unless you are a designer (css, ux, whatever other niches are there), don't bother about look of your site. If you write valuable advice, people will come back to your site again and again. Then some will tell you what you have to change (may be you have glaring colors, may be some thing is broken in a particular browser etc). I visit daring fireball, marco.org, and dev.to most often. None of them have fancy design. I go back because I get value there.

Good luck. Keep sharing.