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




