Design a Google translate API.

  Google
Add Your Answer
Answers (1)

Clarifying questions :

– Is it for Google products (translate API for Search Engine, YouTube, …) or external customers ? In which context would be used this translate API ? Assume this would be for internal use and could be extanded to external customers if successful

– How would we get the translations ? Assume we have translators (human or not)

Goal : You ask me to build a translate API for Google products, assuming all translations are available on our side.

Google mission is to organize the world’s information & make them universally accessible and useful. This translate API clearly matches the perimeter of Google mission.

User segments :

– Customers : in this case each of Google products (SE, YouTube, PlayStore, Google Agenda, …) could be requesting this API

– Users :  End users of Google products, who access and read wordings

I am going to focus here on Customers, assuming they serve the good of their own end users.

User journey : I am going to take the example of Google SE

User access SE -> type search -> get a list of results -> select a result and is forwarded to the result page

Thus the need for Google SE to get translations would be :

Relative to the user :

– user country (switzerland, can be useful for pricing)

– user language (german)

– user device (might be useful depending on context)

– user platform (between Apple & Android we might not have the same translations for topics regarding regulation for ex)

Relative to the wordings :

– context

– wordings

Business objective : In this case we want customers to engage with the product.

To keep in mind :

– we don’t want the performance of those products to be impacted

– many wordings needed for many products

– Each google product might have very different context and proper need. Same translation would not be appropriate in all products

List of solutions :

– AI which would be able depending on the context and wordings provided to give appropriate translation (training set + feedback loops conceived by translators + data scientists)

– static translation files in which the API finds most appropriate translation (those files would have been conceived previously by translators)

– API requested for each context (that can be requested with parameters country, language, device, platform and with body containing context + all wordings / returns an answer with all translations)

– API requested for each translation  (that can be requested with parameters country, language, device, platform and wording / returns an answer with the translation of this wording)

– Answers can be cached, meaning is the request was already made in this context answer would be quicker, won’t be to be rebuilt

Prioritization :

Solutions ideaseffort of Implementation cost of build impact on engagement

AI Medium, Google already implemented lots of AI High, need for data storage, monitoring and maintenance High, reliability
static translation files Medium Medium Medium, not sure those files could be updated by humans as often as needed
 API requested for each context Medium Medium High, allows to get many translations at once
API requested for each translation Medium Low Low, performance would be highly impacted if we need to do one request/wording
Cache API Medium High High, enhance the performance of final products

Selected solutions : AI which would be requested by an API depending on the context, with cache for each product

Metrics :

– Primary : DAU, WAU, MAU

– Secondary : average time of response / request, number of request per day/week/month, most requested context, NPS

Launch plan : I would first launch on a single product, test for a couple of month and see the results.