Dewalt Impact Driver

I struggle to imagine what construction was like before the era of powerful, cordless tools. My DeWalt 18v impact driver can drive a 50mm screw into a piece of timber in under 2 seconds, no drilling needed. Last month, we had all of our soffits, fascias and guttering replaced in 2.5 days by a crew equipped with oscillating multitools which sounded like a swarm of angry wasps. It was amazing.

Adam Smith would have been impressed too, I reckon. This year marks 250 years since he wrote An Inquiry into the Nature and Causes of the Wealth of Nations. 

I’ve been working with a small team from the University of Glasgow, Smith’s alma mater, over the last couple of months on a project to bring the global context of The Wealth of Nations to life as part of their season of events. Adam Smith was writing at a time of massive global upheaval, from revolutions in France and America, to the origins of modern banking; the power of global mega-corporations like the East India Company, to the horrors of the vast transatlantic slave trade.

Specifically, we’ve created an interactive map experience – The World in 1776 – which puts you in the role of a sailor aboard two true-to-life shipping routes experiencing those upheavals at first hand in Europe, Africa, the Caribbean and Asia. We’re using the brilliant OpenHistoricalMap project to build an interactive Google-style map on the political boundaries of the world of 250 years go.

The University of Glasgow team have done a magnificent job of creating ‘game’ content which is accessible to a broad audience, as well as ‘dive deeper’ material, links and further reading for those who have the appetite to learn more.

It’s been the first project on which I’ve used significant amounts of AI support with the build.

As we all find our way with these new tools, I think it’s useful to share how I’ve been using them:

Where the AI helped

For me, for this kind of work, using Claude has felt like working with 18v cordless power tools where previously I was using hand tools.

  • In my proposal, ChatGPT helped me visualise and communicate a mockup of how the map might work. Recently I’ve worked mainly on maps that display user-submitted content, which can be searched and filtered. This project has more of a guided, game dynamic, and needed to work for multiple audiences. For a loosely-scoped project, a mockup can be a dangerous thing to include in a proposal (!) but this worked quite well and got us on the same page quickly.
  • ChatGPT and Gemini (which do image generation much better than my go-to Claude) helped me take original paintings depicting 18th century merchant ships on which the route is based, and create simplified sprite illustrations. This wasn’t painless, and took some back and forth and manual cleanup in Photoshop to get the illustrations usable, but the end result was workable. Would I have commissioned an illustrator to produce these if AI didn’t exist? Almost certainly not for the <£10k budget of this project. I’d have skipped the sprites, or limited myself to an icon/stock image.
  • We aimed to avoid cookies for privacy and UX reasons, and Claude helped me research cookieless analytics options which could still track custom user events. It helped me navigate the bits of the technical documentation I needed and work out where to implement my tracking.
  • My Javascript skills have come a long way in the last 6 or 7 years I’d say, but I still often feel like a stranger in a foreign land working with events or debugging sync issues. This tool needed an ‘autoplay’ mode for use on large public screens in parallel with the regular interactive, single-user map navigation, and Claude helped me wire that automation together with the various animation and map redraw events, working around constraints like avoiding cookies and the fact that I wanted the address bar to update to give a bookmarkable link to each location pin.
  • The evaluation of the project will need to demonstrate not just that people have visited the tool but ideally that they’ve engaged meaningfully with the issues raised. Inevitably, this is a text-heavy ‘game’ so we’ve incorporated engagement widgets which prompt a user to share a reflection, rank priorities, or answer a factual quiz-style question. These are simple enough poll-style forms, but I wanted them to be WCAG 2.2 AA accessible and to slot seamlessly into content. Claude introduced me to the new-to-me concept of the Shadow DOM for resilient styling, and did a remarkable job of building these configurable widgets. I can find my away around the self-contained widget codebase and styling and handled the integration into WordPress by myself, but I wouldn’t have produced these widgets themselves without AI help. My default approach would have involved simpler forms and logic, and I’d have struggled to give as much weight to accessibility in the time available. The way Claude was able to refactor an initial proof of concept (slider) into a framework that could handle radio buttons, text inputs and accessible ranking questions was breathtaking – like using an impact driver for the first time.Animation showing interactive quiz widget
  • I worked mainly with Claude in Chat mode with the MCP connector for Chrome, so it could open a browser tab to look at issues I was reporting and prototype things in the browser, but where I made the file changes. I briefly tried agent-based working with Claude Code too, giving it access to my local development folder. It made a handful of file changes which unsettled me pretty much right away. I learned that I’m happier for now in Chat mode where I’m still engaged enough in the process to have to digest the advice I’m given, integrate into the code for myself, and iterate. Plus, it’s much easier to control the costs of Claude in Chat mode.

What I learned

My general view on AI is best summed up by this comment I saw on Bluesky the other day:

"My take on Al is, essentially, everybody who's against is too against it and everybody who's for it is too for it."

Generative AI for creative tasks like writing and design is a mixed bag, I reckon. Summarising is OK, researching is hit and miss, doing my thinking for me still makes me queasy.

But for me, for this kind of software development, it’s more like me picking up an impact driver than phoning a builder to come and do the work.

As someone who’s always had broad rather than deep expertise, it lets me work more quickly, and get more done in the same amount of time/budget. It enables me to push into areas on the edge of my comfort zone which middle age and a long todo list might otherwise hold me back from. It makes me more willing to suggest a UI improvement that feels like hard work, or explore a client suggestion I might otherwise try to de-scope.

Obviously, it’s not perfect. It managed to refactor a chunk of code in the blink of an eye, then really struggled to hunt down a rogue quote mark due to an excessively-long Javascript variable. It doesn’t always default to good practice – like incorporating accessibility features – unless you ask for them. So, I’m clutching the reins quite tightly for now, so I don’t lose track completely of where I’m going with a codebase, or how to find my way back.

Talking about developing in this new way with my friend Matt, we reflected on how tiring it gets. As a project moves forward so much quicker, the time we’d once have spent bashing through a roadblock becomes more strategic time thinking about where to take the project, what to check and challenge, where to draw the lines. Eight hours of coding with Claude isn’t like eight hours working in a text editor with Google and Stack Overflow. It’s intense.

There’s a school of YouTube woodworkers who are strictly hand tool folk, and I sometimes find their passionate railing against table saws and palm routers tiresome. As I see it, there’s room for both: craft isn’t demeaned by use of a machine – there’s skill in blending them together with harmony and care. There’s a lot of scope to learn new things which opens up when grunt work is eliminated. And if you’re working on your own, whole new projects become possible which you’d never have dared attempt before.

If Adam Smith were watching, he’d probably tell us to trust that things will work themselves out: collectively we’ll find the right balance between eliminating drudgery and sacrificing human creativity, even though it feels unsettling along the way. Also, you can bet the East India Company would have been rolling out Copilot.

Photo: Mark Hunter, Wikimedia Commons

Get notified of new blog posts by email

Leave a Reply