As someone who went that route previously: "there are two hard things in computer science: cache invalidation and whatever." That one will bite you - at best, if your tile provider allows you to "scrape" their tiles, you'll get inconsistent data. It only goes downhill from there :(