
Their story, in their words…
What is Revisionroom.live?
Revisionroom.live is a global educational platform where students across England come together to collaborate and share knowledge in audio rooms, regardless of their location, ethnic or academic background. It’s an open-source platform that harnesses the power of Next.js, Firebase, and WebRTC to enable real-time audio connections, creating a seamless and interactive learning experience for students.
Difficulties:
Tech Stack Selection and Initial Challenges:
At the project’s outset, I opted for WordPress to speed up development. However, as the project progressed, I encountered scalability issues, prompting a migration to Next.js. This transition presented challenges, such as converting PHP templates to JSX and integrating JavaScript libraries like ‘gasp animation’ without the convenience of a CDN.
Overcoming WebRTC Challenges:
One of the most significant hurdles I faced was making WebRTC, initially designed for Peer-to-Peer (P2P) connections, function effectively for audio conferencing. To address this issue, I implemented a Selective Forwarding Unit (SFU), a more complex but ultimately superior solution. This adjustment not only resolved upload bandwidth and scalability problems but also expanded the platform’s capacity, accommodating up to 50 participants, a significant improvement from the original P2P limit of two participants.
Evaluation
The project was a success, It began with an ambitious vision to connect students worldwide for collaborative learning, using technologies unfamiliar to me. While the project encountered initial setbacks, such as a change in the tech stack from WordPress to Next.js, and the complex task of migrating from P2P to an SFU-based audio conferencing solution, these challenges ultimately paved the way for its success.
The project’s success can be attributed to the unwavering commitment to overcoming obstacles and ensuring the platform’s functionality and scalability. The decision to implement an SFU for audio conferencing, though daunting, resolved critical limitations and significantly enhanced the platform’s potential by accommodating up to 50 participants. This transformation was a turning point that allowed the project to fulfil its original goal of creating a global learning community. Throughout the journey, the project transformed from an initial concept into a fully functional real-world solution. Even though I had to make the practical decision to remove some less viable features, the core functionalities, such as real-time communication, real-time group chat, and a collaborative whiteboard, were successfully implemented. This achievement is what defines the project’s success.
Skills gained
During the project, I developed strong problem-solving and adaptability skills. I learned how to work with new technologies like WebRTC, Next.js, and Firebase, becoming adept at quickly grasping and applying new concepts. Switching from WordPress to Next.js taught me the importance of making smart technology choices for long-term scalability. Implementing an SFU for audio conferencing not only expanded my technical know-how but also reinforced my determination to find creative solutions to complex issues. This project was a hands-on learning experience that equipped me with the skills to handle unexpected challenges and deliver a successful and impactful project.




