How ProjectZen, an elegant collaboration tool, uses Google Cloud Platform

Dana Bullister
Google Cloud - Community
3 min readFeb 4, 2019

ProjectZen prioritizes simplicity above all. Combining sparse minimalism with infinite nesting, the tool enables teams to manage complex projects while staying fast and nimble. ProjectZen’s goal of championing simplicity and crisp modularity made Google Cloud Platform the natural choice for infrastructure. Here I will describe some of the tools used to build this SaaS product from scratch using GCP.

Development of an initial MVP for ProjectZen involved a lot of crucial decisions. Large emphasis was placed on choosing the most popular tools within the GCP ecosystem whenever possible. PZ’s stack included Google Cloud SQL, Django with Python 2.7 for the back end, Angular 4 for the front-end JavaScript framework, Firebase Authentication, and Google App Engine/Python for deployment. In addition, Stripe was used as a payment system and Google reCAPTCHA for secure account creation.

GCP was chosen in large part because of its ecosystem of clean, relatively intuitive tools that just work. With limited resources, high ongoing costs in the form of time spent with support when components inexplicably failed or were non-intuitive to get up and running was out of the question. Cloud SQL and App Engine/Python 2.7 using Django for the back end were chosen principally because of the popularity of both tools, and Angular was an addition based on the need for a third-party tree library for animating the nested structure within the application. Angular was chosen over alternatives in part because of the decision to commit to the Google ecosystem, but also because of Angular’s appealing emphasis on modularity as a core organizing principle. Stripe as a payment system was an easy choice to make; it was well-reviewed, polished, and quick to integrate.

In a world of rapid product development and expensive engineers, costs in engineering time and delays in releases must be taken seriously. Sometimes more seriously, in my opinion, than more quantifiable upfront costs to going with a particular solution. On the whole I’m pleased with the implementation of this philosophy within PZ’s development, as this enabled quickly building a functional, end-to-end product that customers could see and use.

Though integrating different infrastructure components (even in the cloud) can be as much an art as a science, GCP’s relatively quick setup and quality tutorials were a huge help. Not only did this improve our own development, but it helps PZ to facilitate a similar experience for our users.

Overall setting up a dynamic application using GCP’s ecosystem was definitely a learning experience, yet ultimately a successful and productive one. We hope our investment will help inspire not just our users and contributors, but other developers hoping to create their own exciting projects.

--

--