So, we decided to break our big, clunky system into smaller, independent parts using something called a microservices architecture. We chose NestJS, a framework for building these parts because it’s really good at organising architecture, code and making sure everything runs smoothly. We also used TCP, a way for these parts to talk to each other reliably, ensuring that messages don’t get lost in translation.