fixmymot.uk; Personal project

If you’re into cars like me, then at some point you’ve been scrolling through an online marketplace looking for your next project. Often, you’ll come across an almost ‘too good to be true’ moment, where a vehicle is priced on the cheap side, yet, seemingly in the pictures, has absolutely nothing wrong with it. You then decide to run its number plate through some of the various online checks to see exactly what is wrong with it. It is then at this point that you see that its previous MOT lists about 42 different advisories. Usually, I give up at this point, but that’s when an idea hit me: what if there was a way to use AI to not only email me to tell me what is wrong with a vehicle I’ve found, but also come up with an estimation of how much it would cost to fix all of its MOT advisories. With that, I got to work and built fixmymot.uk

Assist.wtf robot logo riding a bike

Initial Plan

First on my list for fixmymot.uk was to see if the UK MOT checking website had an API. This would make life so much easier, as with all automations I build, I start by mapping out the key requests to the APIs I’m using. To my surprise, there was an API. So with that, I applied for access.

Eventually, access was granted, and I was able to make my API requests. I started playing around with the API to see what information I could access and how best to use it. Like with all previous projects involving an API, I began by mapping it out as a manually activated flow. The MOT website provided by the UK government is quite simplistic, but it works flawlessly and provides me with exactly what I need.

Putting it together

Now that I have all the information I need on the vehicle, which I specify using nothing but its registration number. I now need to figure out what to do with it. More importantly, how can I use it to test my technical ability? I then had the brilliant idea to create a website anyone can use, and self-host it all for the total of ‘nothing’ per month. I did have to buy a domain name, but that was a small price to pay in the grand scheme of things. I won’t bore you with the details of web-hosting or HTML, but know that I used AI to do something in about 20 minutes, which in the past would have taken me many hours. The biggest time sync for hosting a website in 2025 turned out to be the legal bits. Terms of service, GDPR Compliance, etc.

I hooked up a website, designed it to be simple and easy to use, and added the relevant web hooks for form submissions. Tested a few times, stuck it all in a Docker container, and threw it into the cloud. Quick and easy.

Next on the list was a way for me to get the information over to the end user. I thought about dynamically updating the website itself, but some of the searches for parts, depending on how many advisories are on a vehicle, could take quite some time to generate. With that, I opted for a personalised email once the information had been gathered. This allowed me not only to use AI to provide a more custom email experience, but it also meant that I could demonstrate exactly how my agency and the tools I use can all be interconnected with technologies and tech stacks you may already be using.

Go with the flow

fixmymot.uk automation flow in n8n

The thing I enjoy most about using tools like n8n to create these automations is that I have something tangible to show you that isn’t just raw code. Sure, you can probably reverse engineer it or use it for inspiration to build the same thing, and that’s perfectly fine with me. As you can see, there is quite a bit of complexity for such a simple idea. What you can’t see is that by having a tool like n8n, developing a full automation flow with many different integrations and steps actually saves a huge amount of time.

With any form of integration into existing tech, I try to map out and connect the relevant API calls so I know what data I’m playing with. With that, I can then start the flow of the automation. What do I want it to do? How do I want it to interact with my website? What will the end user’s experience look like? With fixmymot.uk, I decided that I wanted minimal input from the user. I’m not about to start a data farming website, but I do need to know what the minimum required information is. After some trial and error with the gov MOT website and also my email integration, I settled on requiring two things: an email address and a UK vehicle registration number. This is enough for the automation to query the MOT API, fetch the vehicle details and advisories, stick it through an AI agent to turn the advisories into search terms, and then feed it all to eBay. The most difficult bit about this part of the flow is formatting the received data in a way that makes sense to a pre-trained AI agent. These agents can be pretty clunky with their outputs, so using specific prompting is key. I often use some additional code after the AI agent in my flows to ensure that the data coming out of it is always formatted in the same way and has some sort of validation.

Email time!

fixmymot.uk email output

I had another project on the go where I was playing around with custom emails for cold outreach, so I thought, rather than reinvent the wheel, I’ll just copy that part of the flow and add it in here. Long story short, I use a code block to input the various bits of API & AI data into a HTML formatter, then parse that through to a Gmail integration within n8n. It’s not exactly fancy, and it certainly doesn’t look pretty, but it works perfectly. As you can see from the screenshot, each email gives the vehicle detail, the estimated part costs, and then directly links through to the part that the AI agent thinks is needed to repair the MOT advisory. For those of you who know me personally, you know that the example in the screenshot is pretty apt for my car.

I have a number of emails set up. The main vehicle part email, as seen in the screenshot above, as well as a number specifically for error reporting. I tried to ensure that no matter what the end user does, they have some sort of feedback as to why it was potentially wrong. Let’s just say starting in tech support for B2C clients has made sure that I always build systems in a way that is easy to use, intuitive, and always responds if things go wrong.

The only real downside to this system is that you still need to understand vehicle mechanics to be able to purchase the correct item; however, I do believe that this kind of information is still useful when it comes to working with a local garage that may be trying to quote you a massively inflated price. I would always recommend speaking to an expert, but use a tool like fixmymot.uk to gather some initial information.

eBay

fixmymot.uk eBay web scraping flow

Having always used eBay to source parts, I thought it would be a great idea to integrate it first. One of my previous projects had me using the eBay API, so this time I decided to ignore that completely and instead try my hand at web scraping. N8n allows me to search for each AI output separately, using the same flow. So for eBay, I search for the item that the AI agent has decided is the right thing to look for and download the raw HTML web page. I then use some clever JavaScript to extract the raw item details from the HTML and then feed this all into a weighted ranking system, which determines which items are actually included in the final email.

fixmymot.uk eBay item product ranking javascript code

Unfortunately, this way of doing things no longer works, as eBay has seemingly put in place defences against web scraping. I need to redo the last part of the flow to utilise eBay’s API. I probably should have just done this from the start, but sometimes it’s important to try things and fail.

And finally…

Fixmymot.uk started out as a simple “what if” idea and quickly turned into a full demonstration of how modern automation, AI, and publicly available APIs can work together to solve real-world problems. I’ve actually used it (When it was working) as a product demo to land multiple clients. While the project is still evolving, it already highlights how technology can empower everyday choices with better information, smarter cost estimates, and more transparency when dealing with garages.

For me, the real win wasn’t just building a tool that saves time and money, but proving that with the right approach, anyone can take an idea from frustration to a working product using automation and a little creativity. FixMyMOT.uk is just one example of how automation isn’t about replacing people, it’s about giving them the insights they need to make better decisions.

Previous
Previous

Champions MMA; Case Study

Next
Next

NCCCS — Holbury; Case study