Reference
Web Dev Tech Stack
A state-of-the-art map of the modern web development stack — the languages, runtimes, frameworks, build tools, styling systems, state & data libraries, backends, databases, ORMs, hosting platforms, DevOps tooling, version control, testing kit, and package managers you actually assemble apps from. Each technology carries what it is, when to reach for it, what to learn first, how mature it is, how steep the learning curve is, what it pairs with, the alternatives, the gotcha that bites people, and a link to the docs.
How to use: pick a category tab, narrow by Layer (frontend / backend / tooling…), or filter live by typing into the search box (matches across name, tagline, description, use cases, features, and more). Click any column header to sort — Maturity, Learning Curve, and Since are ranked sorts. Tap any code example for a plain-English explanation, and tap any highlighted term for what it stands for. Prerequisites, Pairs well with, and Alternatives link straight to the matching row. The technology column stays pinned as you scroll horizontally.
Maturity
How established and production-proven a technology is right now.
- ★ standard Industry-standard / default choice
- ● mainstream Widely adopted & safe
- ▲ rising Gaining traction, newer
- ▼ legacy Mature but fading / maintenance mode
Learning Curve
Roughly how much effort it takes to get productive.
- gentle Pick up in a day or two
- moderate A few weeks to feel fluent
- steep Significant ramp-up / deep concepts
Layer
Where a technology sits in the stack. Many span more than one — use the Layer filter above the table to narrow by one.
- Language
- Frontend
- Backend
- Full-stack
- Styling
- Database
- Tooling
- Infrastructure
Web Dev Glossary 26 terms
Click any term to see a beginner-friendly explanation. Cross-references inside an explanation open in a stacked modal — Escape closes them one at a time.
| Technology | Layer | Maturity | Learning Curve | Since | What it is | Use cases | Prerequisites | Key features | Pairs well with | Alternatives | Example | Gotchas | Built in | Maintained by | License | Docs |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
HTML
The markup language every web page is built from.
★ standard{ }▤
|
{ } Language▤ Frontend
|
★ standard | gentle | 1993 | The HyperText Markup Language defines the structure and semantics of a web page — headings, paragraphs, links, forms, media — as a tree of elements the browser parses into the DOM. It’s declarative, not a programming language, and the living standard evolves continuously rather than in numbered versions since HTML5. |
3 use cases The structural foundation of every web page and app. Show all
|
— |
4
features
Semantic elements (
|
HTML is forgiving to a fault — browsers silently recover from unclosed or misnested tags, so broken markup often looks fine until a screen reader or a CSS selector trips over it. Use semantic elements over a sea of |
n/a (markup) | WHATWG (living standard) | open standard | ||||
|
CSS
The styling language that paints the web.
★ standard{ }▤◈
|
{ } Language▤ Frontend◈ Styling
|
★ standard | moderate | 1996 | Cascading Style Sheets control the presentation of HTML — layout, colour, typography, animation, and responsiveness. The cascade and specificity rules decide which declarations win, and modern CSS has absorbed features (grid, flexbox, custom properties, container queries, nesting) that once required preprocessors or JavaScript. |
3 use cases All visual styling and layout of web pages and apps. Show all
|
4 features Flexbox and Grid for two-dimensional layout. Show all
|
The cascade and specificity are where CSS bites — a stray |
n/a (stylesheet) | W3C CSS Working Group | open standard | |||||
|
JavaScript
The language of the web — and increasingly, everywhere else.
★ standard{ }▤
|
{ } Language▤ Frontend
|
★ standard | moderate | 1995 | The only programming language browsers run natively. A dynamically typed, multi-paradigm language standardized as ECMAScript, with a yearly spec cadence. It runs in the browser, on servers (Node, Deno, Bun), at the edge, and in build tools — and modern code ships as ESM modules. |
3 use cases Client-side interactivity and SPA frameworks in the browser. Show all
|
4 features First-class functions, closures, and async/await for conc... Show all
|
The famous foot-guns are real — implicit type coercion ( |
n/a (specified language) | Ecma TC39 (ECMAScript) | open standard | |||||
|
TypeScript
JavaScript with a type system bolted on at build time.
★ standard{ }🔧
|
{ } Language🔧 Tooling
|
★ standard | moderate | 2012 | A typed superset of JavaScript from Microsoft: every valid JS file is valid TS, but you add static types the compiler checks before transpiling down to plain JavaScript. The types are erased at build time — they exist only to catch bugs and power editor autocomplete, never at runtime. |
3 use cases Any non-trivial JavaScript codebase needing type safety. Show all
|
4 features Static structural typing erased at compile time — zero ru... Show all
|
Types are erased, so they don’t validate runtime data — JSON from an API can lie about its shape, and |
TypeScript | Microsoft + OSS community | Apache-2.0 | |||||
|
PHP
The veteran server language that still powers most of the web.
★ standard{ }⚙
|
{ } Language⚙ Backend
|
★ standard | gentle | 1995 | A dynamically typed server-side language designed for the web, embedded directly in HTML templates. Long mocked for its early inconsistencies, modern PHP (8.x) is a fast, type-hinted language with a strong framework ecosystem, and it still runs an enormous share of the web — WordPress alone powers a large slice of all sites. |
3 use cases Server-rendered web apps and APIs (Laravel, Symfony). Show all
|
4 features Embeddable in HTML with a simple request-per-script model. Show all
|
The ecosystem spans decades, so tutorials and Stack Overflow answers mix ancient |
C | The PHP Group + OSS community | PHP License | |||||
|
Python
Readable, batteries-included, and everywhere from web to AI.
★ standard{ }⚙
|
{ } Language⚙ Backend
|
★ standard | gentle | 1991 | A dynamically typed, readability-first language used far beyond the web — in data science, machine learning, scripting, and automation. On the backend it powers fast async frameworks (FastAPI) and full-featured ones (Django), and optional type hints checked by external tools add safety to large codebases. |
3 use cases Backend web APIs and full-stack apps (Django, FastAPI, Fl... Show all
|
— |
4 features Clean, indentation-based syntax with a huge standard libr... Show all
|
Environment management is the classic pain — global installs, virtualenvs, and competing tools ( |
C (CPython) | Python Software Foundation | PSF License | ||||
|
Go
Google’s simple, fast language for servers and tooling.
★ standard{ }⚙
|
{ } Language⚙ Backend
|
★ standard | moderate | 2009 | A statically typed, compiled language from Google built for simplicity and concurrency. It compiles ahead of time to a single static binary with no runtime to install, has a tiny deliberate feature set, and ships goroutines and channels for lightweight concurrency — making it a favourite for backend services and cloud tooling. |
3 use cases High-throughput backend services and microservices. Show all
|
— |
4 features Compiles to a single dependency-free static binary. Show all
|
Go’s minimalism cuts both ways — verbose |
Go (self-hosted) | Google + OSS community | BSD-3-Clause | ||||
|
Rust
Memory safety without a garbage collector.
● mainstream{ }⚙
|
{ } Language⚙ Backend
|
● mainstream | steep | 2015 | A systems language that guarantees memory and thread safety at compile time through its ownership and borrow-checker model — no garbage collector, no runtime overhead. It powers performance-critical backends, the fastest JavaScript build tools, and is a primary source language for WebAssembly. |
3 use cases Performance-critical backend services and systems software. Show all
|
— |
4 features Compile-time memory safety via ownership and borrowing — ... Show all
|
The borrow checker is a famously steep wall — ownership, lifetimes, and |
Rust (self-hosted) | Rust Foundation + OSS community | MIT / Apache-2.0 | ||||
|
WebAssembly
Near-native speed in the browser, from any language.
● mainstream{ }▤
|
{ } Language▤ Frontend
|
● mainstream | steep | 2017 | A portable binary instruction format — WASM — that runs at near- native speed in browsers and standalone runtimes. It’s a compile target, not a language you hand-write: code in Rust, C/C++, or Go compiles to a |
3 use cases CPU-heavy browser work — image/video editing, games, simu... Show all
|
4 features Near-native execution speed in a sandboxed VM. Show all
|
WASM can’t touch the DOM directly — every interaction crosses a JS boundary, and marshalling complex data across it can erase the speed win for chatty workloads. It shines on compute-bound tasks, not as a wholesale replacement for JavaScript UI code. |
n/a (bytecode target) | W3C WebAssembly Working Group | open standard | |||||
|
Node.js
The runtime that brought JavaScript to the server.
★ standard⚙🔧
|
⚙ Backend🔧 Tooling
|
★ standard | moderate | 2009 | The original server-side JavaScript runtime, built on Google’s V8 engine with an event-driven, non-blocking I/O model. It anchors the entire JS toolchain — almost every build tool, framework, and package runs on it — and its npm ecosystem is the largest package registry in existence. |
3 use cases Backend APIs, servers, and full-stack frameworks (Next.js... Show all
|
4 features Event-driven, non-blocking I/O on a single-threaded event... Show all
|
Years of churn left two module systems coexisting — older CommonJS ( |
C++ / JavaScript | OpenJS Foundation + OSS community | MIT | |||||
|
Deno
A secure, batteries-included runtime from Node’s creator.
● mainstream⚙🔧
|
⚙ Backend🔧 Tooling
|
● mainstream | moderate | 2018 | A modern JavaScript and TypeScript runtime built in Rust on V8, created by Node’s original author to fix its early design regrets. It runs TypeScript with no build step, is secure by default (explicit permission flags for file, network, and env access), and Deno 2 added strong npm compatibility. |
3 use cases TypeScript-first backends and scripts with no build step. Show all
|
4 features First-class TypeScript — runs .ts directly, no config. Show all
|
Despite Deno 2’s npm compatibility, some packages that depend on deep Node internals or native addons still don’t run cleanly — verify your critical dependencies. The default global install pulls remote URL imports, which can surprise teams used to a single |
Rust | Deno Land Inc. + OSS community | MIT | |||||
|
Bun
The fast all-in-one runtime, bundler, and package manager.
▲ rising⚙🔧
|
⚙ Backend🔧 Tooling
|
▲ rising | moderate | 2022 | A blazing-fast JavaScript runtime written in Zig on Apple’s JavaScriptCore engine (not V8), bundling a runtime, package manager, bundler, and test runner into one binary. It aims for drop-in Node compatibility while being dramatically faster at install and startup. Anthropic acquired Bun in December 2025 — it powers Claude Code and stays MIT-licensed and open source. |
3 use cases Fast local dev — install, run, test, and bundle from one ... Show all
|
4 features Runtime + package manager + bundler + test runner in one ... Show all
|
Compatibility is most of Node, not all — packages leaning on obscure Node internals or native addons can still break, so test production-critical dependencies before switching. Being the youngest runtime here, it’s the least battle-tested at scale despite its momentum. |
Zig | Anthropic (acq. Dec 2025) + OSS community | MIT | |||||
|
V8
Google’s JavaScript engine that powers Chrome and Node.
★ standard🔧
|
🔧 Tooling
|
★ standard | steep | 2008 | Google’s open-source, high-performance JavaScript and WebAssembly engine written in C++. It compiles JS to machine code with a JIT compiler and powers Chrome, Node.js, Deno, Electron, and Cloudflare’s edge — you rarely use it directly, but nearly everything you run sits on top of it. |
3 use cases The engine embedded in Chrome, Node.js, Deno, and Electron. Show all
|
4 features JIT compilation of JavaScript to native machine code. Show all
|
You almost never touch V8 directly — it’s an implementation detail of the runtime you actually use. The trap is over-tuning to its JIT quirks (hidden-class deopts, micro-benchmarks) when the engine is so fast that readable code wins in practice. |
C++ | BSD-3-Clause | ||||||
|
Cloudflare Workers
Serverless code running on V8 isolates at the edge.
● mainstream⚙☁
|
⚙ Backend☁ Infra
|
● mainstream | moderate | 2017 | A serverless platform that runs your code on V8 isolates across Cloudflare’s global edge network — close to users, with near-zero cold starts. The underlying runtime, |
3 use cases Low-latency edge APIs and middleware close to users. Show all
|
4 features V8 isolates — near-zero cold starts, not per-request cont... Show all
|
It’s not Node — there’s no filesystem, long-running processes are limited, and CPU time per request is capped, so you rely on web-standard APIs and Cloudflare’s storage primitives instead of arbitrary npm packages. Code written for a full Node server won’t lift-and-shift unchanged. |
C++ / Rust (workerd) | Cloudflare | Apache-2.0 (workerd) | |||||
|
Edge runtimes
The web-standard runtime model behind edge & serverless functions.
▲ rising⚙☁
|
⚙ Backend☁ Infra
|
▲ rising | moderate | 2021 | A family of lightweight runtimes — Vercel Edge Functions, Netlify Edge, Deno Deploy, and the WinterCG-aligned standard — that run a restricted, web-standard JavaScript environment ( |
3 use cases Latency-sensitive middleware, redirects, and personalizat... Show all
|
4 features Web-standard APIs (fetch, Request, Response, streams). Show all
|
“Edge” means a restricted runtime, not just a faster Node — Node-only APIs, native addons, and many npm packages won’t run, and CPU/time limits are tight. Reach for it for light, latency-sensitive logic; keep heavy or Node-dependent work on a regular server runtime. |
JavaScript / C++ | Vercel / Netlify / WinterCG + others | varies (mostly permissive) | |||||
|
React
The component library that defined modern frontend.
★ standard▤
|
▤ Frontend
|
★ standard | moderate | 2013 | A declarative JavaScript library for building user interfaces from composable components. Uses a virtual DOM and one-way data flow, and ships as a view layer you compose with a router, build tool, and state solution — or adopt a meta-framework that bundles those for you. |
3 use cases Interactive SPAs and dashboards with lots of dynamic state. Show all
|
4 features Function components with hooks for state and side-effects. Show all
|
React is just the view layer — you assemble routing, data fetching, and a build tool yourself (or adopt a meta-framework). The rules of hooks (no conditional hooks) and stale-closure bugs trip up newcomers. |
JavaScript | Meta + OSS community | MIT | |||||
|
Vue
The approachable, progressively adoptable framework.
★ standard▤
|
▤ Frontend
|
★ standard | gentle | 2014 | A progressive framework with single-file components ( |
3 use cases SPAs where a gentle learning curve and clear conventions ... Show all
|
4 features Single-file components with scoped styles. Show all
|
Two API styles coexist — the older Options API and the newer Composition API ( |
TypeScript | Evan You / Vue core team + OSS | MIT | |||||
|
Svelte
A compiler, not a runtime — reactivity that disappears at build.
● mainstream▤
|
▤ Frontend
|
● mainstream | gentle | 2016 | A UI framework that shifts work to a compile step: it compiles your components into small, imperative vanilla JS that updates the DOM directly, so there’s almost no framework runtime to ship. Svelte 5’s runes ( |
3 use cases Performance- and bundle-size-sensitive apps and widgets. Show all
|
4 features Compile-time reactivity — minimal runtime overhead. Show all
|
Svelte 5 replaced the old |
TypeScript | Svelte core team (Vercel-sponsored) + OSS | MIT | |||||
|
Angular
Google’s batteries-included, opinionated framework.
★ standard▤
|
▤ Frontend
|
★ standard | steep | 2016 | A complete, opinionated framework (not just a view layer) from Google, built around TypeScript, dependency injection, and a powerful CLI. Recent versions move to standalone components, explicit Signals, and zoneless change detection, modernizing what was a heavyweight reputation. |
3 use cases Large enterprise apps needing strong structure and conven... Show all
|
4 features Full framework: router, forms, HTTP client, DI, CLI. Show all
|
The steepest curve of the mainstream frameworks — DI, decorators, modules vs standalone, and RxJS are a lot to absorb at once. The framework has also churned its idioms (modules → standalone, zones → signals) across versions. |
TypeScript | Google + OSS community | MIT | |||||
|
SolidJS
React-like ergonomics with true fine-grained reactivity.
▲ rising▤
|
▤ Frontend
|
▲ rising | moderate | 2021 | A reactive UI library with JSX that looks like React but has no virtual DOM. Components run once; fine-grained signals update only the exact DOM nodes that depend on changed state, giving excellent performance and tiny bundles. |
3 use cases Performance-critical UIs where React's re-render model is... Show all
|
4 features Fine-grained signals — no virtual DOM, no re-renders. Show all
|
It looks like React but isn’t — components run once, so destructuring props or calling a signal outside a tracking scope silently breaks reactivity. The mental model differs more than the syntax suggests. |
TypeScript | Ryan Carniato + OSS community | MIT | |||||
|
Preact
A 3 KB React-compatible alternative.
● mainstream▤
|
▤ Frontend
|
● mainstream | gentle | 2015 | A fast, ~3 KB alternative to React with the same modern API. A |
3 use cases Bundle-size-sensitive apps and embeddable widgets. Show all
|
3 features ~3 KB runtime with React-compatible hooks API. Show all
|
“React-compatible” is ~95% — some libraries lean on React internals and need the |
JavaScript | Jason Miller + OSS community | MIT | |||||
|
Alpine.js
jQuery for the modern web — behavior in your markup.
● mainstream▤
|
▤ Frontend
|
● mainstream | gentle | 2019 | A tiny (~15 KB) framework for sprinkling reactive behavior directly into HTML via |
3 use cases Adding interactivity to server-rendered HTML (Laravel, Ra... Show all
|
3 features Declarative x-data / x-show / x-on attributes in markup. Show all
|
Great for sprinkles, painful for real app state — there’s no component model or routing, so complex UIs become a tangle of attributes. Reach for a real framework once logic outgrows the markup. |
JavaScript | Caleb Porzio + OSS community | MIT | |||||
|
Lit
Tiny library for fast, standards-based Web Components.
● mainstream▤
|
▤ Frontend
|
● mainstream | moderate | 2019 | A lightweight library from Google for building reusable Web Components — custom elements that work in any framework or none. Uses tagged-template literals for fast, declarative rendering with reactive properties. |
3 use cases Framework-agnostic design systems and shared component li... Show all
|
3 features Standards-based custom elements — run anywhere. Show all
|
Web Components bring their own quirks — Shadow DOM style encapsulation, form-association gaps, and SSR that’s less mature than framework rendering. Great for portable widgets, less so for full apps. |
TypeScript | Google + OSS community | BSD-3-Clause | |||||
|
htmx
Access AJAX, WebSockets & more straight from HTML attributes.
▲ rising▤
|
▤ Frontend
|
▲ rising | gentle | 2020 | A small library that lets any HTML element issue HTTP requests and swap the returned HTML fragment into the page via attributes ( |
3 use cases Server-rendered apps that want SPA-like interactivity wit... Show all
|
3 features AJAX, WebSockets, SSE via HTML attributes — minimal JS. Show all
|
The interactivity ceiling is real — rich client-side state (drag-drop, complex forms, offline) still wants a JS framework. And every interaction is a server round-trip, so latency and endpoint sprawl can grow. |
JavaScript | Big Sky Software + OSS community | BSD-2-Clause | |||||
|
Next.js
The default full-stack React framework.
★ standard▦▤
|
▦ Full-stack▤ Frontend
|
★ standard | moderate | 2016 | Vercel’s React meta-framework and the most common way to ship a React app in production. The modern App Router is built on React Server Components and supports every rendering mode — SSR, SSG, and ISR — alongside server actions, file-system routing, and built-in image and font optimization. |
3 use cases Production React apps that need SSR or SSG out of the box. Show all
|
4 features App Router built on React Server Components. Show all
|
The App Router’s server/client split is a real mental shift — the |
TypeScript | Vercel + OSS community | MIT | |||||
|
React Router
Routing library turned full-stack React framework.
★ standard▦▤
|
▦ Full-stack▤ Frontend
|
★ standard | moderate | 2014 | Long the de-facto router for React, v7 absorbed Remix’s framework features so the same package now spans a plain client-side router up to a full SSR framework with loaders, actions, and nested routing. You adopt it as a library or opt into “framework mode” for the batteries-included experience. |
3 use cases Client-side routing in any React SPA. Show all
|
4 features Nested routes with data loaders and actions. Show all
|
The Remix-to-React-Router-v7 merge means docs, tutorials, and package names from before the rename now point at “framework mode” — expect confusion about which name and version a given guide assumes. Library mode and framework mode also look quite different. |
TypeScript | Remix team (Shopify) + OSS | MIT | |||||
|
Nuxt
The full-stack framework for Vue.
★ standard▦▤
|
▦ Full-stack▤ Frontend
|
★ standard | moderate | 2016 | Vue’s meta-framework — what Next.js is to React. It adds file-system routing, SSR / SSG, auto-imports, and a server engine (Nitro) that deploys to almost any host or edge runtime. A large module ecosystem covers auth, content, images, and SEO. |
3 use cases Production Vue apps needing SSR, SSG, or hybrid rendering. Show all
|
4 features File-system routing and component auto-imports. Show all
|
The magic — auto-imports, implicit server/client boundaries, and module conventions — is convenient until something breaks and you have to figure out where a function came from. Pinning module versions across a Nuxt major upgrade can also be fiddly. |
TypeScript | Nuxt core team + OSS community | MIT | |||||
|
SvelteKit
The official app framework for Svelte.
● mainstream▦▤
|
▦ Full-stack▤ Frontend
|
● mainstream | gentle | 2022 | Svelte’s full-stack framework, built on Vite. It adds file-system routing, load functions, form actions, and an adapter system that targets Node, serverless, static, or edge hosts — mixing SSR, SSG, and SPA rendering per route. |
3 use cases Production Svelte apps with SSR or static output. Show all
|
4 features File-system routing with load functions and form actions. Show all
|
You must pick the right adapter for your host — deploy errors often trace back to using |
TypeScript | Svelte core team (Vercel-sponsored) + OSS | MIT | |||||
|
Astro
Content-first framework that ships zero JS by default.
● mainstream▦▤
|
▦ Full-stack▤ Frontend
|
● mainstream | gentle | 2021 | A framework optimized for content-heavy sites. Its islands architecture renders pages to static HTML and ships JavaScript only for the interactive components you explicitly hydrate — and those islands can be React, Vue, Svelte, or Solid in the same project. It also supports SSR when you need a server. |
3 use cases Blogs, docs, and marketing sites where speed and SEO matter. Show all
|
4 features Islands architecture — zero JS shipped by default. Show all
|
It shines for content but fights you for app-like UI — heavily interactive dashboards with shared client state cut against the islands grain. Watch the hydration directives ( |
TypeScript | Astro Technology Company + OSS | MIT | |||||
|
Gatsby
The React static-site generator that defined the JAMstack era.
▼ legacy▦▤
|
▦ Full-stack▤ Frontend
|
▼ legacy | moderate | 2015 | A React static-site generator built around a GraphQL data layer that pulls content from CMSes, Markdown, and APIs at build time. It popularized the JAMstack but has lost momentum to Next.js and Astro since the Netlify acquisition, and is best treated as a legacy choice for new projects. |
3 use cases Maintaining existing Gatsby sites and their plugin ecosys... Show all
|
4 features Unified GraphQL data layer over many sources. Show all
|
Momentum has clearly shifted away — issues and plugins go stale, and the GraphQL-everything data layer is a lot of ceremony for a simple site. Reach for Astro or Next.js on greenfield work; keep Gatsby for sites already built on it. |
JavaScript | Netlify | MIT | |||||
|
Qwik
Resumability instead of hydration — instant-loading apps.
▲ rising▦▤
|
▦ Full-stack▤ Frontend
|
▲ rising | steep | 2022 | A framework built around resumability: instead of replaying app setup on the client (hydration), it serializes execution state into the HTML and resumes exactly where the server left off, downloading JavaScript only as the user interacts. The goal is constant startup time regardless of app size. |
3 use cases Large apps where hydration cost dominates startup time. Show all
|
4 features Resumability — no hydration replay on load. Show all
|
Resumability changes how you write code — the |
TypeScript | Builder.io + OSS community | MIT | |||||
|
Remix
Web-standards full-stack framework — now charting its own course.
● mainstream▦▤
|
▦ Full-stack▤ Frontend
|
● mainstream | moderate | 2021 | A full-stack framework built on web fundamentals — |
3 use cases Apps that lean on web standards and progressive enhancement. Show all
|
4 features Loaders and actions colocated with nested routes. Show all
|
Remix’s identity is in flux — its React framework features became React Router v7, while the Remix name is being repositioned as a separate v3 project. Check carefully which “Remix” a tutorial or package means before starting new work. |
TypeScript | Remix team (Shopify) + OSS | MIT | |||||
|
Vite
The default frontend build tool — instant dev, optimized builds.
★ standard🔧▤
|
🔧 Tooling▤ Frontend
|
★ standard | gentle | 2020 | A frontend build tool that serves source over native ES modules in development — no bundling, so the dev server starts instantly and HMR stays fast as the app grows — and produces an optimized bundle for production (currently via Rollup, migrating to the Rust-based Rolldown). It’s framework-agnostic, with official plugins for React, Vue, Svelte, and more. |
3 use cases Default build tool for new React, Vue, or Svelte projects. Show all
|
4 features No-bundle native-ESM dev server — instant startup. Show all
|
Dev runs on native ESM while production is bundled by Rollup, so the two pipelines can differ — a bug that only shows up in the production build usually traces to that gap or to a dependency that isn’t valid ESM. VoidZero, Vite’s maintainer, was acquired by Cloudflare in June 2026, but Vite stays MIT-licensed, open source, and vendor-neutral. |
TypeScript | VoidZero (Cloudflare) + OSS community | MIT | |||||
|
webpack
The long-reigning bundler that powered the SPA era.
● mainstream🔧▤
|
🔧 Tooling▤ Frontend
|
● mainstream | steep | 2012 | The bundler that defined frontend builds for a decade. Its loader and plugin model can transform virtually any asset, and code-splitting plus tree-shaking made large SPAs shippable. Still everywhere in established codebases, but new projects increasingly pick Vite for speed and simpler config. |
3 use cases Maintaining and extending existing webpack codebases. Show all
|
4 features Loader system transforms any asset type. Show all
|
The config is famously sprawling — loaders, plugins, and resolve rules pile up, and builds get slow on large apps. It’s mature rather than cutting-edge; greenfield projects usually start with Vite instead unless they need a webpack-specific feature like Module Federation. |
JavaScript | webpack team + OSS community | MIT | |||||
|
esbuild
An extremely fast bundler and minifier written in Go.
● mainstream🔧▤
|
🔧 Tooling▤ Frontend
|
● mainstream | gentle | 2020 | A bundler, transpiler, and minifier written in Go that’s one to two orders of magnitude faster than JavaScript-based tools. It powers dependency pre-bundling inside Vite and many other toolchains, and works standalone for fast library or server builds. |
3 use cases Blazing-fast transpilation and bundling in larger toolcha... Show all
|
4 features Go-based — 10–100× faster than JS bundlers. Show all
|
Speed comes from doing less — esbuild deliberately skips full type checking (it strips types, it doesn’t verify them) and has a smaller plugin ecosystem than Rollup or webpack. Run |
Go | Evan Wallace + OSS community | MIT | |||||
|
Rollup
The bundler of choice for JavaScript libraries.
★ standard🔧▤
|
🔧 Tooling▤ Frontend
|
★ standard | moderate | 2015 | A bundler that pioneered ES module-based tree-shaking and produces clean, minimal output — which made it the default for publishing libraries. Vite uses Rollup for its production builds, so its plugin ecosystem reaches far beyond standalone use. |
3 use cases Bundling JavaScript/TypeScript libraries for publishing. Show all
|
4 features Best-in-class tree-shaking and clean output. Show all
|
Rollup is tuned for libraries, not apps — it has no dev server, and app-style features (HMR, asset handling) come from Vite layered on top. It’s also JavaScript-based, so it’s slower than esbuild; the Rust-based Rolldown is being built as its faster successor. |
TypeScript | Rollup team + OSS community | MIT | |||||
|
Parcel
The zero-config bundler that just works.
● mainstream🔧▤
|
🔧 Tooling▤ Frontend
|
● mainstream | gentle | 2017 | A bundler built around zero configuration — point it at an HTML entry and it infers the rest, installing transforms as needed. It caches aggressively and uses Rust- and SWC-based internals for speed, making it a low-ceremony choice for small to medium projects. |
3 use cases Quick prototypes and small apps with no config overhead. Show all
|
4 features Zero-config — infers transforms from the entry. Show all
|
Zero-config is great until you need to customize — escaping the defaults is less documented than webpack’s or Vite’s explicit config. Its mindshare has also shrunk as Vite became the default low-config option, so community help is thinner. |
JavaScript | Parcel team + OSS community | MIT | |||||
|
Turbopack
Vercel’s Rust-based successor to webpack.
▲ rising🔧▤
|
🔧 Tooling▤ Frontend
|
▲ rising | gentle | 2022 | An incremental bundler written in Rust by Vercel, designed as webpack’s successor for large apps. It ships inside Next.js — powering its dev server and, increasingly, production builds — with function-level incremental computation so only what changed is recomputed. |
3 use cases Fast dev and builds inside Next.js. Show all
|
4 features Rust-based with function-level incremental computation. Show all
|
Turbopack is tightly coupled to Next.js — it isn’t a general-purpose, standalone bundler you drop into any project the way Vite is. It’s also newer than its rivals, so feature parity with webpack loaders and the surrounding ecosystem is still filling in. |
Rust | Vercel | MIT | |||||
|
SWC
A Rust-based platform for fast JS/TS transpilation.
● mainstream🔧
|
🔧 Tooling
|
● mainstream | moderate | 2019 | The “Speedy Web Compiler” — a Rust-based platform that transpiles and minifies JavaScript and TypeScript far faster than Babel. Next.js uses it to replace Babel and Terser, and many test runners and bundlers plug it in for fast TS/JSX compilation. |
3 use cases Drop-in faster replacement for Babel in build pipelines. Show all
|
4 features Rust-based — far faster than Babel. Show all
|
Like esbuild, SWC transpiles without full type checking — types are stripped, not verified — so keep |
Rust | SWC project + OSS community | Apache-2.0 | |||||
|
Babel
The JavaScript compiler that brought modern syntax everywhere.
● mainstream🔧
|
🔧 Tooling
|
● mainstream | moderate | 2014 | The classic JavaScript transpiler — it lets you write modern JS (and JSX, TypeScript) and compiles it down to syntax older browsers understand. Its preset and plugin system shaped a generation of build tooling; newer projects often swap it for SWC or esbuild on speed, but it remains ubiquitous for its plugin ecosystem. |
3 use cases Transpiling modern JS/JSX/TS for broad browser support. Show all
|
4 features Presets (@babel/preset-env, -react, -typescript). Show all
|
Babel is JavaScript-based and slow on large codebases — the main reason SWC and esbuild displaced it for raw transpilation. It still wins on plugin breadth, so the common pattern is fast tools for builds and Babel only where a specific plugin is required. |
JavaScript | Babel team + OSS community | MIT | |||||
|
Rolldown
Rust-based, Rollup-compatible bundler — Vite’s future engine.
▲ rising🔧▤
|
🔧 Tooling▤ Frontend
|
▲ rising | gentle | 2024 | A bundler written in Rust that aims to be a drop-in, Rollup-compatible replacement at a fraction of the build time. It’s being adopted as Vite’s production bundler (shipped as “rolldown-vite”), unifying the dev and build paths and replacing the current esbuild + Rollup split. |
3 use cases Faster production builds inside Vite (rolldown-vite). Show all
|
4 features Rust-based — far faster than Rollup. Show all
|
It’s still maturing — Rollup compatibility is high but not perfect, so exotic plugins or edge-case config may not port cleanly yet. Maintained by VoidZero (acquired by Cloudflare in June 2026) and MIT-licensed, it stays open source and vendor-neutral alongside Vite. |
Rust | VoidZero (Cloudflare) + OSS community | MIT | |||||
|
Tailwind CSS
Utility-first CSS you compose in your markup.
★ standard◈▤
|
◈ Styling▤ Frontend
|
★ standard | moderate | 2017 | A utility-first framework where you style by composing tiny classes ( |
3 use cases Rapidly styling component-based UIs without context-switc... Show all
|
4 features Utility classes mapped to a configurable design-token scale. Show all
|
Markup gets verbose — long |
Rust / TypeScript | Tailwind Labs | MIT | |||||
|
Sass
The veteran CSS preprocessor — variables, nesting, mixins.
● mainstream◈
|
◈ Styling
|
● mainstream | gentle | 2006 | The original CSS preprocessor. You write |
3 use cases Large hand-written stylesheets that benefit from partials... Show all
|
4 features Variables, nesting, mixins, and functions for DRY stylesh... Show all
|
Native CSS caught up — nesting and custom properties are now built into browsers, so reach for Sass for its programmatic features (loops, maps, mixins), not just nesting. The legacy |
Dart | Sass core team + OSS community | MIT | |||||
|
PostCSS
Transform CSS with JavaScript plugins.
★ standard◈🔧
|
◈ Styling🔧 Tooling
|
★ standard | moderate | 2013 | A tool that parses CSS into an abstract syntax tree and lets JavaScript plugins transform it — Autoprefixer adds vendor prefixes, |
3 use cases Auto-adding vendor prefixes via Autoprefixer in a build p... Show all
|
4 features Plugin architecture — compose transforms over a CSS AST. Show all
|
It’s infrastructure, not a feature — PostCSS alone changes nothing, so its value lives entirely in the plugins you enable. Don’t confuse it with a preprocessor like Sass: it transforms CSS rather than giving you a richer authoring language (though plugins can emulate parts of that). |
JavaScript | Andrey Sitnik + OSS community | MIT | |||||
|
CSS Modules
Locally-scoped CSS class names, by default.
● mainstream◈▤
|
◈ Styling▤ Frontend
|
● mainstream | gentle | 2015 | A bundler convention, not a library: you write plain CSS in a |
3 use cases Component-scoped styles in React/Vue without a CSS-in-JS ... Show all
|
4 features Class names auto-hashed to be locally scoped per file. Show all
|
Dynamic, prop-driven styling is awkward — you compose static classes rather than interpolate values, so runtime-themed styles need CSS variables or a different tool. Class names are strings on the imported object, so typos fail silently unless you add TypeScript typing. |
CSS | OSS community (bundler-implemented) | MIT | |||||
|
styled-components
CSS-in-JS — styled React components via tagged templates.
▼ legacy◈▤
|
◈ Styling▤ Frontend
|
▼ legacy | moderate | 2016 | The library that popularized CSS-in-JS for React: you write real CSS inside tagged template literals to produce styled components, with props driving dynamic styles and automatic scoping. It’s runtime-based — styles are generated as the app renders — which is now seen as a cost versus zero-runtime alternatives. Active development has slowed and the maintainers have flagged it as in maintenance mode. |
3 use cases Existing React codebases already built on styled-components. Show all
|
4 features Tagged-template CSS that produces scoped styled components. Show all
|
The runtime cost is the headline knock — generating styles during render hurts performance and clashes with React Server Components, which is why the ecosystem is drifting to zero-runtime options. The project is now in maintenance mode, so prefer Emotion or a zero-runtime tool for greenfield apps. |
JavaScript | Max Stoiber + OSS (maintenance mode) | MIT | |||||
|
Emotion
Performant, framework-flexible CSS-in-JS.
● mainstream◈▤
|
◈ Styling▤ Frontend
|
● mainstream | moderate | 2017 | A CSS-in-JS library offering both a styled-components-style API and a |
3 use cases React apps wanting CSS-in-JS with strong performance. Show all
|
4 features Two APIs — the css prop and a styled() factory. Show all
|
It’s still runtime CSS-in-JS — styles are computed during render, which adds overhead and complicates React Server Components, so SSR streaming needs care. For new apps prioritizing performance, a zero-runtime option like vanilla-extract or utility CSS may be a better fit. |
TypeScript | Emotion team + OSS community | MIT | |||||
|
UnoCSS
The instant, on-demand atomic CSS engine.
▲ rising◈▤
|
◈ Styling▤ Frontend
|
▲ rising | moderate | 2021 | An atomic-CSS engine by Anthony Fu that generates utility classes on demand from your source, with no fixed set of rules — everything is defined through presets you compose, including a Tailwind/Windi-compatible preset. It’s built for speed (no parsing of a huge CSS file) and is highly extensible via custom rules, shortcuts, and variants. |
3 use cases Utility-first styling with faster builds and full customi... Show all
|
4 features On-demand generation — only classes you use are produced. Show all
|
The flexibility is also the cost — without a chosen preset you get no utilities at all, and config differs enough from Tailwind that copy-pasted Tailwind snippets may need preset tweaks. A smaller ecosystem and documentation surface than Tailwind means more self-service. |
TypeScript | Anthony Fu + OSS community | MIT | |||||
|
vanilla-extract
Zero-runtime, type-safe CSS-in-TypeScript.
▲ rising◈▤
|
◈ Styling▤ Frontend
|
▲ rising | moderate | 2021 | A CSS-in-TS library where you author styles in |
3 use cases Type-safe styling with no client-side CSS-in-JS runtime. Show all
|
4 features Styles compiled to static CSS — zero runtime cost. Show all
|
Styles are static by design — there’s no per-render dynamic interpolation like runtime CSS-in-JS, so prop-driven variation uses |
TypeScript | Seek (vanilla-extract team) + OSS | MIT | |||||
|
Redux Toolkit
The official, opinionated, batteries-included Redux.
★ standard▤
|
▤ Frontend
|
★ standard | moderate | 2019 | The modern, recommended way to write Redux. Plain Redux (2015) demanded heavy boilerplate; Redux Toolkit (“RTK”) wraps it with |
3 use cases Large apps wanting a single predictable, debuggable globa... Show all
|
4 features createSlice generates actions + reducers with Immer's mut... Show all
|
It’s still Redux underneath — actions, reducers, selectors, and a single store are more architecture than small apps need. The “mutating” reducer syntax only works because Immer is inside |
TypeScript | Redux team + OSS community | MIT | |||||
|
Zustand
A tiny, hooks-based store with almost no boilerplate.
● mainstream▤
|
▤ Frontend
|
● mainstream | gentle | 2019 | A minimal state-management library from the Poimandres collective. You create a store with a single hook and read or update state from any component — no providers, reducers, or action types required. It’s tiny, unopinionated, works outside React, and has become the go-to lightweight alternative to Redux. |
3 use cases Apps wanting global state without Redux's ceremony. Show all
|
4 features Single create() hook — no context provider needed. Show all
|
The freedom is a double edge — no enforced structure means large apps can drift into ad-hoc stores and tangled updates. Naive selectors that return new objects can over-render, so reach for |
TypeScript | Poimandres (pmndrs) + OSS | MIT | |||||
|
Jotai
Bottom-up atomic state for React.
● mainstream▤
|
▤ Frontend
|
● mainstream | gentle | 2020 | An atomic state-management library from Daishi Kato (Poimandres). State is built from small, composable |
3 use cases Fine-grained shared state without a single global store. Show all
|
4 features Composable atoms as the unit of state. Show all
|
Atomic thinking is a different mental model — many tiny atoms can sprawl, and tracking which derived atom depends on what gets harder at scale. Async atoms integrate with Suspense, which is powerful but adds its own learning curve. |
TypeScript | Daishi Kato / Poimandres + OSS | MIT | |||||
|
MobX
Transparent reactive state via observables.
● mainstream▤
|
▤ Frontend
|
● mainstream | moderate | 2015 | A state library built on transparent functional-reactive programming: you mark state as |
3 use cases Apps preferring mutable, object-oriented state over reduc... Show all
|
4 features Observable state with automatic dependency tracking. Show all
|
The “magic” reactivity can surprise you — forget the |
TypeScript | Michel Weststrate + OSS community | MIT | |||||
|
TanStack Query
Async server-state — fetching, caching, revalidation done right.
★ standard▤
|
▤ Frontend
|
★ standard | moderate | 2019 | The de-facto standard for managing server state in the browser (formerly React Query). It handles fetching, caching, background revalidation, deduping, pagination, and mutations behind a |
3 use cases Caching and revalidating REST/GraphQL data without a glob... Show all
|
4 features useQuery / useMutation hooks with smart caching by key. Show all
|
It manages server state, not client state — don’t reach for it to hold UI state like modal toggles (use a store for that). Cache keys and |
TypeScript | Tanner Linsley / TanStack + OSS | MIT | |||||
|
SWR
Lightweight data fetching with stale-while-revalidate.
● mainstream▤
|
▤ Frontend
|
● mainstream | gentle | 2019 | A small React data-fetching library from Vercel, named after the HTTP |
3 use cases Simple, fast data fetching in React (especially Next.js) ... Show all
|
4 features useSWR hook: cache-first, revalidate-in-background. Show all
|
It’s intentionally lean — for heavy needs like infinite pagination, complex mutations, or fine-grained cache control, TanStack Query offers more out of the box. Aggressive default revalidation (refetch on focus) can surprise you; disable it per-call when it isn’t wanted. |
TypeScript | Vercel + OSS community | MIT | |||||
|
Apollo Client
The full-featured GraphQL client with a normalized cache.
● mainstream▤
|
▤ Frontend
|
● mainstream | steep | 2016 | A comprehensive client for talking to a GraphQL API. Its headline feature is a normalized in-memory cache that stores entities by ID and keeps queries across the app consistent, plus |
3 use cases Apps with a substantial GraphQL API needing entity-level ... Show all
|
4 features Normalized cache keyed by entity ID for cross-query consi... Show all
|
The normalized cache is the power and the complexity — cache normalization, type policies, and manual cache updates after mutations are a real learning curve. It’s GraphQL-only and comparatively heavy; for REST or simple needs a fetch-based library is lighter. urql is a leaner GraphQL alternative. |
TypeScript | Apollo (apollographql) + OSS | MIT | |||||
|
XState
State machines and statecharts for predictable logic.
● mainstream▤
|
▤ Frontend
|
● mainstream | steep | 2017 | A library for modeling application logic as finite state machines and statecharts. Instead of scattered booleans, you declare explicit states and the transitions between them, so impossible states become unrepresentable. It’s framework-agnostic — usable in React, Vue, Node, or vanilla JS — and pairs with visual tooling from Stately to design and inspect machines. |
3 use cases Complex multi-step flows (wizards, checkout, auth) with c... Show all
|
4 features Finite state machines and hierarchical/parallel statecharts. Show all
|
Statecharts are a paradigm shift — the upfront modeling and dense API (actors, guards, context, services) are overkill for simple state and have a steep curve. Reach for it when flows are genuinely complex; a boolean or a small store is fine for the rest. |
TypeScript | Stately (David Khourshid) + OSS | MIT | |||||
|
Express
The minimal, ubiquitous Node web framework.
★ standard⚙
|
⚙ Backend
|
★ standard | gentle | 2010 | The de-facto standard web API framework for Node.js — a thin, unopinionated layer over the HTTP server giving you routing and a middleware pipeline, and almost nothing else. You assemble validation, auth, and an ORM yourself. Express 5 finally shipped after years on 4.x, modernizing async error handling. |
3 use cases Lightweight REST APIs and microservices in Node. Show all
|
4 features Minimal core: routing plus a middleware chain. Show all
|
Unopinionated means you own every decision — validation, structure, and error handling are bolt-ons, so large Express codebases drift in style. Most middleware is community-maintained and varies in quality; vet what you depend on. |
JavaScript | OpenJS Foundation + OSS community | MIT | |||||
|
Fastify
Fast, low-overhead Node framework built around JSON schemas.
● mainstream⚙
|
⚙ Backend
|
● mainstream | moderate | 2016 | A Node.js web framework focused on throughput and developer experience. Its headline feature is schema-based validation and serialization — you declare a JSON Schema per route and Fastify validates input and compiles a fast serializer for the response, which also feeds automatic OpenAPI docs. |
3 use cases High-throughput REST APIs where Express overhead matters. Show all
|
4 features JSON Schema validation and compiled fast serialization. Show all
|
The schema-first model is the win and the friction — skipping schemas throws away most of Fastify’s speed and type safety. Its plugin encapsulation (decorators, |
JavaScript | Fastify team (OpenJS Foundation) + OSS | MIT | |||||
|
NestJS
Opinionated, Angular-inspired TypeScript backend framework.
● mainstream⚙
|
⚙ Backend
|
● mainstream | steep | 2017 | A structured, opinionated Node.js framework written in TypeScript whose architecture borrows heavily from Angular — modules, providers, and dependency injection. It runs on top of Express or Fastify and adds a consistent project structure plus first-class support for REST, GraphQL, WebSockets, and microservices. |
3 use cases Large, long-lived backends where structure and convention... Show all
|
4 features Dependency injection and modular architecture (Angular-st... Show all
|
The heaviest learning curve of the Node frameworks — DI, modules, providers, decorators, and metadata reflection are a lot before you write real logic. Overkill for a small service, and the abstraction layers can obscure what plain Express would make obvious. |
TypeScript | Kamil Myśliwiec + OSS community | MIT | |||||
|
Hono
Ultrafast web framework that runs on any JS runtime.
▲ rising⚙
|
⚙ Backend
|
▲ rising | gentle | 2021 | A tiny, ultrafast web framework with an Express-like API that runs on virtually any JavaScript runtime — Cloudflare Workers, Deno, Bun, Node, and other edge platforms — from a single codebase. It leans on Web Standard |
3 use cases Edge APIs on Cloudflare Workers, Deno Deploy, or Bun. Show all
|
4 features Runs on Workers, Deno, Bun, Node — one codebase. Show all
|
Being runtime-agnostic means you must avoid Node-only APIs ( |
TypeScript | Yusuke Wada + OSS community | MIT | |||||
|
Laravel
PHP’s batteries-included, developer-happiness framework.
★ standard⚙
|
⚙ Backend
|
★ standard | moderate | 2011 | The dominant full-stack PHP framework — opinionated and batteries-included, with the Eloquent ORM, Blade templating, routing, queues, auth scaffolding, and a deep first-party ecosystem (Breeze, Sanctum, Livewire, Forge). It aims to make common web tasks elegant rather than make you wire libraries together. |
3 use cases Full-stack web apps and server-rendered sites in PHP. Show all
|
4 features Eloquent ORM with expressive Active Record models. Show all
|
The convenience comes with “magic” — facades, service-container auto-resolution, and Eloquent’s Active Record hide a lot, which is productive until you need to debug or optimize it. Eloquent’s lazy loading makes N+1 query problems easy to write accidentally. |
PHP | Taylor Otwell / Laravel LLC + OSS | MIT | |||||
|
Django
Python’s batteries-included framework with a killer admin.
★ standard⚙
|
⚙ Backend
|
★ standard | moderate | 2005 | A mature, batteries-included Python web framework following a “model–template–view” pattern. It ships an ORM, an auto-generated admin interface, auth, migrations, forms, and security defaults out of the box — famous for letting you build a data-driven site fast without choosing a stack of libraries. |
3 use cases Content- and data-heavy sites needing a real admin interf... Show all
|
4 features Powerful ORM with migrations baked in. Show all
|
It’s opinionated and monolithic — great when your app fits the model-template-view mold, heavier than you want for a tiny JSON API (where FastAPI fits better). The synchronous ORM is the historical core; async support exists but isn’t as seamless as a from-scratch async framework. |
Python | Django Software Foundation + OSS | BSD-3-Clause | |||||
|
FastAPI
Async Python APIs driven by type hints, with free OpenAPI docs.
▲ rising⚙
|
⚙ Backend
|
▲ rising | gentle | 2018 | A modern, high-performance Python framework for building APIs, built on Starlette and Pydantic. You annotate function parameters with Python type hints and FastAPI uses them to validate requests, serialize responses, and generate interactive OpenAPI docs automatically — all async-first. |
3 use cases Async JSON APIs and microservices in Python. Show all
|
4 features Type-hint-driven request validation via Pydantic. Show all
|
“Fast to write” doesn’t include the data layer — FastAPI has no built-in ORM, so you bring SQLAlchemy/SQLModel and wire migrations yourself. Mixing sync and async code, or doing blocking I/O in an async route, quietly stalls the event loop. |
Python | Sebastián Ramírez + OSS community | MIT | |||||
|
tRPC
End-to-end typesafe APIs for TypeScript — no schema, no codegen.
● mainstream⚙▦
|
⚙ Backend▦ Full-stack
|
● mainstream | moderate | 2020 | A library for building end-to-end typesafe APIs in a TypeScript codebase. Unlike REST or GraphQL, there’s no schema language or code generation — the server’s procedure types flow directly to the client through TypeScript inference, so a backend change becomes a client-side type error instantly. |
3 use cases Full-stack TypeScript monorepos sharing one type system. Show all
|
4 features No schema, no codegen — types inferred from the server. Show all
|
It’s TypeScript-to-TypeScript only — there’s no public, language-agnostic contract, so it’s a poor fit for third-party consumers, mobile teams on other stacks, or public APIs (reach for REST/GraphQL there). The magic also tightly couples client and server, which only works in a shared codebase. |
TypeScript | Alex Johansson + OSS community | MIT | |||||
|
GraphQL Yoga
A batteries-included, spec-compliant GraphQL server.
● mainstream⚙
|
⚙ Backend
|
● mainstream | moderate | 2018 | A fully-featured GraphQL server from The Guild, built on the GraphQL.js reference implementation. It is runtime-agnostic (Node, Bun, Deno, Workers) thanks to Web Standard |
3 use cases Standing up a GraphQL API server with minimal config. Show all
|
4 features Spec-compliant on the GraphQL.js reference implementation. Show all
|
Yoga is the server — you still design the schema and write resolvers, and GraphQL’s own footguns (N+1 resolver queries needing DataLoader, query-depth and complexity limits to prevent abuse) are on you. For simple typed internal APIs, tRPC is often less ceremony. |
TypeScript | The Guild + OSS community | MIT | |||||
|
PostgreSQL
The world’s most advanced open-source relational database.
★ standard▣
|
▣ Database
|
★ standard | moderate | 1996 | The default open-source relational database for new projects — a mature, standards-compliant SQL engine known for correctness, extensibility, and a deep feature set: rich types (JSONB, arrays, ranges), full-text search, window functions, and an extension ecosystem (PostGIS, pgvector). Most modern ORMs and serverless platforms target it first. |
3 use cases The default relational store for new web and SaaS backends. Show all
|
4 features Full ACID compliance and rich SQL (window functions, CTEs). Show all
|
Connection-heavy: each connection is a process, so serverless functions that open connections per-invocation exhaust the server — you need a pooler (PgBouncer, or a platform like Neon/Supabase that bundles one). Tuning |
C | PostgreSQL Global Development Group | PostgreSQL License | |||||
|
MySQL
The ubiquitous open-source relational database.
★ standard▣
|
▣ Database
|
★ standard | moderate | 1995 | One of the most widely deployed relational databases, the “M” in the classic LAMP stack and the default behind much of the PHP web. Owned by Oracle and dual-licensed (GPL plus a commercial license), with the community-driven fork MariaDB as a drop-in alternative. Reliable, fast on read-heavy workloads, and supported by every host and ORM. |
3 use cases Classic LAMP / PHP web apps and WordPress sites. Show all
|
4 features ACID transactions via the InnoDB storage engine. Show all
|
Feature parity with Postgres lags in places — historically weaker support for advanced SQL, stricter SQL-mode quirks, and gotchas around default character sets (use |
C++ | Oracle Corporation | GPL-2.0 | |||||
|
SQLite
A zero-config, embedded SQL database in a single file.
★ standard▣
|
▣ Database
|
★ standard | gentle | 2000 | A self-contained, serverless, zero-configuration SQL database engine — the entire database is a single file on disk and the engine is a library linked into your app, with no separate process to run. It is the most widely deployed database in the world (every phone, browser, and OS ships it) and is increasingly used for production web apps at the edge. |
3 use cases Embedded storage in mobile, desktop, and CLI apps. Show all
|
4 features Entire database is one portable file; no server process. Show all
|
Single-writer by design — concurrent writes serialize, so it’s a poor fit for write-heavy, high-concurrency multi-user backends without a layer like libSQL/Turso. It’s also loosely typed by default (type affinity, not strict types) unless you opt into |
C | D. Richard Hipp / SQLite Consortium | Public Domain | |||||
|
MongoDB
The popular document database for flexible, JSON-like data.
● mainstream▣
|
▣ Database
|
● mainstream | moderate | 2009 | A document-oriented NoSQL database that stores records as flexible, JSON-like BSON documents instead of rows in tables — so the schema can vary per document and nested data lives together. Popular for its developer-friendly model and horizontal scaling; its managed Atlas service is the common way to run it. Licensed under the source-available SSPL, not an OSI-approved open-source license. |
3 use cases Apps with flexible or rapidly-evolving schemas. Show all
|
4 features Flexible JSON-like (BSON) documents, no fixed schema. Show all
|
Schema flexibility is a double-edged sword — without discipline (or an ODM like Mongoose) data drifts into inconsistent shapes. Multi-document transactions exist but cost more than in a relational DB, and modeling relationships you’d join in SQL often means denormalizing. The SSPL license blocks offering MongoDB itself as a managed service. |
C++ | MongoDB, Inc. | SSPL | |||||
|
Redis
Blazing-fast in-memory key-value store, cache, and message broker.
★ standard▣
|
▣ Database
|
★ standard | moderate | 2009 | An in-memory data-structure store used as a cache, key-value database, and message broker. It keeps data in RAM (with optional persistence to disk) for sub-millisecond access, and offers rich types — strings, hashes, lists, sets, sorted sets, streams, and pub/sub. After a 2024 move to source-available terms, Redis 8 (2025) re-added the OSI-approved AGPLv3 as a license option. |
3 use cases Caching layer in front of a slower primary database. Show all
|
— |
4 features Sub-millisecond in-memory reads and writes. Show all
|
It’s memory-bound — your dataset must fit in RAM, and eviction policies decide what gets dropped when it’s full, so it’s usually a cache or secondary store, not your system of record. The 2024–2025 license churn (SSPL/RSALv2, then AGPLv3 re-added in Redis 8) spawned the Valkey fork; check which license your distro/cloud ships. |
C | Redis Ltd. + OSS community | AGPLv3 / RSALv2 / SSPL | ||||
|
Firebase Firestore
Google’s serverless document database with realtime sync.
● mainstream▣
|
▣ Database
|
● mainstream | gentle | 2017 | A fully-managed, serverless NoSQL document database from Google’s Firebase platform. Clients subscribe to documents and queries and receive realtime updates as data changes, with offline caching on mobile and web. Access control lives in declarative security rules rather than a server, making it popular for client-driven apps without a backend. |
3 use cases Realtime apps — chat, collaboration, live dashboards. Show all
|
4 features Realtime listeners push changes to clients instantly. Show all
|
It’s proprietary lock-in and the data model bends queries — no joins, no arbitrary |
proprietary (Go/C++ internally) | Google (Firebase / Google Cloud) | proprietary | |||||
|
Supabase
The open-source Firebase alternative, built on Postgres.
▲ rising▣⚙
|
▣ Database⚙ Backend
|
▲ rising | gentle | 2020 | An open-source backend-as-a-service that bundles a full PostgreSQL database with auth, file storage, edge functions, and realtime subscriptions — positioned as a Firebase alternative, but on a real relational engine you can query with SQL and take with you. It auto-generates a REST and GraphQL API from your schema and enforces access with Postgres row-level security. |
3 use cases Full app backends wanting Postgres plus auth, storage, an... Show all
|
4 features A real Postgres database, queryable in plain SQL. Show all
|
The client-direct model lives or dies by row-level security — forget to enable RLS on a table and it’s world-readable/writable. “Open-source” is true of the stack, but self-hosting the whole platform is non-trivial; most teams use the managed cloud and inherit its pricing. |
TypeScript / Elixir / Go | Supabase, Inc. + OSS community | Apache-2.0 | |||||
|
PlanetScale
Serverless MySQL on Vitess with database branching.
● mainstream▣
|
▣ Database
|
● mainstream | moderate | 2021 | A managed, serverless MySQL-compatible database platform built on Vitess (the sharding layer that scaled YouTube). Its signature feature is Git-style database branching: spin off a branch, change the schema, and merge it back as a non-blocking, online deploy request. PlanetScale removed its free tier in April 2024, so it now starts around $39/month. |
3 use cases MySQL apps that need horizontal scale via Vitess sharding. Show all
|
4 features Git-style branching with online, non-blocking schema depl... Show all
|
The free tier is gone (since April 2024), so it’s a paid service from the start — factor that against free-tier rivals. Because it’s Vitess, some MySQL features are constrained: foreign-key enforcement is limited and cross-shard transactions/joins don’t behave like single-node MySQL. |
Go (Vitess) | PlanetScale, Inc. | proprietary | |||||
|
Neon
Serverless Postgres with instant database branching.
▲ rising▣
|
▣ Database
|
▲ rising | gentle | 2021 | A serverless PostgreSQL platform that separates storage from compute, so databases scale to zero when idle and spin up on demand, and you can branch the entire database (data and schema) instantly like Git for development or preview environments. The core is Apache-2.0 licensed. Neon was acquired by Databricks in May 2025 (~$1B), which kept the free tier and lowered prices. |
3 use cases Serverless and edge apps wanting Postgres that scales to ... Show all
|
4 features Separated storage/compute — scales to zero when idle. Show all
|
Scale-to-zero means a cold start — the first query after idle pays a wake-up latency, which matters for user-facing requests (keep a paid compute warm if it does). Long-lived pooled connections and very write-heavy steady workloads fit the serverless billing model less well than spiky ones. |
Rust | Neon (Databricks) + OSS community | Apache-2.0 | |||||
|
Prisma
The schema-first TypeScript ORM with end-to-end type safety.
★ standard⚙
|
⚙ Backend
|
★ standard | gentle | 2019 | A schema-first ORM for Node.js and TypeScript: you describe your models in a |
3 use cases TypeScript backends that want autocompleted, type-safe qu... Show all
|
4 features Single schema.prisma source of truth for models + migrati... Show all
|
Before v7 the Rust query engine shipped as a native binary that bloated bundles and broke on some edge/serverless runtimes — pin to v7+ if you target the edge. Long-running connection pools in serverless still need Prisma Accelerate or a pooler like PgBouncer to avoid exhausting connections. |
TypeScript | Prisma Data, Inc. + OSS community | Apache-2.0 | |||||
|
Drizzle
A lightweight, SQL-like TypeScript ORM built for the edge.
▲ rising⚙
|
⚙ Backend
|
▲ rising | moderate | 2022 | A code-first, headless TypeScript ORM whose query API mirrors SQL — if you know SQL, you already know Drizzle. You declare your schema in TypeScript, ship a tiny zero-dependency runtime, and get full type inference, making it a favourite for serverless and edge deployments. |
3 use cases Serverless and edge runtimes where bundle size and cold s... Show all
|
4 features SQL-like query builder — thin abstraction, no hidden magic. Show all
|
The SQL-like surface means less hand-holding than Prisma — you write more explicit joins and relational queries yourself. The relational query API and migration tooling have matured fast but still churn between minor versions, so read the changelog before upgrading. |
TypeScript | Drizzle Team + OSS community | Apache-2.0 | |||||
|
TypeORM
Decorator-based ORM with Active Record and Data Mapper patterns.
● mainstream⚙
|
⚙ Backend
|
● mainstream | moderate | 2016 | A mature TypeScript/JavaScript ORM that maps classes to tables using decorators ( |
3 use cases NestJS apps, where TypeORM is the conventional data layer. Show all
|
4 features Decorator-driven entities (@Entity, @Column, @ManyToOne). Show all
|
Maintenance has been famously stop-start, with long gaps between releases and a backlog of open issues. Decorators require |
TypeScript | TypeORM contributors (OSS) | MIT | |||||
|
Sequelize
The long-standing promise-based ORM for SQL databases.
● mainstream⚙
|
⚙ Backend
|
● mainstream | moderate | 2010 | One of the oldest Node.js ORMs — a promise-based, model-driven library for Postgres, MySQL, MariaDB, SQLite, and SQL Server. Battle-tested and widely deployed, it predates the TypeScript-first wave and its typings, while improved, still feel bolted on rather than native. |
3 use cases Established JavaScript codebases already standardized on ... Show all
|
4 features Model definitions, associations, validations, and hooks. Show all
|
TypeScript support is the weak spot — types are community-maintained and verbose, and many setups still type query results loosely. For greenfield TypeScript projects, Prisma or Drizzle give far stronger inference; reach for Sequelize mainly when a codebase already depends on it. |
JavaScript | Sequelize contributors (OSS) | MIT | |||||
|
Knex.js
A SQL query builder, not a full ORM — you stay close to SQL.
● mainstream⚙
|
⚙ Backend
|
● mainstream | gentle | 2013 | A SQL query builder (not an ORM) for Node.js: it builds and runs SQL across Postgres, MySQL, SQLite, and more via a fluent, chainable API, plus connection pooling and migrations. There’s no model or identity map — you get composable SQL without raw string concatenation. |
3 use cases Apps that want SQL control without an ORM's abstraction. Show all
|
4 features Fluent, chainable query builder over many SQL dialects. Show all
|
It’s a query builder, so there’s no identity map, relations, or lazy loading — you manage those yourself. Result rows are largely untyped ( |
JavaScript | Knex.js contributors (OSS) | MIT | |||||
|
Mongoose
The de-facto standard ODM for MongoDB and Node.js.
★ standard⚙
|
⚙ Backend
|
★ standard | gentle | 2010 | The standard Object Document Mapper (ODM) for MongoDB — the document-store analogue of an ORM. It adds schemas, validation, middleware, and population (referenced-document joins) on top of MongoDB’s otherwise schemaless documents, giving structure to an unstructured store. |
3 use cases Node.js apps using MongoDB that want schema validation an... Show all
|
4 features Schemas with type casting, validation, and defaults. Show all
|
Mongoose adds a schema layer over a schemaless database, which can fight MongoDB’s flexible-document strengths and adds overhead on hot paths. TypeScript typing of schemas is improving but historically clunky, and |
JavaScript | Automattic + OSS community | MIT | |||||
|
Vercel
The frontend cloud — git-push deploys and the home of Next.js.
★ standard☁▦
|
☁ Infra▦ Full-stack
|
★ standard | gentle | 2015 | A frontend-focused PaaS and the company behind Next.js. Connect a git repo and every push deploys to a global edge network with serverless and edge functions; every branch and pull request gets its own preview URL. Optimized for SSR and SSG frontends. |
3 use cases Deploying Next.js, SvelteKit, Astro, or any modern fronte... Show all
|
4 features Git-push deploys with automatic preview URLs per branch/PR. Show all
|
The free Hobby tier is non-commercial — production apps need a paid plan. Bandwidth and serverless-function usage are metered, so high-traffic or heavy edge workloads can get expensive, and you’re somewhat locked into Vercel’s build conventions for the best Next.js features. |
— | Vercel Inc. | proprietary | |||||
|
Netlify
The platform that popularized JAMstack git-push deploys.
★ standard☁▦
|
☁ Infra▦ Full-stack
|
★ standard | gentle | 2014 | A frontend deployment platform that pioneered the JAMstack workflow: connect a git repo and each push builds and deploys to a global CDN. It bundles edge functions, serverless functions, form handling, identity, and deploy previews for static sites and SPAs. |
3 use cases Static sites and SPAs deployed straight from a git push. Show all
|
4 features Git-push builds with deploy previews per branch/PR. Show all
|
Build-minute and bandwidth quotas on lower tiers can bite busy sites, and serverless-function cold starts and execution limits apply. Its SSR framework support has historically trailed Vercel’s tight Next.js integration, though adapters close most of the gap. |
— | Netlify, Inc. | proprietary | |||||
|
Cloudflare Pages
Static sites and functions on Cloudflare’s global edge.
● mainstream☁▦
|
☁ Infra▦ Full-stack
|
● mainstream | gentle | 2021 | A JAMstack hosting platform that serves static sites and full-stack apps from Cloudflare’s global edge, with dynamic logic running on Cloudflare Workers. It git-deploys like Vercel and Netlify but runs everything on the same vast CDN and edge runtime that fronts a large share of the web. |
3 use cases Static sites and SPAs served from a huge global edge netw... Show all
|
4 features Git-push deploys with unlimited preview deployments. Show all
|
Functions run on the Workers runtime, not full Node.js — some Node APIs and packages don’t work without the |
— | Cloudflare, Inc. | proprietary | |||||
|
GitHub Pages
Free static hosting served straight from a GitHub repo.
★ standard☁
|
☁ Infra
|
★ standard | gentle | 2008 | Free static-site hosting from GitHub: point it at a repository or branch and it serves the files over a CDN with HTTPS and optional custom domains. It can build Jekyll sites automatically, or you can deploy any prebuilt SSG output via GitHub Actions — this very site runs on it. |
3 use cases Project docs, personal blogs, and portfolios with zero ho... Show all
|
4 features Free static hosting with HTTPS and custom-domain support. Show all
|
It’s static-only — no server-side code, databases, or serverless functions, so dynamic features need a separate backend. Soft usage limits apply (~1 GB site, ~100 GB/month bandwidth, ~10 builds/hour), and the built-in Jekyll runs a pinned, restricted plugin set — custom plugins need a Actions build instead. |
— | GitHub (Microsoft) | proprietary | |||||
|
AWS
The hyperscale cloud — every infrastructure primitive, à la carte.
★ standard☁▦
|
☁ Infra▦ Full-stack
|
★ standard | steep | 2006 | Amazon Web Services — the largest IaaS/PaaS cloud, offering hundreds of building-block services: S3 for storage, EC2 for VMs, Lambda for serverless, CloudFront as a CDN, RDS for databases, and Amplify for frontend hosting. Unmatched breadth and scale, at the cost of real complexity. |
3 use cases Large-scale production systems needing fine-grained control. Show all
|
4 features Hundreds of services: S3, EC2, Lambda, CloudFront, RDS, D... Show all
|
The breadth is the curse — IAM, VPCs, regions, and the sheer service count make the learning curve the steepest here. Per-second metered billing can surprise you (egress fees, idle resources), so set budgets and alerts. Most teams reach for a higher-level PaaS unless they truly need AWS’s reach. |
— | Amazon | proprietary | |||||
|
Render
A modern Heroku — simple PaaS for web services and databases.
● mainstream☁▦
|
☁ Infra▦ Full-stack
|
● mainstream | gentle | 2019 | A developer-friendly PaaS pitched as a modern Heroku: connect a repo and Render builds and runs web services, background workers, cron jobs, static sites, and managed Postgres or Redis. It handles TLS, deploys, and autoscaling so you don’t touch IaaS plumbing. |
3 use cases Deploying a backend API + managed Postgres without DevOps... Show all
|
4 features Git-push deploys for web services, workers, and static si... Show all
|
The free tier spins services down after inactivity, so the first request after an idle period suffers a cold-start delay. It’s simpler but less configurable than raw AWS, and pricing can climb once you scale instances or add managed databases. |
— | Render | proprietary | |||||
|
Fly.io
Run containers and VMs close to your users, worldwide.
● mainstream☁▦
|
☁ Infra▦ Full-stack
|
● mainstream | moderate | 2020 | A platform for running full applications — packaged as containers and booted as lightweight Firecracker VMs (Fly Machines) — in regions around the globe, so compute sits close to users. Unlike a static CDN, it runs your actual server processes and databases at the edge. |
3 use cases Latency-sensitive apps deployed near users in multiple re... Show all
|
4 features Deploy Docker containers as fast-booting micro-VMs (Fly M... Show all
|
Multi-region brings real distributed-systems complexity — data replication, region routing, and consistency are on you. It’s more hands-on than a git-push PaaS, occasional platform reliability hiccups have been reported, and stateful volumes are pinned to a single region per volume. |
— | Fly.io, Inc. | proprietary | |||||
|
Railway
Developer-friendly PaaS with usage-based pricing and instant deploys.
● mainstream☁▦
|
☁ Infra▦ Full-stack
|
● mainstream | gentle | 2020 | A polished PaaS built for a smooth developer experience: connect a repo and Railway autodetects the stack, provisions databases, wires up environment variables, and deploys — all billed by actual usage rather than fixed instance tiers. Strong on visual service graphs and one-click templates. |
3 use cases Quickly standing up a full app + database for side projec... Show all
|
4 features Auto-detected builds (Nixpacks) or your own Dockerfile. Show all
|
Usage-based billing is flexible but can make costs hard to predict for always-on services; watch the metered meter on long-running workloads. Railway removed its perpetual free tier (now a trial credit), and as a smaller platform it has less regional reach than the hyperscalers. |
— | Railway Corp. | proprietary | |||||
|
Firebase Hosting
Fast static & SPA hosting in Google’s Firebase suite.
★ standard☁
|
☁ Infra
|
★ standard | gentle | 2014 | Google’s static and single-page-app hosting within the Firebase platform: it serves your build over a global CDN with automatic HTTPS and integrates with Cloud Functions or Cloud Run for dynamic routes. It slots naturally beside Firebase Auth, Firestore, and Storage for a batteries-included app backend. |
3 use cases Hosting SPAs (React, Angular, Vue) alongside Firebase Aut... Show all
|
4 features Global CDN with automatic HTTPS and atomic deploys/rollba... Show all
|
Hosting itself is static — dynamic logic means wiring up Cloud Functions or Cloud Run, which adds cost and cold starts. You’re tied into Google’s ecosystem, and Spark (free) plan quotas on storage and bandwidth are modest, so busy sites move to the metered Blaze plan. |
— | proprietary | ||||||
|
Docker
Package an app and its dependencies into a portable container.
★ standard🔧☁
|
🔧 Tooling☁ Infra
|
★ standard | moderate | 2013 | The tool that made Linux containers mainstream — bundle your app, runtime, and dependencies into an image that runs identically on a laptop, CI/CD runner, or production server. A |
3 use cases Reproducible dev environments — "works on my machine" bec... Show all
|
4 features Dockerfile build → immutable, layered images. Show all
|
Layer ordering makes or breaks build caching — copy |
Go | Docker, Inc. + OSS community | Apache-2.0 | |||||
|
Kubernetes
Orchestrate containers across a cluster, declaratively.
★ standard☁
|
☁ Infra
|
★ standard | steep | 2014 | The de-facto container orchestrator — you declare the desired state ("run 3 replicas of this image, expose it on this port") in YAML and the control loop continuously reconciles reality toward it: scheduling pods, restarting crashed ones, rolling out updates, and load-balancing. Born at Google, now stewarded by the CNCF. |
3 use cases Running microservices at scale with self-healing and auto... Show all
|
4 features Declarative desired-state reconciliation. Show all
|
The steepest curve in this batch — pods, services, ingress, RBAC, and YAML sprawl are a lot before you ship anything. Don’t reach for it too early: a single container on a PaaS or VM is far simpler until you genuinely need multi-node scaling and self-healing. |
Go | CNCF (originally Google) + OSS community | Apache-2.0 | |||||
|
GitHub Actions
CI/CD baked into your GitHub repo, triggered by events.
★ standard🔧☁
|
🔧 Tooling☁ Infra
|
★ standard | moderate | 2019 | GitHub’s native CI/CD — define workflows as YAML files in |
3 use cases Building, testing, and linting on every pull request. Show all
|
4 features YAML workflows triggered by repo events. Show all
|
It’s a proprietary platform locked to GitHub — workflows aren’t portable to other hosts. Pin third-party actions to a full commit SHA (not a mutable tag) as a supply-chain safeguard, and watch minute-based billing on private repos with heavy matrix builds. |
YAML (workflows); runners in Go/TypeScript | GitHub (Microsoft) | proprietary | |||||
|
GitLab CI/CD
Pipelines defined in .gitlab-ci.yml, built into the platform.
● mainstream🔧☁
|
🔧 Tooling☁ Infra
|
● mainstream | moderate | 2015 | GitLab’s integrated CI/CD — a single |
3 use cases End-to-end DevOps on a single self-hostable platform. Show all
|
4 features Single .gitlab-ci.yml with stages and jobs. Show all
|
Open-core: the MIT-licensed Community Edition covers the basics, but a lot of CI/CD niceties (advanced security scanning, multiple approvers, some compliance controls) sit behind the proprietary paid tiers. Self-managed runners need real maintenance, and pipeline YAML grows complex fast on big monorepos. |
Ruby/Go (platform); YAML (pipelines) | GitLab Inc. | open-core (MIT CE + proprietary) | |||||
|
Terraform
Provision cloud infrastructure as declarative, versioned code.
★ standard🔧☁
|
🔧 Tooling☁ Infra
|
★ standard | moderate | 2014 | The dominant infrastructure-as-code tool — declare cloud resources (servers, networks, IaaS buckets, DNS, databases) in HCL, and Terraform computes a plan and applies it, tracking what exists in a state file. Provider plugins cover AWS, GCP, Azure, Cloudflare, and hundreds more. |
3 use cases Reproducible, reviewable provisioning of cloud infrastruc... Show all
|
4 features Declarative HCL with plan/apply diffing. Show all
|
No longer open source: HashiCorp relicensed Terraform from MPL-2.0 to the Business Source License (BSL 1.1, source-available) in August 2023, which spawned the community OpenTofu fork (still MPL-2.0) — choose deliberately. Operationally, the state file is sensitive and must be stored remotely with locking, or concurrent applies corrupt it. (HashiCorp was acquired by IBM in 2024.) |
Go | HashiCorp (IBM) | BSL 1.1 | |||||
|
Ansible
Agentless configuration management via YAML playbooks.
● mainstream🔧☁
|
🔧 Tooling☁ Infra
|
● mainstream | moderate | 2012 | An agentless automation tool — describe the desired state of your servers in YAML "playbooks" and Ansible connects over plain SSH to apply them, no agent to install on targets. Idempotent modules mean re-running a playbook only changes what’s drifted, making it a staple for config management, app deployment, and orchestration. |
3 use cases Configuring and patching fleets of servers consistently. Show all
|
4 features Agentless — runs over SSH, nothing to install on targets. Show all
|
Great for configuration, awkward for provisioning — pair it with Terraform rather than fighting to create cloud infrastructure from playbooks. Large playbooks run slowly (SSH per task, per host), and "idempotent" only holds if you use proper modules instead of raw |
Python | Red Hat (IBM) + OSS community | GPL-3.0 | |||||
|
Nginx
High-performance web server, reverse proxy, and load balancer.
★ standard☁
|
☁ Infra
|
★ standard | moderate | 2004 | An event-driven web server renowned for serving static files and acting as a reverse proxy / load balancer in front of application servers. Its low memory footprint under high concurrency made it the standard front door for web apps — terminating TLS, routing requests, caching, and fronting upstreams (it also powers many a CDN edge). |
3 use cases Serving static assets and SPA builds efficiently. Show all
|
4 features Event-driven architecture — high concurrency, low memory. Show all
|
The config language is its own DSL with sharp edges — |
C | F5, Inc. + OSS community | BSD-2-Clause | |||||
|
Jenkins
The veteran self-hosted CI server, extensible to a fault.
▼ legacy🔧☁
|
🔧 Tooling☁ Infra
|
▼ legacy | steep | 2011 | The original open-source automation server — a self-hosted CI/CD engine driven by a vast plugin ecosystem and "Pipeline as code" via a |
3 use cases Self-hosted CI/CD where data must stay on-prem. Show all
|
4 features Pipeline as code via a Groovy Jenkinsfile. Show all
|
Powerful but high-maintenance — you own the server, the agents, the upgrades, and a sprawling plugin set whose interdependencies and CVEs need constant tending. The plugin-heavy model that was once its strength now reads as legacy next to managed cloud CI; pick it deliberately, usually for on-prem constraints. |
Java | Jenkins community (CDF) | MIT | |||||
|
Git
The distributed version control system everyone uses.
★ standard🔧
|
🔧 Tooling
|
★ standard | moderate | 2005 | The distributed version-control standard — every clone is a full repository with complete history, so branching, committing, and diffing are local and fast. Created by Linus Torvalds to manage Linux kernel development, it’s now the substrate beneath essentially all modern code hosting and CI/CD. |
3 use cases Tracking history and collaborating on virtually any codeb... Show all
|
4 features Distributed — every clone has the full history. Show all
|
The mental model — staging area, detached HEAD, the difference between |
C | Git community (Junio Hamano, maintainer) | GPL-2.0 | |||||
|
GitHub
The dominant code-hosting and collaboration platform.
★ standard🔧☁
|
🔧 Tooling☁ Infra
|
★ standard | gentle | 2008 | The largest code-hosting platform — Git repositories plus the social and collaboration layer on top: pull requests, code review, issues, Actions CI/CD, Packages, Pages, and now Copilot. Its network effects make it the default home for open source and a huge share of private development. (Microsoft owns it.) |
3 use cases Hosting public and private Git repos with code review. Show all
|
4 features Pull requests with inline review and required checks. Show all
|
It’s a proprietary, centralized service — convenient, but it means trusting a single vendor with your code, CI, and issues. Free private repos are generous, yet advanced security and admin features sit in paid tiers, and the network effect creates real lock-in around issues, PRs, and Actions that aren’t portable. |
Ruby / Go (platform) | GitHub (Microsoft) | proprietary | |||||
|
GitLab
An all-in-one DevOps platform with built-in CI/CD.
● mainstream🔧☁
|
🔧 Tooling☁ Infra
|
● mainstream | moderate | 2011 | A single DevOps platform spanning the whole lifecycle — Git hosting, code review (merge requests), issues, a container registry, security scanning, and tightly integrated CI/CD. Its big differentiator is being self-hostable: the open-core Community Edition can run entirely on your own infrastructure. |
3 use cases Self-hosted Git + CI/CD where data sovereignty matters. Show all
|
4 features Merge requests with built-in review and CI gates. Show all
|
Open-core: the MIT Community Edition is real, but many enterprise features (advanced security, compliance, multiple MR approvers) require the paid tiers. Self-hosting GitLab is resource-hungry and operationally heavy — budget for the RAM and the upgrade cadence before committing. |
Ruby / Go | GitLab Inc. + OSS community | open-core (MIT CE + proprietary) | |||||
|
Bitbucket
Atlassian’s Git hosting, tight with Jira.
● mainstream🔧☁
|
🔧 Tooling☁ Infra
|
● mainstream | gentle | 2008 | Atlassian’s code-hosting platform — Git repositories with pull requests and Bitbucket Pipelines CI/CD, but its real draw is deep integration with the rest of the Atlassian suite (Jira, Confluence, Trello). Most common in organizations already standardized on Jira. |
3 use cases Teams already on Jira/Confluence wanting native integration. Show all
|
4 features Native Jira and Confluence integration. Show all
|
It’s proprietary and most compelling only if you’re already in the Atlassian ecosystem — its open-source community is far smaller than GitHub’s. Atlassian also retired Mercurial support in 2020, so Bitbucket is Git-only now, and its market momentum has cooled relative to GitHub and GitLab. |
Java / proprietary | Atlassian | proprietary | |||||
|
GitHub CLI
Drive GitHub — PRs, issues, repos — from the terminal.
● mainstream🔧
|
🔧 Tooling
|
● mainstream | gentle | 2020 | The official command-line tool ( |
3 use cases Opening, reviewing, and merging PRs from the terminal. Show all
|
4 features PR, issue, release, and repo management from the shell. Show all
|
It’s GitHub-only — |
Go | GitHub (Microsoft) | MIT | |||||
|
Mercurial
A distributed VCS that Git largely eclipsed.
▼ legacy🔧
|
🔧 Tooling
|
▼ legacy | moderate | 2005 | A distributed version-control system born the same year as Git, with a reputation for a cleaner, more consistent command set ( |
3 use cases Maintaining legacy repositories already on Mercurial. Show all
|
4 features Distributed model with full local history (like Git). Show all
|
The ecosystem has shrunk dramatically — GitHub dropped Mercurial support and Bitbucket removed it entirely in 2020, so hosting and tooling options are thin. For new projects, Git is the pragmatic default; pick |
Python | Mercurial community | GPL-2.0 | |||||
|
Vitest
The Vite-native test runner — Jest’s API, a fraction of the wait.
● mainstream🔧
|
🔧 Tooling
|
● mainstream | gentle | 2021 | A blazing-fast unit-test framework built on top of Vite, so it reuses your app’s existing config, transforms, and ESM handling instead of duplicating them. The API is intentionally Jest-compatible ( |
3 use cases Unit and component tests in any Vite-based project (React... Show all
|
4 features Shares the project's Vite config — no separate transform ... Show all
|
It’s Jest-compatible, not Jest — globals are off by default (enable |
TypeScript | Vitest team (VoidZero, now Cloudflare) | MIT | |||||
|
Jest
The long-reigning batteries-included JS test framework.
★ standard🔧
|
🔧 Tooling
|
★ standard | gentle | 2014 | The framework that made testing JavaScript pleasant — a zero-config runner with built-in assertions, mocking, snapshot testing, and parallel execution all in one package. For years it was the default for React and most of the Node ecosystem; it now uses a Babel transpile step to run modern syntax, which is part of why ESM-native runners feel faster. |
3 use cases Unit and integration tests for Node and React codebases. Show all
|
4 features All-in-one: runner, assertions, mocks, and snapshots. Show all
|
ESM support is still a sore spot — Jest historically assumed CJS and needs Babel or experimental flags to run native modules, and its global JSDOM environment is slower to spin up than Vite-based runners. Many new Vite projects pick Vitest instead. |
JavaScript | OpenJS Foundation (originally Meta) | MIT | |||||
|
Playwright
Cross-browser end-to-end testing that actually stays green.
● mainstream🔧
|
🔧 Tooling
|
● mainstream | moderate | 2020 | Microsoft’s browser automation and end-to-end testing framework that drives Chromium, Firefox, and WebKit through one API. Auto-waiting on elements, network interception, and test isolation per browser context kill most of the flakiness that plagued older E2E tools, and a code generator + trace viewer make writing and debugging tests fast. |
3 use cases End-to-end testing of web apps across all three browser e... Show all
|
4 features One API across Chromium, Firefox, and WebKit. Show all
|
The browser binaries are a heavyweight install ( |
TypeScript | Microsoft + OSS community | Apache-2.0 | |||||
|
Cypress
End-to-end testing with a developer experience people love.
● mainstream🔧
|
🔧 Tooling
|
● mainstream | gentle | 2017 | A browser E2E testing tool famous for its developer experience — tests run inside a live browser with a time-travel UI that lets you step through every command and see the app at each point. It auto-waits and retries assertions, and bundles its own runner, assertion library, and dashboard. |
3 use cases End-to-end and integration testing with interactive debug... Show all
|
4 features Time-travel debugging — snapshots of every command step. Show all
|
Historically single-browser (Chromium-family) and same-origin bound — its architecture runs inside the browser, which limits multi-tab and cross-origin flows that Playwright handles natively. Many teams that need true cross-browser coverage have shifted to Playwright. |
JavaScript | Cypress.io + OSS community | MIT | |||||
|
Testing Library
Test your UI the way users actually use it.
★ standard🔧
|
🔧 Tooling
|
★ standard | gentle | 2018 | A family of lightweight DOM-testing utilities (React Testing Library, Vue Testing Library, and friends) built on one guiding principle: query the DOM by what a user sees — roles, labels, text — not by implementation details like CSS classes or component internals. It’s not a runner; it plugs into Vitest or Jest. |
3 use cases Accessible, user-centric component tests for React/Vue/Sv... Show all
|
4 features Queries by role, label, and text — not by CSS selectors. Show all
|
It’s a query layer, not a test runner — you still need Vitest or Jest plus JSDOM underneath. The philosophy bites if you reach for |
JavaScript | Testing Library team + OSS community | MIT | |||||
|
ESLint
The pluggable linter that keeps JS/TS honest.
★ standard🔧
|
🔧 Tooling
|
★ standard | moderate | 2013 | The de-facto standard linter for JavaScript and TypeScript — it statically analyzes code to catch bugs (unused vars, unreachable code, bad API usage) and enforce style and best-practice rules. Everything is a plugin, so frameworks ship their own rule sets; the modern flat-config format ( |
3 use cases Catching bugs and enforcing conventions across a JS/TS co... Show all
|
4 features Pluggable rule architecture with thousands of community r... Show all
|
The flat-config migration (ESLint 9) broke a lot of older |
JavaScript | OpenJS Foundation + OSS community | MIT | |||||
|
Prettier
Opinionated formatting that ends the whitespace wars.
★ standard🔧
|
🔧 Tooling
|
★ standard | gentle | 2017 | An opinionated code formatter that reprints your code from its AST to a single consistent style — it ignores how you typed it and enforces uniform quotes, spacing, and line-wrapping. By design it has very few options, so teams stop arguing about style and just run it on save and in CI. |
3 use cases Auto-formatting JS/TS/CSS/HTML/Markdown to a single house... Show all
|
4 features Opinionated — minimal config, one canonical output. Show all
|
Its few-options philosophy is a feature, not a bug — if you fight it over trivial style preferences you’ll lose. Run |
JavaScript | Prettier team + OSS community | MIT | |||||
TypeScript (tsc)
The type-checker as a quality gate — tsc --noEmit.
★ standard🔧{ }
|
🔧 Tooling{ } Language
|
★ standard | moderate | 2012 | The TypeScript compiler isn’t just a transpiler — run as |
3 use cases CI type-check gate (tsc --noEmit) separate from bundling. Show all
|
4 features Whole-program type checking with --noEmit for a pure gate. Show all
|
On large codebases the classic JS-based |
TypeScript / Go | Microsoft + OSS community | Apache-2.0 | |||||
|
Storybook
A workshop for building and testing UI components in isolation.
● mainstream🔧
|
🔧 Tooling
|
● mainstream | moderate | 2016 | A development environment that renders your UI components in isolation, outside the app, so you can build, document, and test each one across its states (“stories”). It doubles as living design-system documentation and a base for visual-regression and interaction testing, working with React, Vue, Svelte, Angular, and Web Components. |
3 use cases Building and reviewing components in isolation from the app. Show all
|
4 features Renders components in isolation across all their states. Show all
|
It’s a second build to configure and maintain — addons, framework presets, and major-version upgrades all carry overhead, and large story sets get slow. Keep stories close to components and lean on the Vite builder to keep startup fast. |
TypeScript | Storybook team + OSS community | MIT | |||||
|
npm
The default package manager that ships with Node.
★ standard🔧
|
🔧 Tooling
|
★ standard | gentle | 2010 | Node.js’s built-in package manager and the original gateway to the JavaScript ecosystem. It reads |
3 use cases Default dependency management for any Node/JS project. Show all
|
4 features Ships with Node — zero extra install. Show all
|
The flat |
JavaScript | npm, Inc. (GitHub / Microsoft) | Artistic-2.0 | |||||
|
pnpm
Fast, disk-efficient, and strict about your dependency tree.
● mainstream🔧
|
🔧 Tooling
|
● mainstream | gentle | 2017 | A drop-in npm alternative that stores every package version once in a global content-addressed store and hard-links it into each project’s |
3 use cases Monorepos and machines with many projects (huge disk savi... Show all
|
4 features Content-addressed global store + hard links — install onc... Show all
|
The symlinked, non-flat layout occasionally trips tooling that assumes a flat |
TypeScript | pnpm team + OSS community | MIT | |||||
|
Yarn
The manager that pushed npm to get faster and deterministic.
● mainstream🔧
|
🔧 Tooling
|
● mainstream | moderate | 2016 | A package manager born at Meta to fix early npm’s speed and determinism problems — it introduced lock files and parallel installs that npm later adopted. Yarn Classic (v1) behaves like npm; Yarn Berry (v2+) is a rewrite with Plug’n’Play, which skips |
3 use cases Projects already standardized on Yarn workspaces. Show all
|
4 features Deterministic lock file and parallel installs. Show all
|
Yarn Classic (v1) and Yarn Berry (v2+) are almost two different tools — Berry’s Plug’n’Play breaks packages that expect a real |
TypeScript | Yarn team + OSS community (originally Meta) | BSD-2-Clause | |||||
Bun (package manager)
bun install — an absurdly fast npm-compatible installer.
▲ rising🔧
|
🔧 Tooling
|
▲ rising | gentle | 2022 | The package-manager half of the Bun runtime — |
3 use cases Drastically faster dependency installs in dev and CI. Show all
|
4 features Native (Zig) installer — dramatically faster than npm/Yarn. Show all
|
The installer is the most battle-tested part of Bun, but edge cases in lifecycle scripts, peer-dependency resolution, and lockfile interop with other managers still surface. Bun was acquired by Anthropic in December 2025 and stays MIT-licensed; the project remains young relative to npm and pnpm. |
Zig | Bun team (Anthropic) | MIT | |||||
|
npm registry
The public warehouse — 3M+ packages every JS manager pulls from.
★ standard🔧☁
|
🔧 Tooling☁ Infra
|
★ standard | gentle | 2010 | The public registry at |
3 use cases The default install source for every major JS package man... Show all
|
4 features 3M+ packages — the largest software registry in the world. Show all
|
It’s a single hosted service, so it’s a supply-chain and availability choke point — typosquatting, dependency-confusion, and the occasional unpublished package (the infamous left-pad incident) all stem from trusting a public registry. Pin versions, use a lock file, and consider a caching proxy for CI. |
Hosted service | npm, Inc. (GitHub / Microsoft) | proprietary | |||||
|
Composer
The dependency manager that modernized PHP.
★ standard🔧
|
🔧 Tooling
|
★ standard | gentle | 2012 | The standard dependency manager for PHP — it reads a |
3 use cases Dependency management for any modern PHP project. Show all
|
4 features composer.json manifest + composer.lock for reproducible i... Show all
|
Resolving large dependency graphs can be slow and memory-hungry — bumping PHP’s |
PHP | Composer team + OSS community | MIT | |||||
|
Turborepo
High-performance build orchestration for JS/TS monorepos.
▲ rising🔧
|
🔧 Tooling
|
▲ rising | moderate | 2021 | A monorepo build system from Vercel that sits on top of your package manager’s workspaces and makes big repos fast through aggressive caching — it builds a task dependency graph, runs tasks in parallel, and skips any work whose inputs haven’t changed (locally and via a shared remote cache). It’s a task runner, not a package manager: pair it with npm, pnpm, or Yarn workspaces. |
3 use cases Speeding up build/test/lint tasks across a JS/TS monorepo. Show all
|
4 features Content-aware caching — never rebuild unchanged tasks. Show all
|
The cache only helps if your task |
Rust | Vercel + OSS community | MIT |
No technologies match your filters.