home

Welcome to 8 Protocols

I’m Alvis Ng, a technical lead based in Malaysia.

I write about the systems that shape how we build—from software architecture and AI to product strategy, team culture, and the human mind behind the code.

At 8 Protocols, I share principles, stories, and experiments that keep work sharp and human. Sometimes that means untangling a stubborn frontend structure. Sometimes it’s questioning a “best practice” that everyone treats as gospel. Sometimes it’s about faith, psychology, and the quiet forces that shape why we work the way we do.

I write to keep asking better questions: about craft, about meaning, and about how we balance precision with purpose.

I share these notes and stories at least three times a month. Long enough to stay with you. Short enough for a cup of coffee.

Latest

Nov 07
Asynchronous Operations and Error Handling in TypeScript

Asynchronous Operations and Error Handling in TypeScript

TypeScript strengthens async programming by making inputs, outputs, and errors explicit. From generics with discriminated unions to custom error classes and structured results, you can create predictable, maintainable async flows that work seamlessly in complex team projects
7 min read
Oct 30
TypeScript Pattern 101: Basic Types and Interfaces

TypeScript Pattern 101: Basic Types and Interfaces

Dive deeper than string and number and unveil the power of TypeScript’s type system through custom types, generics, and type manipulation. This is where the richness of TypeScript’s type system truly shines, opening doors to more robust and self-explanatory code.
3 min read
Oct 27
TypeScript Pattern 101: Type Guards

TypeScript Pattern 101: Type Guards

Type guards in TypeScript function as safety checks. They help ensure you’re dealing with the exact type you expect, making them invaluable for dealing with complex data structures or various types.
2 min read
Aug 04
Understanding Immutability in JavaScript

Understanding Immutability in JavaScript

Immutability in JavaScript means data stays unchanged after creation. It improves predictability, debugging, and performance, and helps avoid tricky state bugs. With tools like React, Redux Toolkit, and TypeScript’s readonly features, it becomes easier to write safer, more maintainable code.
10 min read