client-work (14) codrops (12) computing (1) css (51) design (34) devlife (17) devtools (2) drupal7 (28) drupal8 (7) emoji (1) frameworks (3) git (1) github-pages (5) gitlab-pages (1) gulp (5) hardware (2) html (10) i18n (4) javascript (12) jekyll (6) kohana (3) nexmo (6) nodejs (7) opinion (32) performance (4) podcasts (3) retrotech (4) rtc (1) servers (2) side-project (4) site-building (12) specifications (1) theming (4) translated (5) typography (15) workflow (8)
2019

Building a check-in app with Nexmo's Verify API

Let’s say you are running a game like The Amazing Race, where there are multiple checkpoints that players have to...

Add Two-Factor Authentication to Node.js Web Apps

Two-factor authentication (2FA) gets its name from the fact that you require two things to verify your identity. Something you...

CSS variables for fun and no profit

I run a little monthly CSS meet-up called Talk.CSS, and the man who founded this endeavour with me one fine...

An exercise in progressive enhancement

I’ve had more opportunities to work on the server-side of things these past couple of months, specifically in Node.js, and...

Getting started with Nexmo's Number Insight APIs on Koa.js

Nexmo’s Number Insight API delivers real-time intelligence about the validity, reachability and roaming status of a phone number and tells...

Table design patterns on the web

Tables are a design pattern for displaying large amounts of data in rows and columns, making them efficient for doing...

SMS in the browser: an adventure in WebSockets (and Nexmo Messages API)

A lot of the heavy lifting done by the Nexmo Messages API happens on the server-side. Messages are sent, received,...

A beginner's guide to server-side web development with Node.js

For the bulk of my web career, I’ve worked exclusively on the client-side of things. Designing responsive layouts, creating visualisations...

2018

Build an SMS bot on Glitch with Hapi.js and the Nexmo Messages API

The Nexmo Messages API allows you to utilise a single API to send messages via multiple channels, like SMS, MMS...

Refactoring an inherited codebase

So for 2018, I got myself some gainful employment doing full-time frontend development work. You know, the kind where you...

Learning Cordova while rewriting an app

This is a “refactoring legacy code” post, and I suspect you’ll see more of these in the months to come...

2017

The one about an app

It’s finally happened. I did a proper Javascript thing. Now before you start to judge me, let me clarify that...