Andi Smith
Technical Leader • Product Engineer • AI Consultant
Blogs
Yeah... I still blog!
In these blog posts, I write about my experiences in technology and leadership. I share my thoughts on the latest trends such as AI and how they can be applied in the real world.
And if you go back far enough, you can read about 2011's innovations in jQuery too!
...Alternatively read about some of the things I've learned recently...

Vibe Coding
What is vibe coding? Should we all be vibe coding? And how can we do it right?
Generative AI to boost Content Workflows and SEO
Recently I have been experimenting with how AI can help improve content workflows and SEO through the use of real-time content generation.
Getting the best out of Cursor AI
AI is rapidly changing the way how we code. Cursor is one particular tool which has changed the game. Here's some tips on how to get the best out of it.
Containment DX
One of the earliest games we released at Natomic Studios was a 360 Pong variant called 'Containment'. It's been lost to time thanks to the advancement of technology, so I thought I'd have a go at rebuilding it on the web using AI.
Mastering NextJS Parallel Routes
Recently I came across a powerful routing feature in Next.js that completely changed how I thought about structured complex web applications.
The Speed Paradox
Why moving faster often means slowing down first.
Solving InfoSec with AI
Filling in InfoSec surveys is rarely fun at the best of times. How can we use AI to help?
Let's Talk About 1:1s
Should you be running 1:1s with your team?
Do You Really Need Your Own AI Model?
With advancements in AI moving so fast, is it worth the return on investment?
Chaining AI Assistants with Open AI Threads
How to make AI even smarter.
Creating a Technical Strategy
A technical strategy is an important part of any technical leader's arsenal.
Keeping a Daily Note
Starting the year right with a daily note.
Recovering from Failure
In case of emergency, read note.
AI Assistants with WhatsApp
How to get started with building a WhatsApp AI Assistant.
Onboarding like a Pro
How to get your team up to speed.
Aligning Leadership Values
How do you align your leadership team when it feels like everyone is working in a silo?
The Start of Something New
After almost 11 years, I am moving on from AKQA to pastures new.
The Quest for the Perfect Workflow
Getting the right tools for the job.
Creating a List of Posts in Assemble
In the previous post, I showed how to get started with Assemble. Now we have content, let's look at how we can create a list of posts.
Getting Started With Assemble
Want to create a static site blog with Assemble? You've come to the right place. This in-depth tutorial will get you started with creating a blog in Assemble!
Shrinkwrap Your Dependencies
Front end development has evolved over the last couple of years thanks to `npm` popularised by task runners such as Grunt and Gulp.
A Look Back at 2013
2013 was an eventful year for me both professionally and personally. I worked on a multitude of different projects in a variety of clients in a number of countries.
jQuery On and Off Namespacing
Being able to apply and remove events with `on()` and `off()` is great, but sometimes there is a requirement to either trigger or remove a subset of events that have been added to an element. Here's how!
Beginning Web Development
Inspired by a post I read earlier this week on how difficult it can be for newcomers to get in to the industry, I decided that I wanted to write a post with some hints and advice for developers who are just starting out their careers.
Media Queries: The Next Generation
2012 really felt like a progressive step forward for Responsive Web Design. Using a responsive grid became popular as a convienent way of handling column configurations over breakpoints.
Sublime Text 2 Cheatsheets
As my Christmas present to you, here are 2 cheatsheets (one for Mac, one for Windows) so you can learn and reference those shortcuts to improve yourself and your developer skills.
Canvas Animated Particles 3D Effect in 5 Minutes
A couple of months ago, I gave a PechaKucha talk about creating a 3D animated particles effect with the canvas element.
Extending getUserMedia With Canvas
Following on from my previous post which introduced us to getUserMedia, I wanted to share two ways you can extend getUserMedia's video capture using my good friend, the canvas element.
Introduction to getUserMedia
For a long time in the 'Flash vs HTML5' comparison arguments, one advantage Flash had was the ability to capture audio and video from the users computer. With upcoming browser releases, it is now possible to do this with JavaScript and the HTML5 video element, and its very simple to do.
CSS3 Flexbox Carousel
Carousels are one of the most common components web developer's build. As other trends come and go, carousels tend to stay.
Complying With The EU Cookie Law
The cookie law is a new EU privacy legislation that requires websites to provide clear and comprehensive information about the cookies being stored; and obtain consent from visitors in order to store or retrieve any information about the user.
My JS1k 2012 Entry
This year I decided to enter the JS1k competition for the first time. The idea behind JS1k is to produce a cool JavaScript application in under 1kb (1024bytes) of code. I had not done any JavaScript golfing before, so I thought it would be a nice little challenge for myself. I didn't realise at the time quite how addictive or time-consuming JavaScript golfing was going to be!
CSS3 Backgrounds of the Future
Whilst we've been busy supporting older versions of Internet Explorer, a few new CSS features for backgrounds have sprung out of the woodwork and in to our browsers.
jQuery UK 2012 Conference
Yesterday I travelled to Oxford to attend the jQuery UK conference, which the team at White October carefully crafted together. The snow threatened to stop me, but thankfully calmed down by the morning. So a quick hop, skip and jump on to a train and coach; and I found myself in Oxford at the Saïd Business School.
Modernizr Prefixed
There was a new release of [Modernizr yesterday (2.5.1), and included within this release was some brand new features to the Modernizr Prefixed() API (introduced in 2.0), which can take away some of the pain of vendor prefixes from your JavaScript.
Keeping It Real Simple
Last week I had the opportunity to go on a presentation skills course, and one of the tasks we were set was to explain one aspect of our job role to a group of people who had no experience in our field using the LIONS approach using zero jargon.
Impress at Presentations with Impress.js
The other day I mentioned on Twitter that I was playing around with Bartek Szopka's Impress.js library to write a presentation and it seemed to gather some interest. I then gave the presentation, and that gathered some more interest; so I thought I would write a short blog post about how to use Impress.js.
Writing for the Web
Today is Blue Beanie Day, an anniversary where developers change their avatars to wear blue beanies to show their support for web standards. Today is also the day a new web initiative has been launched called Move the Web Forward, with a simple goal of making it easy for developers to start contributing to the web platform.
Using jQuery .on() and .off()
With the release of jQuery 1.7 on November 3rd came two new ways to attach event handlers - .on() and .off(). These two additions unify all types of (good) event handling in jQuery and will help you write tidier and more efficient code in the future.
Front End Code Etiquette
One of the most interesting parts of working as a web developer comes from making a decision on how to organise code depending on a particular project or problem. There are multiple ways to do the same thing, and there's not necessarily a wrong or a right answer for every situation.
Self Executing Anonymous Revealing Module Pattern
I thought as a way to kick this blog off I would share this JavaScript pattern with you which I've started using recently. I can't take any credit for this pattern - I discovered it on my Internet travels, so all thanks and kudos go to Elijah Manor on 'Enterprise jQuery'.
Welcome
If you're reading this, you've reached the first post of my blog. Depending on whether I've written a few or many blog posts at this point, this may be an achievement that you've reached this post, or it may have been a simple slide of the finger.