Build faster websites
without the bloat
Ship marketing sites that load instantly. Zero unnecessary JavaScript, beautiful components, and the developer experience you love.
Everything you need
Simple, transparent pricing
Why performance matters
Modern marketing websites have become increasingly JavaScript-heavy. The average web page now ships over 500KB of JavaScript, and component libraries built on add significant overhead. Every component on the page needs to — including static text content that never changes.
This is particularly problematic for long-form content. Blog posts, landing pages, and documentation sites are content-first by nature, yet frameworks like Next.js require the full runtime to reconcile every text node, heading, and paragraph. The more content on the page, the higher the cost.
Consider a marketing page with a navigation menu, pricing tables, testimonials, and a contact form. In a traditional React setup, the browser must download, parse, and execute JavaScript for state management, event delegation, and the component tree itself — even for sections that are purely presentational.
The alternative is to use a server-first approach where components render to plain HTML by default. Interactive elements like and tooltips use lightweight that add only the JavaScript strictly necessary for behavior — no framework, no virtual DOM, no hydration.
Frequently asked questions
While inspired by shadcn/ui's copy-and-own approach, our
components are built natively for Astro. They compile to pure HTML
and CSS with zero React runtime overhead. Interactive components use lightweight data-slot primitives. The React demos use Base UI.
The components are designed for Astro's .astro file format.
However, Astro supports islands architecture, so you can mix these
components with React or Vue islands where you need complex
client-side state.
All interactive components include proper ARIA attributes, keyboard
navigation, and focus management. The data-slot primitives handle
accessibility patterns like roving tabindex, aria-expanded, and
screen reader announcements.
JavaScript payload depends on the components and framework used. This benchmark measures the production output of the same page in all three implementations.
Yes. The component library is used in production on multiple
Bejamas client projects and our own marketing sites. It's actively
maintained with regular updates and security patches.
Run npx bejamas add to start adding components to your Astro
project. Each component is copied into your codebase where you have
full control to customize it.