How I got my second driving test so fast (with code)
I'm sure if you are reading this, there is a good chance you failed your first driving test, considering around 50% of people in the UK do. Well as much as it pains me to say it, I failed my first test :(
I got back home after the awkward car ride with my instructor coming back from the test, and knew straight away I needed to find my next test, as I was confident I would pass the next time.
First thing I did was install Testi and a couple other apps that were meant to notify you when a cancellation had appeared.
A few days went by, and I was yet to receive my first cancellation notification. I checked manually a few times on the app and some had popped up, but I was never notified. I had to have set up my prefences wrong, right?
Well, the answer was no. I had done everything correct. It just seemed that Testi were not notifying me despite there being multiple tests a day popping up. I knew I had to take matters into my own hands if I wanted to get my driving license soon.
My first thought was to manually scrape the DVLA website, but that was quickly shut down after I realised that they use Incapsula and captchas which I did not have the time or money to combat. The next step was to use the resources I had that I knew worked...Testi.
Thankfully, I have a lot of experience reverse-engineering apps and websites, due to my role in the sneaker botting industry. After opening up Charles and connecting it to my phone, I had quickly gathered all the API endpoints I needed to setup my own system.
Now I could go into detail about every request, but that would be quite boring for you. In short, they had an endpoint that would return any available tests in the areas I set in the app, with the only security being a UUID value that had been hashed, that would work indefinitely. This made it super simple to replicate the request on my own server.
The next step was to work out how I could deliver the notifications to my phone, where I would easily see them. After weighing up some options, I settled on SMS notifications via Twilio who thankfully had a free trial, meaning it cost me nothing. The only cost to me was my server, which was provided by Hop.io, who I could not recommend enough to anyone looking for a server provider.
20 minutes later, it was created. I would now get a text message everytime a cancellation popped up. After a couple days of using the app, I had secured my next test, which was exactly 3 weeks after my other ones.
Now that may sound like a long time to some of you. For context, it is extremely difficult to get a new test that fast in the UK. Most of my friends were waiting upwards of 4-5 months.
For anyone wondering, I did passed my second test, with only 2 minors! This was a great little project that taught me a lot of reverse-engineering apps and how I could solve problems. I had loads of people ask me if they could use it as well, so that caused me to setup Polar Cancellations, a completely automated SMS service for driving test cancellations.
Thanks for reading!