VulCode

TypeScript, React and Node: what we build with it and why

TypeScript is our default for everything you see in a browser: websites, client panels, stores and web apps, with Node and Next.js for their back ends.

All technologies

TypeScript, React and Node in real screenshots

The projects on this page on the screens from the portfolio and the case studies, each with a short description and the way to the full one.

The WaveHost client panel with the balance and recent activity

WaveHost: site and panel

A site with an admin panel and a client panel with a Next.js API.

Atrium: the day at the property with arrivals, departures and rooms to clean

Atrium and Lokal

Ready platforms for accommodation and venues.

When TypeScript, React and Node, and when something else

A technology has to fit the place the code will run and the team that will take it over. The final choice is made in the quote, together with you.

We pick TypeScript, React and Node

Company sites with prerendering

This site generates ready HTML for every page at build time. A search engine gets the content without running scripts, and once loaded a fast React interface takes over.

An installable client panel

The VulCode client panel installs on a phone as a web app, with a manifest and a service worker. The same code and the same API serve the computer and the phone, with no separate mobile app.

Internal systems with permissions

The staff panel serves two brands' clients from one place, and an employee sees only their own brand. The boundary is checked in the API, and every sensitive change goes into an audit log.

A panel on a core in another language

The Flaem panel in React serves client, reseller and operator screens on top of a Rust API. The interface moves fast, while the money logic stays in the core.

Back ends with job queues

In WaveHost an order goes from the Next.js API into a BullMQ queue, and a separate process creates the machine in Proxmox or the game server in Pterodactyl. The panel answers at once, and long work blocks no one.

A messenger in the browser

Plazer's web app has its interface in TypeScript and calls encryption from a Rust core compiled to WebAssembly. The interface changes freely, and the cryptography is the same code as in the native apps.

We pick something else

An agent on a client's machine

The Flaem VPS agent is in Go: one binary that needs no Node installed and no Node version kept right on someone else's server.

A billing core for years

TypeScript types vanish after compilation, so data from the network needs separate validation. The Flaem core with billing and KSeF is in Rust, where reading the data checks its shape straight away.

Computation on every core

Node runs JavaScript in one event loop, so heavy computation holds up responses for everyone. We move such work out to a service in Rust or Go.

Widgets and background work on a phone

Home-screen widgets and full system notifications come only with a native app. Flaem and Plazer have phone clients in Kotlin and Swift.

A desktop program without a browser

The Flaem desktop app is in C# with Avalonia, which draws its own controls with no browser engine. A program open all day starts fast and leaves memory to other apps.

A service that recovers by itself

In Node an unhandled exception ends the whole process along with every connection. The router on Flaem nodes is in Elixir, because an OTP supervisor restarts only the part that failed.

TypeScript, React and Node compared, point by point

Each need on a row of its own, with what each of the two columns gives you on it side by side.

ProjectHow we build itWhy

Company website

React with prerendering
Content in the first HTML, a fast interface

Client panel

React and a Node API
One language on both sides

Phone and web app

An installable web app
One codebase instead of three

A panel on a platform core

React on a Rust API
The interface moves fast, billing stays in the core

Orders and background jobs

A Next.js API and BullMQ queues
Long work does not hold up the panel's answers

A messenger in the browser

The interface in TypeScript, encryption in WebAssembly
The cryptography from the same code as in the apps

Sign-in and accounts

Better-auth with 2FA and passkeys
A proven library instead of a home-made password system

TypeScript in all our code

How many lines we have written in TypeScript and JavaScript, and what part of everything we have written that is. We count the lines added in the commits of our repositories, language by language.

2,829,221
lines written in TypeScript and JavaScript
52.6%
of all the lines we have written
51
repositories with TypeScript and JavaScript code
1st
place among 26 languages

The libraries these projects stand on

From the dependency files of our repositories. With each, one sentence on what we use it for.

The WaveHost home page: the headline, a server illustration and three highlights
The WaveHost home page on a phone
  • React 19 and Vite

    Site and panel interfaces.

  • Next.js 15

    The WaveHost panel API without a UI layer.

  • Prisma

    The database in client panels.

  • better-auth

    Sign-in with 2FA and passkeys.

  • BullMQ

    Background job queues.

  • Tailwind CSS and motion

    Styles and interface motion.

Our changes to other people's TypeScript projects

27 merged changes in 5 repositories. The maintainers of these projects reviewed our code and merged it into theirs.

Week by week

  • TypeScript
  • JavaScript

The languages of our changes

Other technologies, and where their code runs

Each has its own page with projects on real screens and a comparison with the alternatives.

Websites and web apps

What you see in a browser, and its back end.

  • TypeScript, React and Node
  • PHP

Mobile apps

Native Android and iOS clients.

Desktop apps

Programs for Windows, macOS and Linux without a browser inside.

Back end and infrastructure

Cores, server agents and real-time services.

Bots and automation

Discord, scripts and monitoring.

Questions about TypeScript, React and Node

Answers about TypeScript, React and Node, our projects and the numbers on this page.

A project in TypeScript, React and Node?

Describe what you want to build. We reply within an hour and tell you plainly whether this technology is a good choice.