Fast pages. Less JavaScript.
Build fast websites and full apps, one island at a time.
Ilha sends ready-to-view HTML first, then adds JavaScript only to the interactive parts. Your pages load quickly, stay lightweight, and work with the stack you already use.
Try this tasks island live in the playground.
Works with your existing toolsJavaScript only where neededType-safe by default
Why Ilha
Keep most of your page simple. Make only the useful parts interactive.
Build your page with familiar components. When a search box, form, or menu needs to respond to someone, turn that component into an island. Ilha leaves everything else as lightweight HTML.
Start with a function
Write a component that returns JSX. Mount it when the UI needs to live in the browser.
Grow one capability at a time
Add atom(), watch(), streams, and when only where the view needs them.
Keep your server
Any HTTP server can return Ilha HTML. Client hydration stays opt-in.
Hydrate on demand
Ship plain HTML first. Mount only the interactive regions that need JavaScript.
Easy to follow
Keep each interaction in one clear place.
The data, user actions, and HTML for a feature stay together. You can understand it at a glance, move it between pages, or remove it cleanly.
- Familiar event handling
- Local state with atom()
- No app shell required
signup.tsxtsx
Efficient updates
Update only what changed.
Signals connect your data directly to the page. When something changes, Ilha updates the affected element instead of redrawing the whole interface.
- Simple state updates
- Stale requests cancel automatically
- No page-wide redraws
signals.tsxtsx
Flexible delivery
Send useful content before JavaScript loads.
Render HTML on your server for a fast first view, then activate only the components people can interact with. Each island works independently.
- Fast server-rendered HTML
- Async data support
- Independent interactivity
product-card.tsxtsx
Add what you need
Start small. Expand when your product grows.
Begin with one lightweight package. Add routing, shared data, or Astro support only when your website needs it.
- Pages and dynamic routes
- Shared data for carts and sessions
- First-class Astro integration
Start your way
Add Ilha without rebuilding your stack.
Choose a starter for Vite or your server. You get a working, type-safe project with fast server-rendered pages and focused interactivity—without adopting a full application framework.
Ready to build?
Create your first interactive component in five minutes.
Follow the short guide or build a counter step by step. You will see how Ilha adds interactivity without taking over the rest of your page.