OfficeHours
This is my entry for my first ever hackathon!
Inspiration
As a student, I've heard a lot of teachers, especially during remote learning, complain that they don't get the opportunity to answer some students' emails because they receive a mass of emails everyday in addition to the emails they already have in their messy, unorganized inbox. As a result, not only are they unable to get to all emails, they have to spend more time outside of work decluttering their inbox and responding to students that are emailing them during odd times (for example, around midnight, when online assignments are typically due). OfficeHours is designed to combat this problem by presenting a platform that teachers and other people who deal with messy inboxes as a result of direct emails can utilize to become more efficient in their work and find a better work/life balance.
What it does
It's as simple as it sounds: office hours for inboxes. Users can choose a time, and people will only be able to message them during this time. OfficeHour will notify the user if anybody messages them during these hours. The more important thing is that it's divided into groups, so the organization has already been done for them! And because it utilizes the concept of office hours, users won't need to worry about catching up to unread emails when they're not at work or when they aren't available on OfficeHours.
How I built it
Since it's an MVP, I built it using some technologies that I have decent experience in:
- SQL, using the SQLAlchemy ORM in Python
- Flask
- HTML/CSS with Sass & Bootstrap
- Deployment with Heroku
I started by laying out the design first and then dealing with the backend logic.
Challenges I ran into
I had planned a bigger scope with this project, but I learned that for hackathons, you need to really go deep into the problem you're trying to solve and focus on the most necessary parts. This was the case for me. In addition, I had to utilize time management to actually get this project on time in addition to attending to other personal responsibilities.
Accomplishments that I'm proud of/what I learned
Overall, I'm proud of what I was able to create during my first hackathon. I learned a lot about time management. As a perfectionist, I had to learn to accept the messiness of my project if I actually wanted to finish it. I've never really used Devpost or Discord before, so those were new to me as well. As for my project, I learned about socket programming in Python with Flask and how to use it in order to update messages simultaneously. Basically, this was a great learning opportunity and I can't wait to join my next hackathon, even though I feel dead-tired right now. :)
What's next for OfficeHours
At this point, OfficeHours is simply an MVP. There are so many more features that could be added to it in order to make it more usable. By features, I don't mean making it more complicated. That only causes problems. Rather, here are some of the features I would consider adding:
- Public announcements to everyone in a group
- A better designed sign up/log in page and dashboard page
- Direct invite links + extra security to ensure that only those who received a user's invite link can join
- More CRUD functions that haven't been included, such as the ability to update a group's open and close hours
- Rich text editing for messages
- OAuth with Google and integration with the Google Classroom API so teachers can directly add their students automatically instead of manually inviting students
- Pricing for users that go above a certain amount of data
Log in or sign up for Devpost to join the conversation.