Exaud BlogEvent

Exaud Meets: Inside Our Team’s Project Journey

Learn in this interview how the team created this meeting app, from beginning to end. Posted onby Exaud


Introducing Exaud Meets: an internal project developed by a few members from the Exaud team. In this interview, discover how this team brought this versatile meeting application to life, from inception to execution.


What sparked the idea for this project?

André Lopes: Exaud has been working on some Unity projects in the past, and given that at the time we were transitioning between projects, we ended up taking some time to prepare the foundations for new projects with similar requirements, such as authentication, multiplayer and video calls. We ended up choosing a meetings application as the base idea for applying requirements to a well-structured application focused on testability and reusability. To back this application, we also used a backend using NextJS, which was also something we wanted to use as our foundation for future projects.


Gil Moutinho: I believe it was the experience that many team members have with Unity and 3D applications, along with our past involvement with meeting apps and creating metaverses.


Can you describe the technologies and methodologies used during the project’s development process and how they contributed to its success?

André Lopes: We used Unity engine as the game engine, Photon PUN for the multiplayer layer, and Agora to manage video calls. For the backend we used a NestJS Typescript server deployed on AWS using EC2, Cognito and Amazon RDS. We developed this project using SCRUM, which allowed us to refine our development process through constant review and feedback about our improvements, failures and brainstorming. All assets were created by our design and modeling team. The interface designs were created in Figma and represented pixel-perfectly in Unity, while the models were created in Blender in the most optimized way for game engines. Both designs and models underwent approval phases before implementation.


Gil Moutinho: From all the technologies and methodologies we used, I would like to emphasize full SCRUM with sprint plannings, reviews, and retrospectives, which some members of the team had little experience with; the pipelines we created in Bitbucket to automate CI/CD, run tests and code analysers, and upload builds; and all the documentation made for features and processes. These are all good practices that should always be present in every project.


What were some of the main challenges encountered throughout the project, and how did the team overcome them?

André Lopes: During the retrospectives after each sprint, we discussed the problems that we had. One problem discussed multiple times was how the code review was being handled. Usually, the code review was the bottleneck of our development process. In the beginning, the code review was mostly done by the Team Leader, which was sometimes blocking the progress of tasks. Over time, we started delegating code review to a few people that were confidently pointing out mistakes and improvements that could be made. We also started asking all Developers to always take some time to do code review on their peers’ code as a way to accelerate the feedback.


José Ribeiro: Another problem was adapting to unit tests that had not been created in other projects at an early stage. Sometimes the estimates for the tickets did not account for these tests, which caused the ticket delivery to take longer than expected.


Gil Moutinho: Maybe consistently following the architecture we chose was challenging. Sometimes, as the project progresses and requirements became more complex, it wasn’t as straightforward as it was initially. Additionally, tasks like implementing unit tests and CI/CD in Unity weren’t as easy as in other technologies. However, with teamwork and patience, we managed to overcome all these issues. It was good that we were given valuable time to improve as engineers and learn how to use new things.


Thank you to the team, including André Lopes, José Ribeiro and Gil Moutinho, for sharing their thoughts in this interview. Check out a few screenshots of Exaud Meets.











Blog

Related Posts


Subscribe for Authentic Insights & Updates

We're not here to fill your inbox with generic tech news. Our newsletter delivers genuine insights from our team, along with the latest company updates.
Hand image holder