BTW, I'm a guy who has been building address parsing software since 2005. ( geocoder.ca, geocode.xyz ) It is HARD.
Currently I'm using machine learning similarly to libpostal to improve my software.
It works better than libpostal in some cases (for eg:
USA:
Start libpostal: 751 FAiR OKS AVENUE PASADNA CA
road => fair oks avenue pasadna
state => ca
house_number => 751
Geocoder.ca 751 FAiR OKS AVENUE PASADNA CA
https://geocoder.ca/?locate=751+FAiR+OKS+AVENUE+++PASADNA+CA...
stnumber: 751
staddress: N Fair Oaks Ave
city: Pasadena
prov: CA
postal: 91103-3069
libpostal from Little Plate Shop 9 11 Deodar Drive Burliegh Heads QLD 4220
house => LITTLE PLATE SHOP
city => HEADS
postcode => 4220
road => DEODAR DRIVE BURLIEGH
state => QLD
house_number => 9 11
Geocode.xyz Little Plate Shop 9 11 Deodar Drive Burliegh Heads QLD 4220
addresst: DEODAR DR
region: QLD
postal: 4220
stnumber: 11
prov: AU
city: BURLEIGH HEADS
countryname: Australia
confidence: 0.7
And it works worse in some other cases...
Anyways, good luck to this developer. I don't think anyone will ever produce a solution that works better than all others, but it is better if more of us try.