How we implemented the development workflow for PlayLoops

Faye Hayes
The PlayLoops Zine
Published in
3 min readJan 31, 2018

PlayLoops is a platform that radically simplifies the GIF story creation process for organizations. We provide intuitive GIF design tools and a rapidly growing library of GIFs that represent the underrepresented.

Our initial challenge was setting up our development workflow. What that means is that we needed a system in place so that multiple people could efficiently collaborate on a single project. Our team of two did not have a background in DevOps. I have a full stack development background and Kedar came from a video game designer and developer background. So, we definitely had our work cut out for us.

We knew that we wanted a system that just worked. Specifically, we wanted to implement a workflow that allowed for continuous integration. The task seemed daunting at first. Tools such as CircleCI, Docker, JenkinsCI, AWS, kept coming up but we didn’t have a clear idea as to how any of these technologies worked — let alone worked together. In addition, if you are not well versed in the technologies, the documentation could seem overwhelming.

After some research, we decided to move forward with the implementation of the AWS Code Pipeline because it handled the build process for us. Our pipeline looked something like this:

PlayLoops CodePipeline Set-up

To explain, step one shows where the source code comes from. The Source step is listening on a specific branch in our Github repository. The source code is then fed to our JenkinsCI tool where it runs the build. The output from Jenkins is then passed to Elastic Beanstalk. The problem we faced here was that the Jenkins instance was running inside of a Docker container on my computer. What this means is that whenever someone else pushed new code and my computer was not on, the Jenkins step would FAIL! This is horrible for collaboration as working code wouldn’t pass through the pipeline just because of something to do with a single computer.

PlayLoops initial workflow.

We were stumped and decided to table the issue until we could find someone who knew what was going on.

We attended a Buildathon hosted by Devlabs where founders were invited for a weekend to solve a technical problem they were facing. The entire Devlabs team was so helpful as they emphasized the need to focus on a single issue that was holding back the different startups who participated. This practice was SO helpful because as developers, we tend to get in our own way.

The PlayLoops team decided to focus on our DevOps workflow.

For the Buildathon, Devlabs brought in a number of developers and software engineers to help us. Enter Devon, a Blockchain guru and one of the leaders of the Oakland Blockchain group, and Sheldon, the brain behind FlowFacto, to the rescue! With their help, we were able to set up a workflow that allowed for collaboration across the PlayLoops team.

The solution? We completely scrapped the Docker container hosting the Jenkins instance on my computer. Instead, we set up Jenkins CI on a new AWS EC2 instance. What that means is that Jenkins is now running independently of my computer and we can access it in the browser.

Our build-deploy pipeline now lives all on the cloud and gets triggered with a single push to Github

A key take-away in this set up process was just knowing when to ask for help. Being self-sufficient is great but imagine the possibilities when assisted by a helping hand.

A huge thank you to the entire Devlabs team!

--

--

Faye Hayes
The PlayLoops Zine

Developing products for non-technical founders. Need help? Schedule a free clarity call: https://calendly.com/imfayehayes/clarity-call