The Beginning of PlayItForward

Side project
Me and my team at Hack to Give Thanks building PlayItForward

Before joining Flatiron school I always wanted to do a Hackathon but I was always too nervous to join. I wasn't sure if I would be able to help or contribute.

I still remember going to my first hackathon hosted by Democracy Lab which was the National Day of Civic Hacking. I've always wanted to use tech for good so this seemed like a perfect opportunity. After the presentations I walked around to see if there were any projects I could contribute to, but I felt intimidated and lacked confidence in my coding skills.

I remember almost walking out and I'm not sure if it was guilt or confidence that got me to open to the door and introduce myself. I ended up having a great time at the hackathon and I look back at it with fond memories even though I didn't end up contributing a single line of code. I got to see the flow and decision making that goes into creating a product and keeping your end user in mind.

During my Flatiron bootcamp my classmates and I decided we wanted to do a hackathon together and start our own project. We started brainstorming and PlayItForward (PIF) was born.

The goal of PIF is to encourage people to volunteer and help nonprofits through gamification. Besides the obvious reason of helping people and your community, volunteering lets you meet a ton of different people with different perspectives, learn new skills, and explore opportunites you might not be ready to fully commit to. The original idea was to focus on students and younger people since the average person only volunteers when it's required to get into colleges. That's why we decided gamification and a reward system would be a good way to keep people engaged and interested. Of course I'd love for everyone to use it.

My Mod 4 PlayItForward homepage with banner image, nav bar, and footer

We had a great turn out at the hackathon and I definitely learned a lot about project leading and how to better integrate people to a project. But after the hackathon nothing really happened with PIF because of the bootcamp schedule and the size of the project made it hard to tackle.

During mod 4 of Flatiron I got permission to work on PlayItForward for my project but I didn't get at far as I hope since it was Winter break and I was traveling for Christmas. I had such high hopes for this project and was really disappointed when I couldn't build it the way I wanted to or the way it deserved.

Shawn's mock up of the event details modal

Finally I graduated from Flatiron and now I had time to start working on PIF. My classmate Shawn and I started building from scratch and because we thought this would just be a short project before we got jobs (what I sweet summer child I was), we chose technology that we didn't know but was exciting to us. We decided to use PostgreSQL, Sequelize, GraphQL, Apollo, Tailwind, TypeScript, React, and I had plenty of other stuff I wanted to add in for later features.

Since I was super excited about GraphQL I decided I would be mostly working on the backend to get the server set up and then both Shawn and I would work on the frontend.

When I first got started programming I was teaching myself so I didn't think it would take me long to learn GraphQL but oh boy I was so wrong. For some reason I had trouble getting GraphQL to click in my mind and I think a lot of it stemmed from the resolver system that GraphQL has. I felt like none of the documentation or examples really went into detail about how to resolvers work so I was always left confused.

Finally I got the backend completely up and running thanks to Ben Awad's videos and documenation. While I was working on the backend, my friend Shawn was creaking the wireframes and starting components for the frontend.

PIF's landing page which includes a nav bar, logo, and events with title, date, location, and the nonprofit

After working on the project since March we were finally making good progress and focusing mostly on the frontend and making minor tweaks to the backend. After having a heart-to-heart with Shawn he decided he wanted to take a step back from PIF to pursue his ultimate goal of becoming a game dev. He was splitting a lot of time between all his different interests and decided to focus solely on game development.

It will be interesting to on this project by myself but I'm excited for the opportunity. Luckily there's a great community on Twitter called 100DaysOfProjects that helps motivate me and encourages me to make at least incremental progress on PIF. If you want to follow my progress on PIF feel free to checkout my Twitter thread that I'll be updating as I continute to work on it!

Enjoyed the article?Share it on Twitter