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

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.




A collection of technical articles and blogs published or curated by Google Cloud Developer Advocates. The views expressed are those of the authors and don't necessarily reflect those of Google.

Recommended from Medium

A Practical Guide to Using an Oscilloscope

Day 10 — Python New Project — Hangman

Task_3|DevOps Assembly Line

Android Developer VS Web Developer: Which is The Best Choice to Make More Money | Temok Hosting…

Shine bridge to Matic is live!

Why is List<Struct> 15 Times Faster to Allocate than List<Class> in C#

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Dana Bullister

Dana Bullister

More from Medium

Self service analytics: Metabase

Newsletter #1: Ransomware, Automation Fabric, Vertical Integration

Securiti Joins Snowflake Governance Accelerated Partner Program to Automate Data Governance At…

Adobe Experience Platform designed to co-exist with Multi-Cloud architecture