Skip to content

shamelsameer/hackharvard2022

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 

Repository files navigation

Screen Shot 2022-10-16 at 4 41 16 AM

Inspiration

As college students ourselves, we've been through a few lectures. Sometimes we have conflicting activities and can't make it to class. Sometimes we don't have conflicting activities and still don't make it to class. Or perhaps we attend class and wish we could rewind time to hear what the professor said just once more. This serves as the inspiration behind Recap.ai. While it is true that some lectures are recorded and uploaded by professors, many are not and those that are available do not provide closed captioning. Therefore, students that are hearing impaired are at a major disadvantage when it comes to obtaining the content from lecture. Recap.ai bridges that gap by enabling students and professors to share lecture transcripts and promote access to knowledge.

What it does

Recap.ai provides a platform for students and professors to record lectures and upload the audio to assembly.ai, so that the transcripts can be available on our site. Users select whether they are a student or professor, which school they attend, which class they want to view, and whether they want to view existing transcriptions or record a new lecture. To record a lecture, simply select the record option and click start. When the recording is finished, click stop and the recording will automatically be uploaded to assembly.ai which generates the transcription which is then sent to a server and returned to the user. If the user opts to watch existing lectures, they will be brought to a page containing a list of previous recorded lectures, which each link to that lecture's transcription.

How we built it

First, we prototyped our project on Figma to streamline the process of collaborative idea generation. Then we started development. This is a react.js based web application, which allows us to utilize state and build dynamic web pages. We used tailwind-css to enhance the UI, assembly.ai to provide transcriptions for the lecture audio, and firebase to store key information on the uploaded lectures.

Challenges we ran into

One common theme for the challenges we encountered was us taking on lofty goals and then immediately trying to achieve them, instead of splitting up the task into more attainable subtasks. For example, we wanted to quickly develop the frontend of our application, so we could focus on the more technical aspects of the backend. One of our team members heard of an application called plasmic, link, that would enable us to collaboratively construct the frontend of our project using drag-and-drop mechanics, and then automatically convert our design into react code. There were a few problems with this approach. One was that we lost some customizability of our design by only using prebuilt components. Another was that there was a large overhead within the generated react code, which made modifications especially tedious. After close to 2 hours of using plasmic, we had a group discussion and decided to hedge our losses. We abandoned our work on plasmic, migrated our design to Figma, and built the frontend from scratch. Another challenge we faced was using the API for assembly.ai and Firebase. Although there is ample documentation for both APIs, we struggled to place the pieces of the puzzle together when it came time to combine them. There was a lot of trial and error involved with constructing the proper flow of data among the many components. This may have been one of the most time consuming aspects of the project.

Accomplishments that we're proud of

We built and deployed and a full stack web application is less than 36 hours. Although every group at this hackathon completed a project in the same time frame, we are especially proud of our project since 2 members in our group had zero hackathon experience. There was definitely a steep learning curve involved with this project, but we overcame it and left the hackathon wiser than when we entered.

What we learned

We learned a few valuable lessons from the challenges that we faced. Firstly, we should always plan before we make major decisions. The time taken to plan is always worth avoiding the time spent possibly moving down the wrong path. Secondly, we should not use tools that we don't fully understand as they can sometimes do more harm than good. It may be enticing to use the latest and greatest technology in your project, but it's benefit is lost without knowledge of it's workings. Lastly, don't fall into the sunk cost fallacy: it's never too late to do something the right way. Starting over is usually less of a hassle than we make it out to be, and prevents headaches down the road.

What's next for Recap.ai

Although we accomplished a lot in the past 36 hours, there is much more we would like to add. For example, we want to add the possibility for live transcription, which is enabled through the premium version of assembly.ai. We also want to include the audio in our stored lectures instead of just the transcriptions. Additionally, we would like to highlight the current word in the transcript when playing back the audio. Another feature we would like to add is that upon trying to record a lecture, users will receive a notification when another user is already currently recording that lecture. This would prevent multiple copies of the same lecture from appearing in the database.

About

Built during HackHarvard2022 as part of the education track

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors