2) AppEngine Datastore: have you ever need to modify your model in a way you have to run a transaction over a large number of rows? If yes, would that hurt? (or, another case is if you had encountered a bug in your code that mistakenly recorded the wrong data thus you have to "clean them all").
3) I saw your code regarding code optimization, would that cause the code to become a bit brittle by not encapsulating the caching somehow? Like, spreading the cache at various level in your code.
2 - datastore query is expensive but memcache works great, so cache frequently accessed data
3 - i make sure that whenever i put() any data, i immediately set Memcache, and before making any get() from datastore, I try get Memcache first, this should not cause issues.
My question for point #2 is in the line of the need to perform data migration actually.
Let's say you have a bug on your code in a way that the data stored currently are wrong and you need to fix them up by performing a batch update. Would that hurt you in terms of cost? How would you handle such situation?
Or let's just say that your user profile data model needs to be re-jiggered to support a new feature (adding columns, changing current columns, etc).
it depends on how big your data is, but every query operation, every fetch, every write operation it charged. http://code.google.com/appengine/docs/billing.html has details on how many read/write datastore API calls are made per operation. if u have to write in a new column for thousands of entries, then it will cost a bit, $0.10/100k operations, one re-write has 7 operations + incoming/outgoing bandwidth cost + instance usage cost will apply, it is hard to estimate actual cost.
Your other projects are impressive as well, are you a one man team for all of them? Also thanks for the insight, this info isn't commonly shared with other startups, I appreciate it.
I'm surprised Instagram hasn't swooped in and purchased it to acquire the developer (talent acquisition). Obviously @krisrak has a tremendous grasp of the platform.