Eleven out of every ten Architect believes that business logic or persistence should be done on the server side. Why? I do not know - maybe it is just a cargo cult. Having a decent language, such as Scala and tools provided by ScalaJS ecosystem – you are no longer forced to perform critical tasks on the server. First, You can share a common code – like validation, data structures with client and server. Then You can share business logic and then... Let me show, how to build a system in a way that the decision where particular component will run is just a deployment detail Yes – a lot - even persistence can be done on the client side and there are significant advantages of such approach. Think of a Wiki like system that keeps all data on clients – and needs no expensive server storage/backup. Think about a Social networking free of big corporation having a grasp on all your data. Think about building system that every connecting client is not a performance problem but another cluster in your computation network.