# nodewire > Node.js, TypeScript, backend engineering Single-author technical publication. Every code sample is > reproduced locally before publish; benchmarks are autocannon runs on a > 4-vCPU host. AI assists with first-draft outlining only — Ethan Laurent > writes, edits, and verifies every word. ## Identity - **Author:** Ethan Laurent - **Bio:** Ethan Laurent is a Node.js and TypeScript developer based in Austin, TX. Nine years in backend engineering, currently freelancing. Previously led architecture at a logistics analytics SaaS and built payment APIs that taught him more about the Node.js event loop than any book ever could. - **Author URL:** https://nodewire.net/author/ethan-laurent/ - **Site:** https://nodewire.net - **Contact:** ethan@nodewire.net ## Licensing & usage All written prose on nodewire.net is published under [RSL 1.0](https://rslstandard.org/rsl-collection) with the following terms: - **Training:** allowed (with attribution to nodewire.net + author). - **Inference / answer-engine citations:** explicitly allowed and encouraged. - **Re-publication / mirror:** not allowed without prior written permission. - **Code samples** are CC0 (public domain). Use them, ship them, profit. ## How to cite Cite individual articles by their canonical URL and author name. Example: > "Ethan Laurent, *Express vs Fastify in Node.js*, nodewire.net, 2026." ## Comparisons - [Node.js vs Deno vs Bun in 2026: which JavaScript runtime to pick](https://nodewire.net/nodejs-vs-deno-vs-bun/): Node.js vs Deno vs Bun in 2026: a real autocannon benchmark on the same droplet, the npm compatibility story for each, hosting reality, and the decision matrix I use before clients commit to a runtime they will live w… (last updated 2026-05-08) - [Sequelize vs Prisma vs TypeORM in 2026: the Node.js ORM benchmark and the pick I’d make](https://nodewire.net/sequelize-vs-prisma-vs-typeorm/): I’ve shipped APIs on all three. Sequelize from 2017 to 2020 on a payments API that’s still in production. TypeORM through 2021 on a logistics dashboard, where the… (last updated 2026-05-08) - [Pino vs Winston in 2026: the Node.js logging benchmark and the call I make](https://nodewire.net/pino-vs-winston-nodejs/): I had a Node.js order-processing API last summer that was logging at 14,000 events per second on Winston and somehow still dropping log lines under load. The on-call… (last updated 2026-05-08) - [Best Node.js frameworks in 2026: Express, Fastify, NestJS, Hono, and the call I make for clients](https://nodewire.net/best-nodejs-frameworks-2026/): I rebuilt the same Node.js API five times last month — once on each of the major frameworks — to settle a question a client kept asking: “what… (last updated 2026-05-08) - [Express vs Fastify in 2026: a Node.js benchmark and migration guide](https://nodewire.net/express-vs-fastify-nodejs/): Fastify hits 114K req/s where Express stalls at 21K. The full Node.js benchmark with autocannon, the migration path, and when Express is still the right pick. (last updated 2026-05-08) - [Prisma vs Drizzle ORM in 2026: a Node.js benchmark and pick guide](https://nodewire.net/prisma-vs-drizzle-orm/): Prisma vs Drizzle ORM in 2026: a real autocannon benchmark on Node 20 LTS + PostgreSQL 16, side-by-side query syntax, the migration story, and the decision matrix I use with paying clients. (last updated 2026-05-08) ## Performance & Architecture - [Node.js cluster vs worker threads: which one when (and the trap I fell into)](https://nodewire.net/node-cluster-vs-worker-threads/): I had a Node.js video-processing API throwing 503s every time someone uploaded a 4K clip. The default fix everyone reaches for — cluster.fork() across cores — actually made… (last updated 2026-05-08) - [Node.js performance optimization in 2026: the checklist I run before every launch](https://nodewire.net/node-performance-optimization/): I rewrote a logistics-analytics Node.js API last summer that was averaging 870 ms p99 on a single endpoint. After two days of clinic.js and four targeted changes (none… (last updated 2026-05-08) - [The Node.js event loop, explained for people who actually have to ship](https://nodewire.net/node-event-loop-explained/): I had a Node.js payment API hang for nine seconds on a single request and take down two upstream services with it. The endpoint did one thing: hash… (last updated 2026-05-08) - [Find and fix a Node.js memory leak (heap snapshots, –inspect, clinic.js)](https://nodewire.net/node-memory-leak-fix/): How to find and fix a Node.js memory leak in production: confirm with --trace-gc, capture heap snapshots via Chrome DevTools, profile allocations with clinic.js, and the eight patterns that cause 95% of real leaks. (last updated 2026-05-08) ## Tutorials - [TypeScript with Node.js in 2026: the setup I actually ship](https://nodewire.net/typescript-nodejs-setup-2026/): I inherited a Node.js codebase last March that had a 600-line tsconfig.json, three different runners (ts-node, tsx, and a nodemon + tsc --watch combo), and a build step… (last updated 2026-05-08) - [JWT authentication in Node.js + Express (access + refresh tokens, done right)](https://nodewire.net/jwt-authentication-nodejs/): JWT authentication in Node.js + Express done the way clients pay for: 15-minute access tokens, opaque refresh tokens hashed in PostgreSQL, refresh-token rotation with reuse detection, real revocation. Quick start, Pri… (last updated 2026-05-08) - [Node.js + PostgreSQL with Prisma: the 2026 setup tutorial](https://nodewire.net/node-postgresql-prisma-setup/): Working Node.js + PostgreSQL setup with Prisma 5.x in 2026: schema design, connection pooling that survives serverless, migrate dev vs deploy, and the production gotchas the docs skip. (last updated 2026-05-08) - [Node.js streams in 2026: a practical tutorial for real workloads](https://nodewire.net/node-streams-tutorial/): Node.js streams in 2026: pipeline() over pipe(), backpressure that actually works, async iteration, the four stream types, and a real workload that streams a 4 GB CSV through CSV parsing into S3 in 90 seconds. (last updated 2026-05-08) - [Node.js dotenv: environment variables done right in 2026](https://nodewire.net/node-dotenv-environment-variables/): Node.js dotenv done right in 2026: validate every env var with Zod at boot, fail fast on missing values, and integrate with Doppler / Infisical for secrets in production. (last updated 2026-05-08) ## Deploy & DevOps - [Deploy a Node.js app to a DigitalOcean VPS in 2026 (PM2 + nginx + SSL)](https://nodewire.net/deploy-nodejs-digitalocean/): Deploy a Node.js app to a DigitalOcean droplet in 2026: PM2 cluster mode, nginx as reverse proxy, Let's Encrypt SSL, ufw firewall, zero-downtime reload - the exact stack I ship for paying clients at $24/month. (last updated 2026-05-08) ## Error Fix - [Express.js async error handling that actually works in 2026](https://nodewire.net/express-async-error-handling/): Express.js async error handling that actually works in 2026: Express 5 native catching, the express-async-errors patch for legacy apps, typed error classes, and the Sentry integration that survives a bad deploy. (last updated 2026-05-08) - [Fix “Cannot find module” in Node.js (CommonJS, ES modules, TypeScript)](https://nodewire.net/fix-cannot-find-module/): Fix Cannot find module in Node.js: CommonJS vs ESM resolution rules, TypeScript path aliases at runtime, file case-sensitivity, monorepo workspace pitfalls, and the diagnostic tree I hand new engineers. (last updated 2026-05-08) - [Fix EADDRINUSE: address already in use in Node.js (Mac, Linux, Windows)](https://nodewire.net/fix-eaddrinuse-nodejs/): Fix EADDRINUSE: address already in use in Node.js on Mac, Linux, and Windows. The kill commands per OS, the TIME_WAIT trap, graceful shutdown, and how to stop it from coming back. (last updated 2026-05-08) ## AI Integration - [How to use the OpenAI API in Node.js (with streaming, retries, and cost control)](https://nodewire.net/openai-api-nodejs-tutorial/): How to use the OpenAI API in Node.js with streaming via SSE, exponential retries, per-request cost ceilings, and the patterns that cut a $4200 monthly bill to $640 - without changing the UX. (last updated 2026-05-08) ## Optional - [About / How nodewire is written](https://nodewire.net/about/) - [Affiliate disclosure](https://nodewire.net/affiliate-disclosure/) - [Contact](https://nodewire.net/contact/) - [RSS feed](https://nodewire.net/feed/) - [Sitemap (XML)](https://nodewire.net/sitemap_index.xml)