My book on Node.js / TypeScript software design and architecture just pre-launched 📕 (%33 off)!

SOLID: The Software Design & Architecture Handbook

Presale $24.99

I'm Khalil. I teach advanced TypeScript & Node.js best practices for large-scale applications. Learn to write flexible, maintainable software.


I create courses, books, and articles for aspiring developers on Enterprise Node.js, Domain-Driven Design, GraphQL, and writing testable, flexible JavaScript.


Recent Articles

view all

Enforcing Coding Conventions with Husky Pre-commit Hooks
In this guide, we'll learn how to setup Husky to prevent bad git commits and enforce code standards in your project.
How to Deploy a Serverless GraphQL API on Netlify [Starters]
Exploring two starter projects you can use to deploy a serverless GraphQL API on Netlify with or without TypeScript.
How to Get the Currently Playing Song using the Spotify Node.js API & TypeScript
A quick and straightforward guide to hooking into the Spotify's awesome API to show the current song that you're listening to. It ...
Domain-Driven GraphQL Schema Design | Enterprise GraphQL
A GraphQL schema is a declarative, self-documenting, organization-wide API. It's pretty important to spend a little bit of time on...
How I Write Testable Code | Khalil's Simple Methodology
The single biggest thing that improved the quality of my designs was understanding how dependencies influence my ability to write ...
GraphQL's Greatest Architectural Advantages
There's a lot of advantages to using GraphQL instead of REST on your server, and there's a lot of advantages to using Apollo Clien...
Why Event-Based Systems? | Enterprise Node.js + TypeScript
There are so many reasons why event-based systems are the standard for large-scale enterprise applications like GitHub, Facebook, ...
How Apollo REST Data Source Deduplicates and Caches API calls [Deep Dive]
Apollo's REST Data Source does a lot more than you'd think behind the scenes, and that's why it's recommended instead of using a w...
Books that Developers Should Read in 2020 [List]
These books “are basically cheat codes” for leveling up your skills and knowledge as a developer.
How to Setup a TypeScript + Node.js Project
In this guide, we walk through the process of creating a TypeScript project from scratch with cold-reloading, and scripts for buil...
Where Do Domain Events Get Created? | Domain Driven Design w/ TypeScript
In this post, I explain how good ol' fashioned encapsulation + TypeScript getters and setters enable us to effectively create Doma...

My book on Node.js / TypeScript software design and architecture just pre-launched 📕 (%33 off)!

SOLID: The Software Design & Architecture Handbook

Presale $24.99



Recent Blogs

view all
Enforcing Coding Conventions with Husky Pre-commit Hooks
Mar 10th, 2020 / 5 min read

Intro On most projects I've ever worked collaboratively on, someone takes the role of the code cleanliness champion. It's usually the team…

How to use Prettier with ESLint and TypeScript in VSCode
Mar 8th, 2020 / 9 min read

Intro In the previous article in this series, "How to use ESLint with TypeScript", we learned how add ESLint to our project and configure it…

How to use ESLint with TypeScript
Feb 26th, 2020 / 9 min read

Intro Formatting is one of several concerns in the efforts to write clean code. There's a lot of other stuff we should be concerned about as…

Deploying Serverless GraphQL APIs with TypeScript on Netlify
Feb 23rd, 2020 / 2 min read

Deploying a Serverless GraphQL API with TypeScript is essentially the same as deploying one with JavaScript. The only difference is in the…



Recently Edited Wikis

view all

The Dependency Rule
Updated Mar 28th, 2020 / 4 min read
A software architecture rule that specifies the relationship between layers, namely that an inner layer should never rely on anything from an outer layer.
Camel case
Updated Mar 7th, 2020 / 2 min read
Camel case is a naming convention that says all words in an indentifier (except the first) must be capitalized.