Sometimes things don’t go to plan, especially when deploying to production on a Friday. In this case, a new system change incorrectly generated over 2000 invoices over the course of the weekend. Oops! I wrote a script to identify the incorrect invoices using OCR, edit each one as PDF in Photoshop, generate new text using Imagemagick, convert them back, then finally upload them to the backend. Around 10 files needed manual correction due to being edge cases.