Skip to main contentBill Alive Portfolio

Web Development

I first learned HTML in the late 90s, and I’ve been developing websites professionally since 2005.

CSS3HTML5WordPressHugoGatsbySASSjQueryNPMNodeJSReact

My Company: Wineskin Websites

WordPress

For the last several years, my tool of choice for building client websites has been WordPress.

WordPress hits the sweet spot: both easy enough for clients to use themselves to update content, but also with a rich enough plugin ecosystem that I can build complex, customized sites to meet their needs.

WordPress

Jamstack (Hugo, Gatsby)

For my own sites, I prefer the next iteration of web technology: “static” sites, currently popularized as the “Jamstack”.

A Jamstack site decouples the process of creating and updating the website from the final act of serving the site to visitors. The goal is to “build” a site that can load as quickly as possible, with as few server resources as possible: just good old HTML, CSS, and (hopefully not too much) Javascript.

I’ve used Hugo, “the world’s fastest framework for building websites,” for my Bill Alive author site, Your Awesome Memory, and my new “Digital Garden”. Hugo can be rather a steep learning curve, but it really does build fast.

For this portfolio site, I chose Gatsby, because the Gatsby Theme Carbon Starter from IBM offers a comprehensive library of pixel-perfect components for a professional-grade site.

These are two of the more popular frameworks, but this ecosystem is bursting with fascinating, specialized tools. When I was putting together my Data Science site, I was delighted to discover Jupyter Book, which makes it incredibly easy to arrange and publish Jupyter Notebooks as a single coherent website.

Complex Migrations

I love migrating large, complex sites stuck on dying software to a shiny new framework. The rebirth is glorious.

For one major client, I initially rescued their site (with several hundred articles) from a bespoke custom CMS that felt like an Access database. This was over a decade ago, so I wrote a Perl parser to help me clean up the truly horrific markup that had found its way into these artices over the 1990s and early 2000s… we’re talking “headlines” designated with <FONT color="purple">. I got everything safely into Joomla, but over the next several years, as they needed more features, we migrated to Drupal (which so much better) and finally WordPress.

With each migration, I relished the challenge of rebuilding and improving the “same” site with new tools, and new features.

Today, I’m most interested in migrating large sites to a Jamstack system, like Hugo or Gatsby above. While small sites are still probably best served by WordPress, larger sites, with hundreds of pages and thousands of visitors, can get huge benefits from the lightning-fast loading speeds and rock-solid security that only a static site can offer.

Past CMS Software I No Longer Use

A quick note for old times’ sake: I had a really good run with Drupal 6.

After fighting with Joomla’s arbitrary restrictions (e.g., at the time, content could be only two levels deep in the category hierarchy), Drupal 6 was magnificent. It felt developer-centric, oriented toward shell commands and logical content paths, and you could actually manage it from the command line. So good.

But over time, Drupal’s focus on developers also became a weakness.

While WordPress was all about the ordinary human trying to edit content, in the land of Drupal, trying to get “basic” customer features like a rich text editor could be exquisitely painful.

Then came the juggernaut of Drupal 7, and my clients were quite unhappy to find that all that beautiful customization I’d done for them would cost thousands of dollars to rebuild in an obligatory update, with no real benefits they could perceive. It felt like the Drupal leadership had chosen to focus on “enterprise” customers.

Today, I’d be curious to know what benefits Drupal would offer over Javascript frameworks like Gatsby or Next. For the right project, I might take another look.

I really did love Drupal for years. I even got involved with a specialized Drupal hosting company, helping them write their technical documentation.

Which, incidentally, is a perfect segue into our next skill