In the spirit of International Women's day, we explore the experience of a female working in a tech field. It's unique and hard to quantify to those who haven't been in our shoes, so this game strives to portray some of the struggles we face. Our idea was inspired by our own experiences and first-hand accounts of other female engineers and creators.

What it does

Office Hours provides a simple simulation of what women go through in the tech field. The player has to "work on" regular tasks while also navigating snide comments from coworkers. Most importantly, the player must be as 'nice' as possible; their messages are strictly analyzed for sentiment. Being too forward, not being friendly enough, not apologizing enough, maybe even not smiling enough can lower your colleagues’ opinion of you.

How we built it

We started with an idea. We wanted to gamify an experience that is relatable to most of the participants here at AthenaHacks, but also eye-opening for those who don't identify as females in tech. Half of our team tackled the interface and added interactive functionality on the HTML side of the project, creating a simulation of a "desktop" from scratch through pure HTML, CSS, and Javascript without the use of a framework or API. The other team took on the challenge of connecting the Google Cloud Natural Language API to the Node.js framework. This involved setting up a Cloud account, server, and service accounts to host Sentiment Analysis requests. Once both sides functioned, our team came together to create the visual aesthetics and the message passing functionality between Node.js and our HTML file.

Challenges we ran into

Most of our team did not have much experience with the Google Cloud APIs or with Node.js to communicate with our webpage. Also, no one was proficient in Javascript prior to our project, which was our main language for the back-end. One of the biggest challenges was figuring out how to use Google Cloud APIs to analyze sentiment in user-inputted text; most of our time was devoted to scouring documentation and configuring an SDK onto our machines in order to send requests to the Sentiment Analysis API. Another of our biggest challenges was deciding how to host our webpage. Initially, we tried the free domain resource provided by the hackathon, but in the end, we decided to locally host the webpage within a local browser. There were many challenges implementing such a dynamic HTML page from scratch to simulate the functionality of a desktop.

Accomplishments that we’re proud of

We are most proud of the fact that we have our major components working. The biggest component was the sentiment analysis of the Google Cloud Natural Language API, and we couldn’t be prouder that we successfully created a program that extracts user-input text, recognizes positive or negative tones in the text, and sends a quantifiable sentiment value back to the front-end. We also implemented Node.js, a new framework to the whole team, for our entire backend. Separately, each component was a challenge to figure out, but once we understood a little more about the different kinds of technologies, we were able to bring together many different software services and products together to create our original project.

What we learned

We gained exposure to various languages and frameworks that we had little to no prior experience with. We also gained valuable experience in working collaboratively towards the completion of an intricate project within a limited time frame. We also learned that Internet forums do not always hold the answers we’re seeking, so asking peers and other people around us may often lead to greater breakthroughs; sometimes, you just have to ask for help.

What's next for Office Hours

There were a couple of features we wanted to implement in this project if we had more time to complete it. For example, we had originally planned for the “Do Work” button on the right side of the screen to function more like a quick-time event where the player would have to press a key within a certain time constraint. The player would have to pass a specific number of quick-time events in order to successfully “beat”/”complete” the day. We also wanted the game to fit within the time frame of a week in the life of the software engineer instead of a single day, with the game saving after each day. Some other improvements we would like to make include having the scroll bar for the messaging snap to the bottom instead of making the player manually scroll, adding different dialogue options from the coworkers, and switching between the different messaging app profile pictures depending on which coworker is currently messaging the player.

Built With

Share this project: