Stack · Backend

Node.js — APIs, services & tooling

Core toolNode.js

Node is what sits underneath the apps I build — REST and GraphQL APIs, background jobs, and the build and release tooling behind the libraries I publish.

Why I use it

One language across the client and the server is worth more in practice than it sounds on paper: types can be shared, validation logic doesn't get written twice, and context-switching cost drops to nearly zero. Node is also simply the right shape for what most of my work needs — IO-bound request handling rather than CPU-bound computation.

What I've built with it

  • REST and GraphQL APIs backing web and mobile clients, with auth, validation and error shapes designed rather than improvised
  • Next.js API routes and Server Actions where an endpoint only exists to serve one app
  • npm package publishing with per-component subpath exports and bundle size checked in CI
  • CLI tooling — npx rootnative create to scaffold a project, and rootnative add to copy components in with their source
  • Scripts and cron jobs for the unglamorous parts: data migration, report generation, scheduled cleanup

Alongside

TypeScriptGraphQLRESTnpmCLI

Rest of the stack

Got a project that needs Node.js?

Get in touch →