I'm Charles Pustejovsky.

Some things you're good at. Some things are good for you.

For me, programming is both. That's why I love it.

It's why I love Go, TDD, and SDLC methodologies.

They all can help me to better provide value to my team and my organization.

About Me

During highschool and college, I had planned on becoming a pastor. After graduating, I realized it wasn't the career path I wanted.

In 2017, I took a job with BitPay, a cryptocurrency payment processor, doing technical marketing and working on their website and blog. I didn't have a WYSIWYG or CMS, so I quickly picked up git, HTML, CSS, and JavaScript. Before I left, I created a headless CMS to provide some easier for tools the marketing team.

In 2020, I started with KyckGlobal who tasked me with building a Go server to move our NodeJS MVP to. Due to limited resources and time constraints, that project was scrapped and I began to work on refactoring the NodeJS MVP. This year, I've managed to improve the API by:

  • Making our code run concurrently using Promise.all and Promise.allSettled
  • Splitting up code logic
  • Creating helper functions to reduce code re-use
  • Refactoring our payment API to both improve our validation process and also allow payment rails to be moved to a better control flow one at a time

I've also spent my free time learning more about how to write idiomatic Go (see my Reading List).


  • Go
  • TypeScript
  • NodeJS
  • DynamoDB
  • MongoDB
  • SQL
  • React/Redux


  • Distributed Programming
  • Functional Programming
  • Hacking Productivity
  • Classics (Greco-Roman)
  • Science Fiction and Fantasy
  • Philosophy


Here is a growing list of projects I'm working on or have worked on in the past (click to close)



Not satisfied with the monolithic template I had, I've been working on a service starter-kit that connects to MongoDB.

My goal with this starter-kit is for it to be idiomatic, modular, and scalable.


Twitter Bot


My first Go application, this Twitter bot gives me less reasons to check Twitter by sending me updates from people I want to keep up with.

Since then, with the help of the amazing people on the Gophers Slack Channel, I was able to refactor it to better use Go's concurrency primitives (goroutines and channels).


CS:GO (Custom Sort: Go)


Frustrated with some whiteboard interviews I encountered, I decided to start making a repo to collect code that sorts, reverses, etc.

This allowed me to learn how to set up benchmark tests to see which reversal algorithm was faster.

Also, trying to set up a generic sorting function, unsurprisingly, gave me an appreciation for Go's upcoming inclusion of Generics.


Benchmark Tests

Life Together Calculator


The first application I created which calculated how long my wife and I had known each other and showed what percentage of our lives that was. It gave me hands on experience with working with the DOM and JavaScript's Date Object.

I then made it interactive so anyone with a significant other can calculate their life together.

Most recently, I've rebuilt the app in React and allowed it to calculate any kind of friendship or personal relationship.



BitPay Headless CMS

Nuxt.js / Vue.js

I used Ghost's Content API to turn BitPay's blog into a headless CMS and add the blog to BitPay's Nuxt.js site.

This created design consistency and allowed non-developers to make basic copy edits to BitPay's site without a full development process.

GDPR Toggler


Love it or hate it, GDPR is a reality for businesses so I created a jQuery script to dynamically display an opt-in option for countries where that option was required (I used this AJAX script to determine the country by IP address). This was my first real taste of working with jQuery. The scripts would need customization for the countries and for the specific assets that are being displayed or hidden.

Field Hiding Option

Radial Toggling Option

Landing Page This is Used On

Dyno Waker


I created this to keep two of my Heroku dynos active from 6am to 9pm EST. I realized it might be useful for others who have a paid dyno and some free dynos, so I published it as a NPM module.

NPM link

BitPay Blog Redesign


I forked Ghost's Casper theme and modified it with the help of an amazing marketing designer to give it a modern look.


CSS Redesign

Reading / Courses List

The Go Programming Language

I'm going through this book and will be finishing it around the end of Hacktoberfest.

Brian Kernighan has already written [one classic programming book](, so I believe I'm in good hands

Visit the Book's Site

Recurring Reading

The Alphabetical Sayings of the Desert Fathers

The Desert Fathers of Christianity hold a special place in my heart. Their lessons of self-discipline, humility, perserverance, and not judging others help me not only as a developer, but as a human being. It is why I read some of their sayings at the beginning of each day, to center and focus me for the day ahead, with all the challenges it may bring.

Buy on Amazon

Books I've Read / Courses I've Completed

Concurrency in Go

Go is my favorite language for many reasons, but chief is how it handles concurrency. Given that, I thought it wise to dive deeper into that.

Katherine Cox-Buday has written an amazing introduction into Go's concurrency primitives (goroutines and channels), libraries (sync and context), and best practices.

This is definitely a book I'll be rereading in the future.

Check it out on O'Reilly Media

Let's Go

This book is absolutely wonderful for any newcomer to Go wanting to dive into web development.

Alex Edwards shows you how to build scalable, composable, maintainable backends with Go.

Full Review on

Buy on Alex Edward's Website

Learn Go with tests

I believe both Golang and TDD are excelent tools for writing scalable, maintainable code so it made sense to improve my Golang skills while also getting into the habit of doing test-driven development.

Full Review on

Read on GitBook

The Pragmatic Programmer

This book is filled with wisdom and best practices that any programmer can use to improve their craft and better provide value with the software they help create. Now that I've finished reading it, I'm slowly going back throught it to really grok its lessons.

Buy on the Pragmatic Bookshelf

Learn Go with tests

I've never been at company that used Agile/Scrum and, as a result, have been able to see first-hand the issues that can arise from not following a system like this.

Jeff Sutherland does not only an amazing job of explaining the "what" and "how" of Scrum, but also the "why". Through anecdotes and philosophical asides, he lays a foundation for why Scrum can and will help any team be more effective.

It's very easy to read and is almost certainly worth reading multiple times. There are short summaries at the end of each chapter and an appendix for someone looking to implement Scrum for their team. It's an excellent book that anyone, but especially those working as developers, product managers, and project managers, should read.

Buy on Amazon

Grokking Algorithms

I love learning about computer science both because it's fun and to fill in the gaps that I likely have from not getting a computer science degree. Grokking Algorithms by Aditya Y. Bhargava was a great place to start that journey.

Buy on Amazon

Getting Things Done

I really love the system David Allen lays out in Getting Things Done. This system is what I am basing my productivity app Estuary around.

Buy on Amazon

cpustejovsky | 2021