brisa is a free, open source blogging & personal sites project written in TypeScript and released under MIT. It has 780 GitHub stars, 29 forks and 55 open issues, and was last pushed 6 months ago. On this registry it ranks #28 of 33 tracked projects in Blogging & Personal Sites, with 5 head-to-head comparisons available.

What is brisa?

Brisa is an experimental, MIT-licensed TypeScript web framework that bundles JSX, server and web components, server actions, streaming SSR, and signals into one toolchain, aimed at developers who want to build and ship a site without assembling a stack of separate libraries.

What it is

Brisa is a web framework written in TypeScript and published on npm as the brisa package. It is described in its own README as "an experimental web framework inspired by the others, taking the best of each one," and it carries the topic tags jsx, server-components, server-rendering, signals, streaming, static-site-generator, and web-components. It sits in the JavaScript and TypeScript ecosystem and covers the ground normally split between a build tool, a routing layer, a rendering engine, and a component runtime.

The concrete problem it solves is the assembly work of a modern web project. Instead of wiring a bundler, a router, a rendering strategy, an i18n layer, and a realtime transport together by hand, Brisa ships them as one framework with one configuration surface. It replaces that collection of separate dependencies with a single package whose default output adds nothing to the bundle: 0 bytes by default, 2 kB when server actions are used for RPC, and 3 kB when web components are needed.

Key capabilities

  • JSX and TypeScript support alongside server components, web components, and layouts.
  • Server actions with optimistic updates, so mutations and their pending state are handled without a separate client data layer.
  • Server-side rendering, streaming, and suspense for progressively delivered pages.
  • Signals as the reactive state primitive.
  • Websockets and middleware built into the framework rather than added on.
  • i18n support covering both text translation and routing, loading only the translations a request consumes.
  • Output retargeting: the same project can be changed from server to static, or to a desktop, Android, or iOS app, with a single configuration command.

Who uses it and how

  • Developers experimenting with server components and streaming who want those ideas in one place rather than spread across multiple packages.
  • Contributors taking part in Hacktoberfest, since the repository carries the hacktoberfest topic.
  • Teams building multilingual sites that need translation loading scoped to the routes actually visited.
  • Projects that expect to start as a web deployment and later target static output or a packaged app, using the configuration command to change the build target.
  • Small groups prototyping against the docs on brisa.build, with the Discord channel and the 1.0 roadmap issue used for feedback.

Getting started

The README gives a single command: bun create brisa@latest. Full setup steps live in the quick-start section of the documentation at brisa.build.

How it compares

No list of paid products this project replaces is provided, and the facts name no comparable frameworks by name beyond the README's note that Brisa is inspired by others. On the evidence available, it stands alone in this registry.

When to use it — and when not to

Use Brisa when the goal is experimentation, feedback, or contributing to the framework, which is exactly what its README asks for. Do not use it for production work: the project states that the 0.x versions are experimental and that production use is not recommended until 1.0, so anyone needing stability should wait for that release. The repository also shows 55 open issues, which is consistent with an early-stage project where the surface area is still moving.

project readme (upstream, from github) — read inline

Brisa

Brisa is an experimental web framework inspired by the others, taking the best of each one.

[!WARNING]

The 0.x versions of Brisa are considered experimental, use it for experimentation, we do not recommend using it in production until 1.x. Please help us to improve it by testing and giving feedback, we are open to suggestions and contributions to make it better.

npm version npm size PRs Welcome follow on Twitter

Documentation   •   Discord   •   Issues   •   Roadmap   •   Sponsors

Features ✨

  • ⚛️ ・ Everything you need: JSX, TS, server/web components, server actions, optimistic updates, SSR, streaming, suspense, signals, websockets, middleware, layouts...
  • 🚀 ・ Speed: Brisa is designed to start, build, test, deploy, and run fast.
  • 🌍 ・ i18n support: text translation and routing carrying only the translations you consume.
  • 📦 ・ Tiny: 0B by default, 2kB when you use server actions (RPC size), and 3kb when you need web components.
  • 📲 ・ Change the output: You can change your web from server to static, to desktop, android, or ios app with just one configuration command.

[!NOTE]

Check our roadmap for 1.0.

Getting Started

Simple one command:

bun create brisa@latest

For more info visit the docs.

Documentation

The documentation is available on brisa.build.

Contributing

See Contributing Guide and please follow our Code of Conduct.

Discord

Come join the Discord community channel~

Sponsors

Sponsored by Kitmul and Viatsy

License

MIT

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Frequently asked questions

Is brisa free to use?

brisa is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does brisa do?

The Web Platform Framework.

What is brisa written in?

brisa is primarily written in TypeScript. Its source is publicly available at https://github.com/brisa-build/brisa, and it has 780 GitHub stars.