Having to take online school and experiencing first hand all the struggles and hardships that go into making zoom work properly, my team decided to make an app based on the same concepts, but additional features such as a friends list, and a past meetings page to make it faster and more convenient.
Furthermore, most businesses, in general, are being forced to go virtual, as according to forbes.com "virtual events [have] grown by 1000%. At these times there is an unprecedented need for virtual technology and we believe that Binge takes a current solution and improves on it.
What it does
My team wanted to retain all the features that zoom has, such as making private meetings and being able to record live what was happening, however, we felt we could improve on it. We figured one way we could make a better app is to make in-app friends and community system that allows you to track who you've been in a meeting with, and send them an invitation from the app itself. Having this feature brings an extra level of convenience when it comes to setting up meetings, as you would no longer need to spend tons and tons of emails since you can now just invite them in-app. Binge still carries over features such as a customizable profile page and profile picture.
How I built it
We used Flutter, a dart SDK that allows for rapid mobile development. My group uses flutter because it allows us to build on both Ios and Android devices simultaneously all while getting hot-reload, so we don't have to redeploy on every test.
We also used a video calling service called Agora for streaming the video. Due to its compatibility with Flutter, the were able to achieve a good amount of utilization of the service. For the majority of the backend, we used Firebase. This was because the database had various convenient management features and integrated well with Flutter with FlutterFire. We used Agora to handle the video and voice while database tasks like storing and searching rooms, history and friends list, messaging and user data were handled by Firebase.
Challenges I ran into
This hackathon was the first for two of our members, so getting them set up and rolling was a struggle, and for them to learn enough to contribute while just getting to know the ins and outs of a hackathon was a great challenge.
For our experienced members, on the other hand, we also had a set of problems. From issues like spending too much time on fixing the camera on the wrong version of the dependency to the relearning of FlutterFire because an update changed many things, it was a frustrating, yet great learning experience.
Accomplishments that I'm proud of
This was my first time trying to utilize video calling. I'm very surprised that it all went smoothly and successfully. Although we may have hit some barriers, once we went through it, we got through it. The UI also turned out better than we thought and the backend worked as we expected.
As a team, we're happy to have built this app especially, mainly because it is something we can genuinely see ourselves using in the future if we continue to grow it. It is clear the COVID isn't going anywhere and if we can make an improved version of zoom, there is no limit to what success Binge could achieve.
What I learned
There was a lot we learned about this weekend. I especially learned about utilizing video chatting and more useful features that might come useful later on. I was able to improve on Flutter backend and Firebase in general. It was especially a very fun experience as we got in a group to make what we call a project.
This hackathon was an awesome experience. We learned a lot about team-building, ideating, and creating effective solutions to real-world problems with our tech skills. Our UI guys learned a LOT about new widgets, designing different navigation systems, and creating stateless widgets, all of which were firsts for two of our members.