Category · 63 articles
Typescript
The Frontend Toolchain Is Now Written in Rust and Go. What That Means for You
tsgo, Vite 8, Turbopack, OXC, and now the React Compiler in Rust. The tools you build with are quietly being rewritten in native languages. Here is the pattern, and which of your skills survive it.
25 Jun 2026
oxlint vs ESLint: Why I Replaced ESLint with oxlint
Replaced ESLint with oxlint in a React TypeScript project and cut lint time from 12 seconds to under one. What I traded away and whether it was worth it.
10 May 2026
SystemJS Is Dead. Native ESM Finally Won.
I ran into a SystemJS config file last month buried inside a legacy Angular project. The kind with System.config({ packages: { app: { ... } } }), fifteen ...
30 Apr 2026
Replace Axios with a Simple Custom Fetch Wrapper (Production-Ready Guide)
Originally published March 30th, 2020 — Updated April 3rd, 2026 — 6 min read
3 Apr 2026
Stop Shipping ChatGPT Wrappers. Ship an Agent in TypeScript, or Don't Bother.
Most "AI features" I see today are a chat box taped onto an app.
11 Jan 2026
What Developers Are Saying About React 19: Pros and Cons
React 19 shipped. I've used it. I've talked to other developers about it. Here's what actually matters.
27 Dec 2024
TypeScript for Large-Scale Applications
I've worked on codebases with millions of lines of JavaScript. The kind where renaming a function is a prayer. Where undefined is not a function shows up ...
21 Dec 2024
Type Inference and Type Compatibility in TypeScript
I used to annotate every single variable in TypeScript. Every let, every parameter, every return type. The code looked like a type dictionary.
20 Dec 2024
Debugging TypeScript Applications: Lessons from the Trenches
TypeScript's type system catches a lot. But "a lot" isn't "everything." The bugs that survive the compiler are the ones that hurt the most — subtle, runti...
19 Dec 2024
Why You Might Want to Switch to pnpm from npm
I switched a monorepo with 12 packages from npm to pnpm. Install time dropped from 4 minutes to 45 seconds. Disk usage dropped by 60%.
7 Sept 2024
Using the Intl Object in TypeScript: An Overview with Examples
I once hard-coded a date format as MM/DD/YYYY and shipped it to European users. They were confused. In most of the world, the month doesn't come first.
6 Jun 2024
When to Use let vs const in TypeScript
Use const by default. Use let when you need to reassign.
16 May 2024
Exploring Promise APIs in TypeScript
Promises represent async work that will either succeed or fail. TypeScript makes them better by letting you type the resolved value. Here's a practical to...
10 May 2024
Implementing Salt with Encryption in TypeScript
If two users have the same password and you hash without a salt, they produce identical hashes. An attacker who cracks one cracks both. That's why salts e...
8 May 2024
Throttle and Debounce Functions in TypeScript
A user scrolls a page. Your scroll handler fires 300 times in two seconds. Each one triggers a layout calculation. The page stutters. The user leaves.
7 May 2024
Power of gRPC in Node.js: A Superior Alternative to Websockets
Websockets get the job done for real-time communication. But gRPC does it faster, with stronger contracts, and less room for mistakes.
5 May 2024
Exploring Array.from() in TypeScript
I needed to initialize a 2D grid of zeros for a pathfinding algorithm. My first instinct was nested for loops. Then I remembered Array.from() exists.
5 May 2024
Request Payload Limitations in TypeScript
I once spent two hours debugging a 500 error that turned out to be a payload that was too large. The server just rejected it silently. No helpful error me...
1 May 2024
Node.js Scalability: Implementing a Node.js Cluster
Node.js runs on a single thread. One CPU core, one process, one event loop. If you have a 16-core machine, 15 cores sit idle.
29 Apr 2024
Distinction: Node.js Child Process vs. Node.js Worker
Node.js is single-threaded. When you need to do CPU-heavy or parallel work, you have two options: child processes and worker threads. They solve different...
29 Apr 2024
What is the difference between a prototype and a constructor in TypeScript?
These two concepts get confused constantly. They do different things.
24 Apr 2024
Decorators in TypeScript: Code Reusability
I had a class with two methods. Both needed logging. So I copy-pasted console.log calls into each one.
24 Apr 2024
Static vs Instance Methods in TypeScript
Static vs instance methods in TypeScript: what each one is, when to use which, and the practical difference, with clear class examples.
23 Apr 2024
ReturnType, Parameters, and Readonly in TypeScript
Three more TypeScript utility types that I reach for regularly: ReturnType, Parameters, and Readonly. Each solves a specific problem.
23 Apr 2024
Omit, Pick, and Exclude in TypeScript
You have a type. You need a variation of it — same shape, minus a few fields. Or only a few fields. TypeScript gives you Omit, Pick, and Exclude for exact...
23 Apr 2024
Mastering Partial, Required, and Record in TypeScript: A Guide to Type Safety
TypeScript ships with utility types that reshape existing types. Three of the most useful: Partial, Required, and Record.
23 Apr 2024
keyof in TypeScript
keyof takes a type and returns a union of its property names. That's it. One operator, but it unlocks some of the most useful patterns in TypeScript.
23 Apr 2024
Template Literal Types in TypeScript
I once spent an afternoon debugging a function that expected a URL string but received a bare domain name. No protocol, no slashes. The code ran fine unti...
23 Apr 2024
TypeScript Casting: A Powerful Tool for Type Safety
TypeScript casting — or more accurately, type assertions — lets you tell the compiler "I know more about this type than you do." It doesn't convert data a...
23 Apr 2024
IntersectionObserver: A Game-Changer for Web Developers
I used to detect element visibility by attaching a scroll listener and calling getBoundingClientRect() on every frame. It worked. It also tanked performan...
23 Apr 2024
What is the difference between a Node.js stream and a Node.js buffer?
Think of a buffer as a bucket. You fill it up, then you use the water. Think of a stream as a pipe. Water flows through it continuously.
23 Apr 2024
Modules in TypeScript: A Comprehensive Guide
A module is a file that exports things other files can import. That's it. No magic.
23 Apr 2024
Enums in TypeScript: A Comprehensive Guide
An enum gives names to a set of constants. Instead of scattering magic strings or numbers across your codebase, you define them once and reference them ev...
23 Apr 2024
Classes in TypeScript: A Comprehensive Guide
A class is a blueprint for creating objects. You define the shape once, then stamp out as many instances as you need.
23 Apr 2024
Interfaces in TypeScript: A Comprehensive Guide
An interface describes the shape of an object. It says "anything that claims to be this type must have these properties." It doesn't contain any implement...
23 Apr 2024
Type Systems in TypeScript: A Comprehensive Guide
A type system is a set of rules the compiler uses to decide what's allowed and what isn't. In TypeScript, that checking happens at compile time — before y...
23 Apr 2024
The New Map() Feature in TypeScript: A Game-Changer for Your Code
Map is a built-in data structure for key-value pairs. Think of it as an Object, but with better ergonomics for dynamic keys.
20 Apr 2024
Implementing Queues with TypeScript and Bull.js: A Comprehensive Guide
A user uploads a video. You need to transcode it, generate thumbnails, and send a notification. Do you make the user wait for all of that? No. You put the...
18 Apr 2024
Task Scheduling with AgendaJS in Node.js
Every non-trivial Node.js app eventually needs to run something on a schedule. Send emails at midnight. Retry failed payments every hour. Clean up expired...
17 Apr 2024
How to develop an event driven app in NodeJS
Instead of calling functions directly, you fire an event. Something else picks it up and reacts. That's event-driven programming in a sentence.
17 Apr 2024
Toy Robot Simulator with Test-Driven Development (TDD) in TypeScript
The Toy Robot Simulator is a classic coding challenge. A robot sits on a 5x5 grid. It can be placed, moved forward, rotated left or right, and report its ...
17 Apr 2024
Object Properties and Methods in JavaScript and TypeScript - Interview Question
These come up in interviews constantly. Here's a quick reference for the Object methods you'll actually use — and what each one does.
15 Apr 2024
Modifiers, Public, Protected, Private in Typescript
Access modifiers control who can see and use a class member. TypeScript gives you three: public, protected, and private. Each draws a different boundary.
15 Apr 2024
Top GraphQL Interview Questions with Code Examples
I've been on both sides of GraphQL interviews — asking and answering. These are the questions that actually come up, with code examples that show you unde...
14 Apr 2024
Publishing Your TypeScript Package to npm: A Step-by-Step Guide
Publishing a TypeScript package to npm is one of those things that sounds simple until you hit the first "module not found" error from a consumer. Getting...
14 Apr 2024
Building a GraphQL Server with Apollo Server, Prisma, and TypeScript
Apollo Server handles GraphQL. Prisma handles the database. TypeScript ties them together with type safety. This stack gives you a fully typed pipeline fr...
12 Apr 2024
Web3.js: A Casual Developer's Guide
Web3.js is a JavaScript library that lets you talk to the Ethereum blockchain. You can send transactions, deploy smart contracts, and read on-chain data —...
5 Mar 2024
Exploring Postman: Tips and Tricks for Effortless API Testing and Development
I sat down to explore what Postman can actually do beyond "send a request and look at the response." Turns out, quite a lot.
31 Dec 2023
What is Encapsulation in JavaScript?
Encapsulation means hiding what doesn't need to be seen. You expose a clean interface. You keep the messy internals private. When the internals change, no...
14 Oct 2023
Considering Elm Lang for future
I kept hearing about Elm in conference talks. "No runtime exceptions." "Compiler as assistant." So I spent a few weeks building a small project with it. H...
14 Oct 2023
JavaScript Tips for Performance
I've spent years profiling JavaScript applications. Most performance problems come down to the same handful of mistakes. Here are the ones I see most often.
14 Oct 2023
Why not using Reason ML?
ReasonML promised a better JavaScript: static types, fast compilation, functional programming, and Facebook's backing. It compiles to JavaScript via Buckl...
14 Oct 2023
Developing Authentication with Cognito User Pool and JavaScript Apps
Every app needs login and signup. Every backend developer has built it from scratch at least once. And every time, the same question lingers: is this actu...
14 Oct 2023
Source maps and how it works
Your production JavaScript is minified. Variable names are gone. Line numbers are meaningless. When a bug hits production, the stack trace points to line ...
14 Oct 2023
Optimizing JavaScript Event Listeners for Performance
Right now, your website probably has dozens of event listeners running. Most of them are fine. Some of them are killing performance.
14 Oct 2023
Node Melbourne August Meetup
Two friends of mine — Omar Mashaal and Andrey Sidorove — organized a Node.js meetup in Melbourne through CHE Proximity. Pizza, drinks, two solid talks.
14 Oct 2023
What would be the future of JavaScript?
JavaScript started as a scripting language for making buttons change color. Now it runs servers, builds mobile apps, controls hardware, and powers desktop...
14 Oct 2023
What are the reasons for using EmberJs?
Most frontend developers reach for React or Angular. Ember rarely comes up in conversation anymore. But it's been around longer than React, it's battle-te...
14 Oct 2023
Express Js Review
I wanted a comprehensive JavaScript framework — something like Rails, Django, or Laravel but for Node. So I started with the most popular option: Express.
14 Oct 2023
REST vs GraphQL
I've built APIs with both REST and GraphQL in production. Neither is universally better. Here's what actually differs.
14 Oct 2023
JavaScript Express Status Monitor
My Node.js server was eating memory and I didn't know why. No monitoring, no dashboards, no visibility into what was happening at the process level.
13 Oct 2023
Codeception Behaviour Driven (BDD)
Behat was the go-to BDD framework for PHP. Then PHP 7 came out and Behat only supported 5.4. That left a gap.
13 Oct 2023
How Version Control Numbering Works?
Every project needs version numbers eventually. You can invent your own system, but then every developer on your team has to learn it. Semantic Versioning...
13 Oct 2023