Matt Kantor

Web
https://mattkantor.com
Email
the.matt.kantor [at] gmail.com
Phone
650 488 7405

Professional Summary

I'm a software engineer with 20+ years of experience designing distributed systems, developer platforms, and user-facing products. I specialize in reducing complexity through thoughtful architecture, strong domain modeling, and tools to help both end users and colleagues work more effectively.

Throughout my career I've repeatedly taken on ambiguous, cross-functional problems spanning organizational boundaries: founding technical initiatives, building platforms, mentoring engineers, and creating systems that continue to provide leverage long after their initial implementation.

My experience spans startups, growth-stage companies, and large-scale consumer platforms, with significant work in TypeScript, Scala, Rust, Ruby, cloud infrastructure, data pipelines, and developer tooling.

Specialties

  • Full-stack development
  • Distributed systems
  • DevOps: observability, operations, CI/CD
  • Developer tools
  • User experience
  • Domain modeling & API design
  • Agile methodologies
  • Big data

Programming Languages

  • TypeScript
  • Scala
  • Rust
  • Ruby
  • Go
  • Java
  • PHP
  • Objective-C

Tools & Services

  • Docker & Kubernetes
  • Google Cloud & AWS
  • Databases: PostgreSQL, MySQL, MongoDB, Redis, BigQuery
  • Data pipelines: Kafka, Dataflow/Beam, Google Pub/Sub
  • Orchestration: Terraform, CloudFormation, Chef

Other Languages & Protocols

  • HTML & CSS
  • HTTP & REST
  • Apache Thrift
  • GraphQL
  • SQL

Interests

I'm interested in most things IT, especially anything that has an impact on communication, society at large, or the ways we think and live. I'm also into physics, cosmology, ecology, sociology, philosophy, and just about anything that might help me make sense of this crazy and beautiful world. Designing things and solving problems are how I channel my creative energy to shape a better future.

Education

  1. Bachelor of Arts in Computer Science from Ithaca College (Ithaca, NY)

Employers

  1. Clockworks, Inc. — Employee #1 (Software Engineer/Jack Of All Trades)
  2. Credit Karma — Senior Software Engineer II
  3. Kabam — Senior Software Engineer
  4. Self-Employed — Software Engineer Contractor/Consultant
  5. Sprongo.com — Software Engineer/Architect
  6. Zampus, Inc. — Lead Developer/CTO

Selected Projects

Please

An open-source programming language and compiler designed to make advanced metaprogramming and static analysis practical for everyday software development.

Please combines homoiconicity, extensive compile-time evaluation, powerful type inference, and rich structure-aware analysis to enable deep correctness guarantees without sacrificing expressiveness or ergonomics.

I've designed and implemented the language myself, including its parser, typechecker, compiler, runtime, and supporting tooling.

Onalu

No-code workflow automation and collaboration platform centered around a reactive spreadsheet-like interface.

As the company's first hire, I helped shape the product from its earliest stages while contributing across architecture, implementation, operations, customer support, strategy, and product development. Working directly with customers and founders, I helped transform an early concept into a production system.

I designed and implemented major portions of the platform, including third-party service integrations, workflow execution and rules engine functionality, notifications, the sign up flow, and numerous other core capabilities. The role required balancing long-term architectural decisions with the fast iteration cycle of an early-stage startup.

Operator Web Server

A web server for content-centric sites that require some dynamic behavior without the complexity of a full application framework.

Operator is designed to be flexible, making it easy to reuse existing assets/scripts and avoid lock-in. It serves static files directly, but can also serve dynamic content that is generated at request time by handlebars templates or executables. Operator is written in Rust and uses the Actix web framework.

So far I've done all design and implementation myself. The project is open source.

Portals Product Platform

A platform to empower product teams at Credit Karma to quickly build simple, personalized, cross-platform user experiences.

I founded and later served as a technical lead on a cross-organizational initiative to create a unified product platform shared across Credit Karma's iOS, Android, and web surfaces. The platform addressed growing complexity caused by duplicative platform-specific implementations, fragmented user experiences, and increasingly-labyrinthine deployment workflows. I had a central role in defining the architecture and aligning stakeholders across teams, and I led the implementation of several major subsystems.

Key platform components included:

  • A cross-platform UI description language enabling teams to define experiences once and render them natively across iOS, Android, and web.
  • A statically typed data access layer exposing user information through a shared schema and abstraction model.
  • An orchestration layer supporting personalization, targeting, and dynamic content generation.

As the platform matured, I spearheaded development of advanced capabilities including machine-learning-driven layout and styling, WYSIWYG tooling for non-technical content creators, and platform-wide analytics and performance instrumentation.

The platform was ultimately adopted across dozens of teams and became a foundational part of Credit Karma's product ecosystem, serving tens of millions of users.

"How To Scala" Class

A bi-weekly class helping engineers become proficient Scala programmers.

I mentored more than 50 engineers over the course of this program. My curriculum was a mix of theory and practice, with sessions usually introducing a concept then showing how to apply it with examples from real projects and live interactive coding sessions. I mostly covered intermediate-to-advanced topics, but presented them in ways that would break down mental roadblocks for beginners.

Topics included functional programming, concurrency/asynchronicity, approaches to automated testing, type theory (including algebraic data types and subtyping/variance), and basic category theory.

Bank Integration

Infrastructure for Credit Karma to integrate with banks and debit accounts.

At Credit Karma there was a lot of discussion about how the product only understood "half of the balance sheet" (debts and lines of credit—from credit reports) and had little awareness of users' savings & cashflow. This made many desirable product features impossible.

Shortly after joining the company I was selected to co-lead a cross-departmental team to build a system for pulling user banking data and making it available to product services.

I architected and led the implementation of a collection of services to fetch/encrypt/persist bank account & transaction data, manage credentials, receive webhooks, and publish notifications about certain events. I also provided consultation for several product teams to help deliver user-facing features leveraging this data.

KASQ: Business Intelligence Pipeline

A modern business intelligence pipeline leveraging Google Cloud Platform.

Kabam was a data-driven company and its business intelligence technology was a critical tool for decision-making. KASQ encompassed Kabam's entire data pipeline: streaming and batch-ingesting raw events, validating/transforming/aggregating those events, calculating business metrics, providing data to machine learning models, and pushing outputs to visualization tools and third-party APIs. KASQ was composed of many cooperating sub-components to handle these responsibilities; most were written in Scala and made use of Google Cloud services such as BigQuery, Dataflow, and hosted Kubernetes clusters. By the end of 2016 KASQ was processing 10 million events per day, with over 300TB of data stored in BigQuery.

I led development of major portions of KASQ, including data ingestion and metrics to support user acquisition, enhancing concurrency across large swaths of the pipeline to improve throughput, and a monitoring framework to keep track of the system's health. I also contributed in smaller ways to many other parts of the platform.

Self-Healing MongoDB Cluster

Automated infrastructure for a sharded MongoDB cluster on AWS.

I designed and built infrastructure-as-code for a MongoDB cluster with three config servers, an administrative node running mongos, and a configurable number of shards, each including a hidden secondary responsible for taking snapshots.

The cluster was designed with a "cattle, not pets" mentality and was robust to failures. As long as each replica set had at least one live member and there was at least one operable config server, the rest of the cluster could go down without impacting consistency or availability. All failover was completely automated, with replacement nodes loading state from snapshots in order to prevent a costly full sync. Tools used included Chef, AWS CloudFormation, and AWS CloudWatch.

SkiClubZ/Sprongo

A web-based platform for amateur & professional athletes to improve their performance using video analysis and remote coaching.

I helped develop these projects from their beginnings as part of a very small startup group. SkiClubZ.com was our proof-of-concept, focused on the skiing and snowboarding markets. After a lot of iteration and user feedback we had developed a solid set of tools and a way of packaging them into a helpful, easy-to-use service. We refreshed the UI and simplified the feature set to create Sprongo, a cross-sport solution based on the learnings from SkiClubZ.com.

The site's focal point was an HTML5-based video tool with variable rate slow-motion, video overlays, split screen, frame-stepping, drawing, and timestamped in-video comments. Because the HTML5 video API was still young when we developed these features, there were lots of workarounds for browser inconsistencies in order to deliver the best experience possible to each of our users.

Since the company was so small I did a bit of everything, but focused on development, project management, operations, interaction design, testing/QA, and user research.