A little bit about Story Squad, Story Squad mission is to empower kids’ imaginations so they don’t “veg” out to YouTube, Fortnite, or social media all day. Each weekend, they run a free story contest for 3rd — 7th Graders, based around a theme. Honestly a super cool idea for a fairly modern problem that helps nurture kids into potential authors, and help expand their imagination. Some of the fears I had going into this experience would honestly be the gamification of a website, as I haven’t attempted anything like this in my journey as a developer so far, so I hadn’t the slightest idea as to how we were going to pull this off.
To begin working on this application, my team and I had to first break it down into a product roadmap and shippable tasks. To do that, we first looked at the general overview of what our stakeholder wanted, ask him clarifying questions, and understand the target audience. After we met with our stakeholder, we took all of that information over to our team Trello board, and created some user stories for what we thought the user should be able to do while using the application.
This Trello card was one that I personally worked on and implemented. The nextMission function that the card is mentioning, is the function that handles the weekly reset of the writing prompt.
One of the other important features that our team worked on implementing was the overall gamification of the application. To do this, we created several backend API tables to handle the user state, which sent the writing and drawing submission to a Data Science API which checks for blacklisted words and phrases. Once that got approved, we had to implement a timing function which wouldn't allow the user to continue to the next phase until a certain day at a certain time. After that, we had to manage the state of points that each writing and drawing was getting from votes on the front end, and store that information on the backend user table. And keep repeating that process until the contest is over.
The biggest blocker we had during the process of working on this application had to be the implementation of a new Data Science API. The reason that this was a problem was because the API that we were given, didn't have all the requirements we needed to fully implement gamification. To fix that issue, we borrowed another teams Data Science API that had all the requirements for us to continue working. And as all of us know, its not that easy to introduce a brand new API that code relies on, without refactoring all of our code. So all in all, the entire process of implementing the new API took my team about a week, and introduced a bunch of new bugs, ready to be squashed. Luckily though, my team and I were prepared for this and got to squashing those bugs as fast as we could.
After all of these complications though, our team came out on top. All of the hardship was over, and we were excited to get back into implementing new ideas. At the end of our time on the project, we managed to finish the gamification flow, allow user submission, allow user voting, authenticate users using OKTA, parents could add new kids to their account, implement a weekly writing prompt reset, the ability to switch users while still being signed in, and implemented a better API for future teams to work with and be more successful using.
Future of the project? I can definitely see this product being a popular choice, especially with the whole Covid-19 situation still on the worlds hands. It could be an excellent tool to be used by not only teachers, but parents alike. This project has a lot to look forward to, but also a lot of challenges it will have to overcome to get there.
During my time on this project, i have had the amazing opportunity to work with, and receive feedback from some top notch developers. Some of that feedback includes statements like, “Amazing developer to work with, but can definitely work on understanding why a bug is being cause before jumping to solving it.” And “Should honestly work on getting a better understanding of some new NPM packages to make problems easier to deal with in the future.”
After all of this I can honestly say that the opportunity to work with Story Squad and a team of amazing developers was a positive one. It not only gave me my first real working experience in the field, but also kindled the fire below me to find a Company to work for that gives me the same drive and opportunity to be better and constantly improve. Thank you Story Squad! Can’t wait to watch and see where this product ends up, and am excited to see how successful you will become!