Inspiration

I skipped a fair few classes during quarantine. This unfortunately came back to bite me during my exams. Unfortunately, even after quarantine, the habit never subsided, and I've often found myself lagging in classes because I failed to pay attention or skipped a day of school. That's why I decided to make ClassAssist. For students like me, who really don't want to go to school but still want to do well on their exams.

What it does

ClassAssist is designed for teachers who keep laptops around during their classes, maybe on their desks or being used as a resource. The teacher simply has to log in, select a class and start recording. It's that simple. The website generates a summary of the class which is then shared to students who are a part of that class.

How I built it

I used .csv files to store all of my class and user details, like usernames, passwords and attendance records. I found these simpler to use and easier to host (being local) than databases. Each class has its own unique .csv file that stores its members, attendance records, class transcripts and summaries. The website uses client-side JavaScript code to record audio from the browser, and uses socket.io to send it over to the server. The server then decodes the audio and saves it as a .wav file. Then, using the speech_recognition and transformers modules, the server converts the audio file into a transcript and summarises it. Both the summary and the transcript are saved to the .csv file of the class, and then the summaries are displayed to the students when they access them through the website.

Challenges I ran into

The entire project was less of a competition and more of a learning process for me. Over the past few weeks, I learnt many concepts that I was unfamiliar with all of these concepts and techniques and struggled quite a bit, but I still managed to employ them skilfully throughout my project.

Accomplishments that I'm proud of

Learning all of the concepts I mentioned in UNDER A MONTH. I'm incredibly proud of how my website looks and functions, especially considering that I only learnt how to do it over the past couple of weeks. I'm proud of the design choices I made, leading to what I believe is a quite pretty website. I particularly liked my choice of color (I really love the different shades of blue and gold). I'm proud of how none of it was makeshift or janky, and that it all works pretty much seamlessly.

What I learned

-HTML -CSS -Flask -WebSockets -Speech recognition -Language processing -and more And more.

What's next for ClassAssist

The speech recognition system is still pretty finicky. The teacher needs to enunciate what they're saying and speak very clearly, or the transcript may not come out clear. This in turn affects the summary. The one thing I want to fix about my project is to make the speech recognition more accurate to ensure a more hassle-free process for students and teachers alike.

Share this project:

Updates