Currently I've designed an integration using a scheduled Batch Apex class and REST API callouts to sync certain Accounts and Contacts from one org to another org that represents the company's master data. In the receiving (master) org, I'm using a phonetic matching algorithm to see if the Account and Contact already exist. Depending on the match confidence the code may choose to use an existing Account and attach the Contact (or use an existing Contact). If the match confidence is too low for the Account, it will create the Account and the associated Contact. There's also some task creation logic depending on the match confidence for a rep to double check the created records for a duplicate.
My question is, what other options are out there that can automatically create records in another org with somewhat advanced duplication checking? I understand that there may be a number of paid tools out there to do this, but I'm looking to do the legwork myself here, as we're working with a limited budget.
Curious to know other's thoughts on what I've designed, any pitfalls I'm not seeing, or how you personally would accomplish it.