I am developing an app that lets smartphone users upload a picture to Wikimedia Commons. The user must categorize the picture by typing Commons category names. Typing on a smartphone is slow/painful/erratic, and category names are not obvious, so the app should do its best to guess what category the user is trying to find.
QUESTION: Is there an API that takes a string, and returns 1~10 Commons category names that fuzzy-match the beginning of the string?
- Response of the server must be very fast (as-you-type)
- Free, as there is no budget for the app
- Scalability should not be a problem for now, less than 5 concurrent users at any one time
For instance, Category:Power plants in New Zealand should be found even if the typed string is:
Power plants in New Z(as-you-type)
power plants in new zealand(lowercase)
Power plants in New-Zealand(dash instead of space)
Power plant in New Zealand(singular)
Pwer plants in New Zeland(typo - ideally)
New Zeland power plant(word order - ideally)