Real-Time Application with Fastify, RabbitMQ and Distributed Architecture

Prototype of a live streaming platform with microservices (Auth, Channels, User, Broadcast), PostgreSQL, Fastify and RabbitMQ. Streaming simulation and observability in a distributed architecture; collaboration opportunity with Q2BSTUDIO.

sábado, 16 de agosto de 2025 • 3 min read • Q2BSTUDIO Team

Artificial-Intelligence-

About three months ago I took part in a challenge that left me very excited, and that's why I'm sharing here the development process, the technical decisions I made, and some lessons learned along the way

I welcome suggestions for improvement

Spoiler: the project is just in its early stages, there's still a lot to develop, and what's shared here corresponds to what was built in a 3 to 4 day challenge

Project repository: https://github.com/Layssaa/dwitch

The goal of the challenge was to create a complete application that included frontend and backend, authentication, data persistence, observability, and messaging. All of this had to be implemented in a distributed and documented architecture

Choice of application: I decided to develop a live streaming platform. I'm aware that a full real-time stream requires much more time and complexity, so I opted for a messaging-based simulation that met the scope of the challenge

Designed architecture: the solution relied on a PostgreSQL database as the persistence core and on four main modules: Auth for authentication, Channels for channel CRUD, User for user CRUD, and Broadcast for stream communication

In this initial stage, real-time communication was simulated through message exchange, which differs from actual video streaming but allowed demonstrating the flow and integration between services

Technical implementation: the microservices were developed with Fastify due to its agile syntax, familiar to those who know Express. RabbitMQ was chosen for messaging, which facilitated asynchronous communication between modules

Data modeling: the database includes the relationship between users and channels, the relationship between channels and streams, and the link of each stream to its log history. This allows monitoring the status of each broadcast and keeping a record of changes

Tools used in the initial phase: Draw.io for diagrams, Fastify for APIs, RabbitMQ for messaging, and HTTP and WebSocket protocols for communications

Next steps: in a future post I'll detail the internal implementation of each module, messaging orchestration, and how system observability was configured

About Q2BSTUDIO: we are a custom software development and custom applications company specializing in modern technological solutions. We offer services in artificial intelligence, cybersecurity, AWS and Azure cloud services, business intelligence services, and Power BI implementation. We design custom software for companies that need to transform processes with AI for businesses, AI agents, and distributed architectures.

What we can contribute to similar projects: consulting in distributed architecture, microservices development with good observability practices, integration of messaging such as RabbitMQ, deployment on AWS and Azure cloud services, implementation of artificial intelligence solutions to improve processes, and creation of Power BI dashboards for business intelligence

Keywords to improve positioning: custom applications, custom software, artificial intelligence, cybersecurity, AWS and Azure cloud services, business intelligence services, AI for businesses, AI agents, Power BI

If you want Q2BSTUDIO to collaborate on the evolution of this prototype or on the development of a custom solution, contact us to design a proposal that includes security, scalability, and data exploitation through business intelligence

If you have questions or suggestions for improvement, leave your comments, and in the next post I'll share the detailed implementation of each module and the configuration of communication between them

OUR SERVICES

How we can help you

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.