When we talk about decentralized applications we mean an application where control and decision-making is transferred to a distributed network. Sometimes we find this formula: a user that interacts with the dApp frontend — either web or mobile — which then interacts with the backend APIs. The backend, then, on request interacts with the smart contract(s) or blockchain through public nodes. Is this the right way to build a decentralized application or we are missing something? Let’s dive into it!