Author Image

Hi, I am Peter

Peter Boling

Coding Bootcamp Instructor at edX, Michigan State University
Principal Cloud Engineer at Vital Connect
FLOSS Author & Maintainer at Tidelift
Co-founder & Researcher at Word Tree Foundation
Co-founder & Advisor at Hope For Tomorrow (Liberia)

For over 18 years I have been building web-based applications, primarily with Ruby. I am passionate about building FLOSS tools to help humanity accomplish more good things with fewer resources.



Language of choice for most tasks, on both professional and personal projects. Love writing scalable, testable, and maintainable code.

Project Mgmt

Jira 🦖 is preferred issue tracker; administrator since 2016. Skilled at project setup & data migrations. Also familiar w/ Clubhouse, Pivotal, Redmine, and others.


Familiar with AWS, GCP, Azure, Heroku, Digital Ocean, and Dreamhost cloud services.

Linux & MacOS

Career in IT began as Linux System Administrator; have loved simplicity of GNU toolchain ever since. I’ve been a Mac addict since 1991.


Experienced with git-based development, workflows and tools. Contributor to git-reflow, but now favor trunk-based. Additionally have experience with svn and cvs.


Bash is my favored tool for portable scripting, and Zsh is my current shell. Checkout my dotfiles, and other shell projects, on Github.


Full Stack Flex Boot Camp Instructor
Michigan State University

Dec 2022 - Present, Detroit, MI

Teaching remote, online, coding course

  • Teaching students to build, and refactor, modern, accessible, responsive, performant websites
  • Stack: HTML, CSS, Javascript, React, Git, GitHub, GitLab, Heroku

Principal Cloud Engineer
Vital Connect

Dec 2022 - Present, San Jose, CA

Anywhere Patient Monitoring

  • Building, maintaining, and upgrading vital signs monitoring solutions in support of the VitalPatch RTM.

Director of Engineering
Riviera Partners

Feb 2020 - Dec 2022, San Francisco, CA

Engineering, Product, & Design Recruiting. Minimized Hiring Risk. Predictable Success.

  • Lead Engineering organization of 20, and directly manage backend team of 5 and devops team of 2
  • Design migration paths toward increased data security, lower systems costs, fewer wasted resources
  • My team leverages CQRS+ES (event sourcing), and GitOps for infrastructure-as-code, automation, monitoring, APIs, services, and data processing
  • Maintain the legacy Grape/Rails app, and work on the Hasura Read Model, KNative Eventing, GraphQL APIs, Data Models, Ingestors, Denoramlizers (Projections), and Command APIs, in the new NodeJS CQRS+ES distributed system
  • Event Storming to determine what we need to build; maps perfectly to CQRS+ES, and abides the principles of Domain Driven Design
  • Primary Jira administrator for all company projects

Technical Advisor, Principal Software Engineer
Karuna Health, acquired by Commure, Inc

Nov 2018 - Apr 2020, San Francisco, CA

Karuna connects patients with healthcare guides through streamlined communication and automation.

  • Advising on technology and hiring decisions at Karuna Health.
  • Built the email gateway, much of the notification services, and helped plan the architecture of the system.
  • Created automated tools that correct many forms of data corruption.

Principal Software Engineer
Group 1001

Nov 2018 - Nov 2019 (6 month contract, extended), New York, NY

We are a family of insurance companies offering accumulation and protection solutions


Principal Software Engineer
Intricately, acquired by HG Insights

May 2016 - Nov 2018, San Francisco, CA

Authoritative Product Adoption, Usage, And Spend Data. Get detailed insights into the cloud infrastructure of 7 million companies.

  • Created time-series data collection & analytics; Generates events to track change on internet
  • Scaling systems and creating devops tools to better utilize infrastructure
  • Advanced math to transform non-scalar data from AWS Alexa into a scalar digest
  • Monitor, log, benchmark, and automate the internet monitoring robots
  • Build data pipelines for enterprise customers exposing the internet sliced in different ways
  • Primary Jira administrator for all company projects

Principal Software Engineer
Bolt Threads

Sep 2017 - May 2018, San Francisco, CA

Bolt Threads is a material solutions company. Taking nature as our inspiration, we invent and scale cutting-edge materials that put us on a path towards a more sustainable future – and that starts now.

  • Maintenance of a legacy, custom, in-house built, Lab Information Management System
  • Analysis of potential replacement third party LIMS systems
  • Interviewed candidates for Software Engineering leadership team (VP, Director, Sys Admins)
  • Integration of Windows-based OPC DA services with LIMS via data sampling mechanisms
  • Translate garment designs to instrumentation for a Stoll industrial knitting machine
  • Left when the in-house LIMS system was replaced with off-the-shelf software
  • Primary Jira administrator for all company projects

Principal Software Engineer Team Lead
Invoice2Go, acquired by

Jan 2016 - Feb 2017, Jakarta, Indonesia

Send professional invoices and estimates in minutes. Invoice on the spot, right when you finish the job. Spend less time on paperwork and more time doing what you love.

  • Lead the web team in developing a revamped web app, now at
  • Laid the groundwork for new service architecture, implementation and continuous integration
  • Designing and implementing git branching strategy and supporting toolchain
  • Implementing sandboxed dev env and tiered deployed environments
  • Design and implement feature flags allowing synchronized feature release across clients
  • Tech Lead role in Jakarta office
  • Primary Jira administrator for all company projects, and integration with ZenDesk

Staff Software Engineer
Trumaker & Co

Apr 2014 - Apr 2016, San Francisco, CA

Personalized service and bespoke made-to-measure fashion.

  • Rebuilding architecture of entire tech stack
  • Extracting front-end parts to ember-cli and react thin clients
  • Building structured, authenticated, performant APIs, utilizing versioning and caching
  • Modernizing versions of Ruby, Rails, and many critical gems
  • Implementing backend to support launches of new product lines (blazers, ties, belts, pants, sweaters, tees, etc), fulfillment processes, factories, and shipping methods
  • Designed and created a fully spec’d 12-state Lead CRM tool
  • Integrated Salesforce with internal Lead CRM via my celluloid-io-pg-listener gem
  • Built a commissioned sales attribution framework that supports point-in-time history
  • Fixed the factory pattern and rewrote the spec suite, adding thousands of additional tests
  • Setup new deployed environments, created Thor deployment tool for automation of the many deployment related sub-tasks

Staff Software Engineer (9mos contract, extended)
Church Pension Group Services Corporation

Aug 2013 - Nov 2014 (9 month contract, extended), New York, NY

Provides resources and services to sustain the operations of the Episcopal Church worldwide.

  • Forensic analysis of 5 year old ruby service layer
  • Upgrade from Ruby 1.8.7 to 2.0, then 2.1
  • Created ruby service APIs to support many varied clients, & regression test suite
  • Implement account lock and token expiry security measures & automated enforcement
  • Upgrade daemon infrastructure and trading systems, improve software stack / make system
  • 10x performance enhancement of internal services

Co-founder, Chief Technology Officer
Acquaintable, acquired by Reveal (MS Ventures-backed)

Nov 2012 - Nov 2013, New York, NY

Socially curated dating through Friends of Friends

  • Built the app, hired specialists to assist with some niche projects & made all tech decisions
  • Advised on product and design decisions
  • Created matching engine with Neo4j + PostgreSQL data analysis algorithms
  • SPA, mobile first, responsive design, with intuitive, touch-enabled mobile interface
  • Designed to provide an immediate experience to each new user
  • Accepted into Entrepreneurs Roundtable Accelerator Winter 2013 class (ERA - NYC)
  • Fully automated and self-correcting, no intervention required for 4 months.

Senior Software Engineer Team Lead
Bloomberg Black

Aug 2010 - Nov 2012, New York, NY

Personal Wealth Management

  • 1st Employee, and lead developer of Bloomberg Black, a personal wealth management startup
  • Interviewed and built a team of 15 engineers
  • Built internal tools, e.g. VCR extensions that automated management & recording of soap interactions outside test env
  • Spec suite with thousands of tests to enforce style guide, validate ruby namespace against collisions
  • SOAP services interface, generators for SOAP models and test fixtures; created version dependency resolution between Ruby layer and Java services
  • Rack middleware for fast custom logging => Splunk, 10ms per request improvement
  • CMS presentation code for the dynamic content on the site with all content available via static route or ajax widgets
  • Designed project structure - ajax widgets built out of reusable RequireJS modules, cells for componentized features, presenters for single instance variable, and logic free views
  • Spec infrastructure - created custom rspec matchers, acceptance tests, JS unit tests
  • Javascript - flyout menus, internally tabbed ajax pages, scrollspy, breadcrumbs
  • Javascript - Built the CMS backend for the content entry in the 100% javascript Rapid IDE
  • Maintained platform interoperability – Windows & RedHat & MacOS
  • What started as Bloomberg Black eventually became


Lead Maintainer Dec 2017 - Present

Oauth 2.0 for Ruby

Lead Maintainer Oct 2020 - Present

Oauth 1.0 for Ruby

Author & Maintainer Aug 2020 - Present

OAuth 1.0 TTY Command Line Interface

Lead Maintainer Apr 2012 - Present

Bit fields for ActiveRecord

Maintainer May 2016 - Present

Ruby ORM for Amazon’s DynamoDB.

Maintainer Sep 2020 - Present

A simple login and password strategy for OmniAuth.

Author & Maintainer Nov 2008 - Present

An Email Condom for your Ruby Server

Author & Maintainer Apr 2013 - Present

Static Gemfile Analysis; A Toolkit for working with 3rd party libraries in Ruby

Author & Maintainer Mar 2017 - Present

Unobtrusive, configurable, drop-in debug logging useful when a call stack gets unruly

Author & Maintainer Aug 2017 - Present

Resque plugin allowing configuration of queue-time job uniqueness

Maintainer Aug 2017 - Present

[WIP-Deprecating] Resque plugin allowing configuration of run-time job uniqueness

Author & Maintainer Apr 2017 - Present

Resque plugin allowing configuration of run-time job uniqueness

Author & Maintainer Apr 2017 - Present

Magic hacks which allow integration of job multiple Resque plugins providing different types of job uniqueness

Author & Maintainer Jan 2018 - Present

Faux Anonymous AR Models for testing Concerns, Observers, Decorators

Author & Maintainer Oct 2018 - Present

Serialize Month objects to Integer

Author & Maintainer Oct 2018 - Present

Unobtrusively stub ENV keys and values during testing

Author & Maintainer Nov 2017 - Present

TableFree ActiveRecord w/ associations and nested attributes

Author & Maintainer Jun 2015 - Present

Benchmarking instrumentation of the sort found in Rails’ view rendering

Author & Maintainer Nov 2008 - Present

Allows reverse batching, which means it can handle many types of destructuve blocks!

Author & Maintainer Apr 2015 - Present

Mixin providing management of error surfaces within the familiar territory of ActiveModel

Lead Maintainer 2011 - 2017

(ARCHIVED) Gets the Rails flash object working with page cacheing.

Author & Maintainer Nov 2014 - Present

Simple Validations in the Controller

Author & Maintainer Oct 2018 - Present

Analog (gem) plugin allowing non-linear rescale of numbers

Author & Maintainer Aug 2012 - Present

Keep the views dry with content_for_with_default and friends!

Author & Maintainer Apr 2015 - Present

Organize data results from raw sql queries (as with PGresult, or Dossier) intelligently.

Author & Maintainer Mar 2009 - Present

100 Pirates agree creating CSVs is boring. Pirates prefer lazy. Pirates use CsvPirate.

Author & Maintainer Mar 2016 - Present

Where the rails environment for local development can be named anything it desires!

Author & Maintainer Aug 2015 - Present

Provides a method signature that can be splatted to Rails’ content_tag_for to create labels.

Author & Maintainer Aug 2008 - Present

A Gem For Capistrano Deployment Email Notification

Author & Maintainer Nov 2015 - Present

State machine typos are the worst. Never again! Compatible with most state machines.

Author & Maintainer Dec 2019 - Present

Find out if your include and extend hooks are misbehaving!

Author & Maintainer Sep 2018 - Present

Benchmark Ruby’s require for Debugging Glory

Author & Maintainer Oct 2018 - Present

Simplify testing of blocks in RSpec

Author & Maintainer Oct 2015 - Present

Allows you to LISTEN for NOTIFY events from PostgreSQL and asynchronously handle the payload

Author & Maintainer Oct 2015 - Present

Mark specs pending or skipped for specific Ruby engine / version combinations

Author & Maintainer Mar 2016 - Present

Properly Implement ActiveRecord Transactions

Author & Maintainer Sep 2018 - Present

ActiveSupport Stream Silencing (STDOUT & STDERR) - Without ActiveSupport

Author & Maintainer Apr 2015 - Present

Provides an easy way to create Rack Middleware that injects things into the response body

Author & Maintainer Apr 2012 - Present

My personal dotfiles for Bash and Zsh

Maintainer Nov 2013 - Present

Bash Shell Function Library (FORK)

Author & Maintainer Nov 2013 - Present

Bash Step Function Library

Author & Maintainer Aug 2012 - Present

Debugging toolbar for Rack applications implemented as middleware

Author & Maintainer Aug 2012 - Present

Super Exception Notifier Gem/Plugin for Rails

Author & Maintainer Nov 2012 - Present

jQuery plugin that is analogous to the config/environments files in Rails.

Author & Maintainer Aug 2012 - Present

Yet Another jQuery Ellipsis Plugin… only better.

Author & Maintainer Jul 2015 - Present

A simple, lightweight JavaScript API for handling and namespacing configuration cookies

Author & Maintainer Oct 2021 - Present

Change ActiveRecord associations in a structured manner

Author & Maintainer Aug 2022 - Present

A Hashie::Mash joint to improve #snake_life for everyone

Author & Maintainer Jun 2022 - Present

Versions are good. Versions are cool. Versions will win.

Author & Maintainer Oct 2022 - Present

🏴 Liberate files from your Google Drive

Author & Maintainer Jun 2017 - Present

Dynamic modules define dynamic methods from array of column names

Author & Maintainer Jun 2017 - Present

TTY User Input plugin for service_actor gem

Author & Maintainer Feb 2014 - Present

Create Files Named Sequentially Intelligently

Maintainer Mar 2022 - Present

Seed Migration

Author & Maintainer Mar 2013 - Present

Create Files Named Sequentially Intelligently

Author & Maintainer Mar 2022 - Present

Pass/Fail logging colorization

Author & Maintainer Mar 2022 - Present

A regular expression matching Gitmoji symbols only

Author & Maintainer Dec 2013 - Present

Query for book data and download some things