Inspiration
We often do homework late when there are no TA hours scheduled, so we were thinking that having an easy way to reach out to tutors to get homework help would be very efficient and appreciated.
What it does
It authenticates users with GAuth, asks them about whether they want to be a tutor or student, as well as relevant info. Then, it connects students who are waiting in queue to a tutor who can help so that they can discuss problems over a real-time chat.
How we built it
We used Typescript, Firebase for authentication, Firestore for Database, React as our frontend library, Socket.io for real-time chat, and tentatively, peer.js for real-time video streams.
Challenges we ran into
We tried to implement video streams with Peer.js in addition to chat, but we had difficulties with matching students and tutors through peer.js. Queuing and matching students with tutors was also challenging because there were mutiple client requests that had to be synced with a single data structure on the server.
Accomplishments that we're proud of
The entire thing: authentication, how we learned a lot more about socket.io, and using webRTC for the live video stream.
What we learned
We had some experience with React and web development before, but not a ton, so getting to build a functional help in less than 36 hours was very fulfilling and helped us accelerate our learning.
What's next for HWHelp
We think that the idea is a neat concept, and we hope to fully integrate video streams, as well as a more complex and individualized matchmaking process.
Log in or sign up for Devpost to join the conversation.