Jonathan Blades

Jonathan Blades

Husband, dad, developer and writer

Hello

I’m Jonathan, although most people call me Jono. I’m a software developer based near Glasgow, Scotland, where I live with my wife, our two sons and a growing collection of unfinished projects.

I spend most of my working life building web applications, solving problems and trying to make complicated things feel simpler. Outside work, I write stories, play guitar, build things, go fishing and regularly become absorbed in a new interest.

This site is a home for the professional and less professional parts of my life: the things I build, the subjects I’m interested in and the projects that have escaped from my head into the real world.

What I do

I’m a senior front-end engineer specialising in Angular, TypeScript, user experience and accessibility. I enjoy working on complex applications where thoughtful design and good engineering can make a genuine difference to the people using them.

A lot of my work involves taking specialist or complicated requirements and turning them into interfaces that are easier to understand. I’m particularly interested in reusable components, automated testing, accessible interaction patterns and the small technical decisions that make software easier to maintain over time.

I also line manage and mentor other developers. I enjoy helping people work through technical problems, build confidence and find solutions that fit the problem rather than simply reaching for the most fashionable technology.

You can read more about my professional experience in my résumé.

Things I make

scan-compromised

A command-line tool for checking JavaScript projects for packages associated with known software supply-chain compromises.

It began as a practical response to a real security problem and developed into a maintained npm package with automated data updates, release tooling and support for continuous integration.

Growth Journal

An offline-first journalling application for recording intentions, reflections and personal progress.

It also gives me somewhere to experiment with TypeScript, Web Components, service workers, IndexedDB and progressive web application techniques.

Charlie Tough

I’m writing a middle-grade science-fiction story about Charlie Tough, a boy whose tendency to become travel sick develops an unexpected connection to time travel.

The project combines several things I enjoy: science fiction, humour, strange ideas, illustration and the challenge of writing something that children might genuinely want to keep reading.

Smaller experiments

My GitHub account contains a mixture of useful tools, experiments and projects created to solve very specific problems. These include countdown timers, music tools, accessible websites and applications that seemed like a good idea when I started them.

Some are polished, some are works in progress and some are useful mainly as a record of what I was learning at the time.

Away from the keyboard

When I’m not writing code, I’m usually spending time with my family, cooking, writing, cycling or walking the dog.

I enjoy creative projects with a practical outcome, whether that’s designing something for a story or building a small application. Much of the rest of my time is spent taking the boys to clubs, building LEGO and baking.

How I approach things

I tend to be curious, detail-focused and persistent. When something doesn’t work, I want to understand why rather than simply make the error disappear.

I care about accessibility because software shouldn’t require people to adapt themselves to avoidable barriers. Good accessibility often produces clearer interfaces, better structure and more resilient software for everyone.

I also value practical solutions. The technically cleverest answer isn’t always the best one, particularly if it’s difficult for someone else to understand, maintain or use.

Elsewhere

You can find my public coding projects on GitHub and my professional profile on LinkedIn.

For a formal summary of my experience, skills and professional development, see my résumé.