Leveraging Open Source Tools and Libraries for Efficient Software Development
Dhaval Nagar / CEO
Each year, we encounter unique set of open source tools, frameworks, and libraries that simplify our tasks and enhance our productivity.
Note: This post only referring to the libraries and tools that we found useful for our use case. There are many amazing open-source libraries and frameworks on Github and other places worth checking.

In this blog post, we'll explore some of the outstanding libraries and tools we utilized in the past year, their applications, and their impact on our solutions.
VLC Media Player for React Native
Usecase:
Repository: razorRun/react-native-vlc-media-player
Use Case: Overcoming Codec Limitations in an IPTV Streaming App
In a recent project, we encountered a unique challenge while developing an IPTV Streaming App. Originally, we had planned to utilize a premium video player SDK for seamless multimedia playback. However, during testing, our team discovered a significant issue – many of the target devices lacked the essential AC3 codec support required for audio decoding. Solving this dilemma was not as simple as it seemed.
The options were limited: either wait for the manufacturer to release a firmware upgrade for the devices (which could be a lengthy process) or persuade the premium player SDK's development team to implement the missing codec, which would also require time and resources.
To avoid project delays and meet our deadlines, we decided to take matters into our own hands. The solution lay in leveraging the open-source power of VLC and building a custom player on top of it. VLC boasts extensive support for a wide range of video and audio codecs, making it a versatile choice for our needs.
With the react-native-vlc-media-player
library, we seamlessly integrated VLC's capabilities into our React Native application, ensuring robust multimedia playback that didn't rely on device-specific codec support. This strategic decision not only saved us valuable time but also allowed us to maintain control over our IPTV Streaming App's functionality, ensuring a smooth and reliable user experience.
By incorporating the VLC Viewer for React Native, we not only overcame codec limitations but also gained the flexibility and confidence to provide uninterrupted multimedia content to our users on a variety of devices.
Note: While VLC Player is a very good addition, if you are planning to make more internal changes for DRM, Ads or anything else then the documentation is pretty difficult to follow. Instead the native player does now support Exoplayer implementation as well which is slightly easier to enhance.
We will probably replace current VLC Player implementation with Exoplayer in near future.
Refer to the Google Media3 ExoPlayer for more detail.
Planby for IPTV Programming Guide UI

Repository: karolkozer/planby
Use Case: Streamlining Electronic Programming Guide UI Development for IPTV Streaming App
As we continued developing our IPTV Streaming App, another crucial component that demanded attention was the Electronic Programming Guide (EPG) UI. This essential feature allows users to effortlessly navigate through various channels and programs, ensuring a seamless viewing experience.
Our core application was built using React, and we were utilizing React Native as a container application for mobile devices. Designing an intuitive and visually appealing EPG UI from scratch while ensuring compatibility across different devices and screen sizes could be a daunting task. Fortunately, we stumbled upon the "Planby" library, specifically crafted to simplify EPG UI development for IPTV applications.
What made "Planby" stand out was its exceptional design, ease of integration, and flexibility for customization. Here's how we leveraged this library to streamline our EPG UI development:
1. Easy Integration: "Planby" was designed with ease of integration in mind. We seamlessly integrated it into our React Native container application, allowing us to leverage its EPG capabilities without reinventing the wheel.
2. Customization: One of the standout features of "Planby" is its customization options. We were able to tailor the EPG UI to match our app's branding and design preferences effortlessly. This level of flexibility ensured that our EPG seamlessly blended into our application's overall look and feel.
By incorporating "Planby" into our IPTV Streaming App, we not only saved valuable development time but also delivered a polished and user-friendly EPG UI that met our users' expectations. The library's well-written code and thoughtful design made the process of implementing and modifying the EPG UI a breeze.
Picovoice for Voice Commands
Picovoice is not Open Source, but they have a FREE tier for fixed number of devices. This service is best if you are building Voice-enabled, Low-latency applications for Android and iOS devices.
Note: If you need to accomodate many devices, then Picovoice is VERY EXPENSIVE. Please check their pricing here. After the initial trials, we purchased their Yearly subscription.
Picovoice Custom Wakeword: Picovoice Porcupine
Picovoice Speech to Intent: Picovoice Rhino
Use Case: Enabling Hands-Free Interactions and Custom Wake Word
In one of our applications, we aimed to offer an innovative and user-friendly feature: voice-controlled actions. The idea was to empower users to interact with the application through voice commands, eliminating the need to be physically close to the device. This capability is particularly valuable in scenarios where proximity to the device is challenging or inconvenient.
To achieve this, we needed a voice recognition solution that not only provided accuracy and responsiveness but also offered the customization of a wake word, similar to what giants like Google and Alexa offer with their activation keywords.
We explored various voice recognition services, and that's when we discovered Picovoice. What truly set Picovoice apart was its ability to process audio locally, without relying on cloud-based endpoints. Here's how Picovoice addressed our requirements:
1. Offline Voice Processing: Picovoice's technology is engineered for offline audio processing. This was a critical requirement for us, as it allowed our application to function without the need for a continuous internet connection. This not only enhanced privacy but also ensured low latency, meeting our performance standards.
2. Custom Wake Word: Picovoice enabled us to define our custom wake word. This personalized activation phrase added a unique touch to our application and increased brand recognition. Users could trigger voice commands effortlessly by saying our chosen wake word.
3. Privacy and Latency Control: By keeping voice processing local, we maintained control over user privacy and minimized latency. This was particularly important for applications where real-time responsiveness was a priority, and where data privacy was non-negotiable.
With Picovoice, our application gained the ability to understand and respond to voice commands reliably, regardless of the user's proximity to the device. Whether it was controlling smart home devices, navigating through content, or performing other tasks, users could interact effortlessly through voice.
Incorporating Picovoice into our application not only enriched the user experience but also aligned perfectly with our privacy and performance objectives. It demonstrated that a voice-controlled application could be both user-friendly and privacy-conscious, all while ensuring minimal latency.
Video Conferencing SDKs
Use Case: Tailored Video Conferencing for Small-Medium Size Organizations The post-pandemic era witnessed a remarkable surge in the demand for video conferencing solutions. While established leaders like Zoom dominated the market, a multitude of vendors began offering Video SDK services, catering to a diverse range of use cases. These SDKs provided a valuable opportunity for organizations to integrate video conferencing seamlessly into their existing infrastructure, bypassing the complexities and costs associated with large, cloud-based conferencing solutions.
However, not all scenarios required massive, unpredictable cloud-based conferencing. Many small to medium-sized organizations, such as schools, hospitals, and businesses, sought more localized and controlled conferencing solutions. This is where open-source platforms like Jitsi entered the picture.
Jitsi - Empowering Customization and Cost Efficiency
Jitsi is a collection of free and open-source multiplatform voice, video conferencing, and instant messaging applications. It supports various platforms, including the web, Windows, Linux, macOS, iOS, and Android, making it versatile and accessible. What sets Jitsi apart is its SDK for Android, iOS, and React Native, offering ease of integration and customization.
Our Journey with Jitsi:
-
Demo Conferencing: In 2021, we initially utilized Jitsi's public endpoints for our demo conferencing needs. This allowed us to quickly showcase the capabilities of video conferencing without the complexity of setting up a private infrastructure.
-
Private Setup on AWS: As our requirements grew, we transitioned to a private setup on AWS. Jitsi's flexibility allowed us to optimize our infrastructure. We designed it to be on/off, depending on when conferencing was needed. This dynamic setup not only catered to our specific usage patterns but also helped in cost savings, as we only incurred expenses when the conferencing infrastructure was active.
References
Agora - Features and Generous Free Tier
Agora emerged as another valuable player in the video conferencing space. It offered a well-built and easily integrable service across a range of platforms. What caught our attention was Agora's generous free tier, which allowed for 10,000 minutes of usage per month, making it an attractive choice for budget-conscious organizations.
Why We Chose Agora:
-
Feature Rich: Agora provided the additional features and capabilities we required beyond what Jitsi offered. This versatility allowed us to tailor our conferencing solution to meet specific needs and use cases.
-
Ease of Integration: The simplicity of integrating Agora's SDK across various platforms expedited our development process and ensured a seamless conferencing experience for our users.
Incorporating both Jitsi and Agora into our toolkit, we addressed a spectrum of video conferencing requirements. From cost-effective and dynamic conferencing setups using Jitsi to feature-rich solutions with Agora, our approach was adaptable to the unique needs of each project.
Ionic Framework and Background Location
Plugin: transistorsoftware Capacitor Background Geolocation
Use Case: Seamless Background Location Tracking for Logistics SaaS Platform In the realm of logistics, where real-time tracking and efficient management are paramount, a Logistics SaaS Platform is only as effective as its ability to monitor and manage the location of assets, particularly in scenarios involving driver apps. Location tracking plays a pivotal role in ensuring timely deliveries, optimizing routes, and enhancing overall logistics operations.
One of our recent project was a Logistics SaaS Platform, powered by AWS Serverless backend technologies like, GraphQL AppSync, Lambda, and Postgres to manage the vast amount of data generated during operations. One of the core requirements was active location tracking, even when the driver app wasn't actively running on the device. Achieving this demanded reliable background location tracking solution.
Drawing from past experiences, we revisited a previous implementation where we had successfully utilized a Cordova-based hybrid app for location tracking, even when the application was not actively running. In that earlier project, we had relied on a Cordova plugin from transistorsoftware, a known provider of location tracking solutions with a decade-long track record.
transistorsoftware had developed a plugin specifically for Capacitor, a modern alternative to Cordova. Given their extensive expertise in location tracking, we decided to leverage their Capacitor Background Geolocation plugin for our Ionic Framework-based Logistics SaaS Platform.
Success with Background Location Tracking
The decision to use transistorsoftware's Capacitor Background Geolocation plugin proved to be a wise one. The plugin seamlessly integrated with our Ionic application, enabling background location tracking that met our rigorous requirements. Key benefits included:
Continuous Monitoring: The plugin allowed us to continuously monitor the device's location, ensuring that we had up-to-the-minute data to optimize logistics operations.
Battery Efficiency: A critical factor in mobile applications, the plugin was engineered to minimize battery drain, crucial for long-haul logistics scenarios.
Data Persistence: Location points were reliably cached and dispatched to the server, ensuring data integrity and allowing for accurate tracking even when the device temporarily lost connectivity.