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

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
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…

Nested GraphQL Resolvers & Separating Concerns
Feb 22nd, 2020 / 7 min read

Unfortunately, in GraphQL, you can't nest operations to apply better grouping (namespacing / separation of concerns) to your services. Here…

How to Build a Compiler?
Feb 17th, 2020 / 3 min read

Today, in the Advanced JavaScript Developers group, someone asked the question: Musing from a Noob: so if you were to write a translator…



Recently Edited Wikis

view all

3 Common Goals of Frontend Frameworks
Updated Jan 8th, 2020 / 1 min read
Data storage, change detection, and data flow.
Monolithic Application
Updated Dec 2nd, 2019 / 2 min read
An application where all the essential components are self-contained and deployed within a single process.