👋 I'm Cam McHenry

I am a software engineer that is passionate about building great web applications. Currently, I work at GitHub and I live in State College, Pennsylvania.

I often write about TypeScript and React in my blog, and occasionally write some useful tools.

Featured work

  • How to write custom ESLint rules for your project

    ESLint is a great tool for analyzing code, but it can be a bit of a hassle to set up when it comes to making your own rules. This is a quick guide on how to create a TypeScript ESLint plugin, write a custom rule, and write tests for it.

  • Everything You Need To Know About TypeScript Union Types

    Union types are a powerful feature of TypeScript to ergonomically model a finite number of mutually exclusive cases and ensure that every case is handled safely.

  • TypeScript Type Guards Explained

    Type guards are conditional checks that allow types to be narrowed from general types to more specific ones. With type guards, we do run-time type checking and ensure that code is safe.