System Design · Karat · Easy
A mobile app for playing the board game Go needs a feature that reviews a game after it has finished. The team already has an analysis library for this, and on a desktop machine it spends roughly one minute processing each game. Discuss the two ways this could be deployed: executing the analysis locally on the user's phone, or offloading the work to a farm of servers. Compare the two approaches and explain the trade-offs between them.