byteNative
Backend

Node.js

A JavaScript runtime for performant, event-driven servers.

What is Node.js?

Node.js brings JavaScript to the server and uses an event-driven loop that serves many simultaneous connections from a single process. That model shines wherever there is a lot of waiting and little number crunching, so APIs, streaming or orchestrating many external services. The whole flow is non-blocking, so one server holds noticeably more open requests under load without tying up a separate thread per connection. For us the biggest win comes from the shared language, because we reuse types, tooling and knowledge across frontend and backend.

More in the documentation

How we use it

We build our APIs, background jobs and integrations on it, especially when a project already runs TypeScript in the frontend. That way you share validation logic and types directly between both sides and avoid maintaining code twice. It makes a team faster and keeps the project maintainable over years.

ts
import { createServer } from "node:http";

const server = createServer((req, res) => {
  res.writeHead(200, { "content-type": "application/json" });
  res.end(JSON.stringify({ ok: true, path: req.url }));
});

server.listen(3000, () => console.log("listening on :3000"));
non-blocking http server with the built-in api

Good to know

A single CPU-heavy function blocks the whole event loop and stalls every other request with it. We move heavy computation into a worker thread or a separate service rather than letting it run in the request path.

00Backend

More tools we work with in the same area.

Which technology fits you?

You don't have to decide that, it's our job. Tell us about your plans.