[video from The Curiosity Show: https://buff.ly/36DvRNs]
@aaronpk When I worked at the phone company (SBC), we worked on this problem for YEARS. We were even more constrained than Amex -- I believe we had 13 characters to work with on the street address line. This was complicated by the fact that your phone service address and your USPS mailing address are a) not necessarily the same and b) even if they are "the same", the rules for abbreviating them are incompatible. This was resulting in 1000s of hours of manual labor by (very expensive) phone reps each month calling customers to ask them for their [mailing] address, plus risking regulatory fines for non-delivery of phone bills, plus lost revenue. In the end, we ended up standing up a SOAP-based middleware, connected to the mainframe phone billing systems, to validate the mailing addresses against the USPS address database. Under the covers, EBCDIC-encoded address data was being rendered into an XML doc and submitted over a web service to the address validation service. If there was a service address that this... thing couldn't map to a USPS address, I had a hotline to a wizard at USPS who could figure out the right address -- and if they couldn't, they would literally call the mail carrier on that route and find out from THEM what the right mailing address was. It was some strange combination of massive big data (before we used that term) systems talking to other massive big data systems... all backed up by mail carriers with bags of mail and Deep Knowledge about the addresses in their assigned area. Interesting project - wouldn't be even minimally surprised if it's still in use today, 20 years later.