Databases and filesystems are slow, you should be caching API and database calls. Here's a simple way to do so.
In the last few months quite a few changes have happened to Browserify, Babelify, and React; most of the existing build processes I've seen on the net have stopped working, and the ones that do are poorly explained. Here is my take on a full react build process. With this setup the initial build takes 4.2s on my system and any source updates happen in under 400ms.
When working with text on a website you have a wide range of CSS techniques to manipulate the text. These methods do not always act as you may intend and may hinder the readability of your site. What's safe and whats not, what ways can you use to keep your websites readable.
When creating a website for a client it's always difficult to remember all the items you're going to need. You need images for sharing on social networks, favicons for adding to home screen on iOS devices and browsers, and you need text to describe all sorts of things. Some of these need to be done before you start, some need to be done as you build your pages.
When writing a new website I, like everyone else, like to take shortcuts. This by itself is not a bad thing, `We stand on the shoulders of giants` after all. A common method is to use a starter template, Bootstrap, Foundation, Pure or others...
Setting up templating in your metalsmith project is a necessity, and extremely easy with metalsmith-templates. You can use pretty much any templating engine you choose, and that template is fed the json generated by Metalsmith and your other plugins for input.
Getting started is always the worst part of a project for me. There are so many possibilities when starting a new project, and so many choices to be made. When working on a job for work, it's easier to get started; I've got deadlines. But for a personal project you've got all the time in the world. To get over this paralysis I've adapted the same methodology in both my job and my personal projects.
I've gotten in the habbit of re-working my website every year or so due to it not having one or more features. The features I want to show are generally to highlight both my skill as a web developer and to make the website robust enough to write any type of page/tutorial/video/other.