COVID-19 is forcing universities and schools to change their teaching methods. This has forced online learning to take a new role in the education of our societies. The existing online educational platforms are designed to be complementary to presential classes. A new, disruptive platform is needed to make education accessible to everyone.
What it does
Our platform is in charge of improving different aspects of remote learning:
It tries to reduce school drop out by promoting a one to one education and a personalized education. This is achieved by giving the necessary tools to teachers and students. These tools go from applying data analytics and sentiment analysis for teachers to know how the student is and to store all classes to help students to go back.
Also, it allows the teacher to perform a real continuous evaluation of the students asking questions during the classes to know how their students are understanding the subject. On the other hand, students can ask direct questions as if they are in class.
Accessibility. Another aspect of our platform is that accessibility is a key in our platform. Give disable students the necessary tools to be integrated in class easily. These tools read text from the chat, set caps in real time of every class, etc.
In addition, this platform is not only useful for schools and universities. It also can be used for health sector (performing classes to ICUs personal without assistance to the medical center, sharing knowledge about certain treatment fast, etc) and also for the industry sector (teaching workers about certain subjects)
How I built it
Our application is hosted entirely on Firebase. We chose Firebase because it allows us to prototype and deploy rapidly. The web is rendered by React.js. Firebase provides us with a database called "Cloud Firestore", which we use in our application and it gives us real time updates out of the box. We also use this service as a push/sub backend to send messages between clients of the application. We use the WebRTC APIs to provide VoIP and Video capabilities between clients, creating a peer to peer connection between them. We use the Web Speech APIs to do both Speech Synthesis and Speech Recognition, which is used for auto-captions and Text-To-Speech. We also use Deep Learning in order to do sentiment analysis on the text, and expression analysis on the faces of the participants
Challenges I ran into
We can divide challenges into technical and non technical challenges.
Non-technical challenges: Remote communication can be very difficult sometimes, but it can help other tools such as google drive or similar types of technologies, where everything can be written down. Clear speech. Documents need to be as clear as possible. Write down ideas can be a bit challenging.
Technical challenges: Achieve real time video to get working on the videoconferencing system using only web technologies We have learnt to use Google Cloud permissions and credentials, as well as some APIs that have to work together
Accomplishments that I'm proud of
As a team our best accomplishment is the way the weekend was developed. We are proud to have a working MVP, in which we implemented many of the features we wanted to demonstrate. We are also very proud of the way all of our members have been collaborating this weekend, bringing fresh ideas for our project.
What I learned
In the non-technical field, what it has been learned is about organizing people remotely. In the technical field, what it has been learned is to create and communicate using WebRTC protocol using P2P connexion and various APIs and technologies from Google Cloud and Firebase
What's next for E-DUCO - Remote education for everyone
The next steps for this platform will be to improve code and design, improve documentation and if more resources are given, improve infrastructure to extend to more places.