5/10/2025
FEATUREDFrameworks love magic.
Put a file in a folder, and suddenly it's a route. Add a bracket in the filename, and boom — it’s dynamic. Want to override a template? Good luck figuring out what level of abstraction you’re allowed to touch.
We’ve all been there: spending more time guessing how the system works than actually building.
Rift doesn’t do that.
Rift gives you the power to define exactly what pages exist using real data, not conventions.
You write a params() function in a controller file, and return the specific params you want. You write a permalink() function, and it returns the exact URL you want.
No string interpolations. No file naming hacks. No magic folders. Just code that behaves how you write it.
Magic always comes at a cost:
Rift avoids all of that by treating your site as a composition of explicit parts. You decide what exists — the system doesn’t invent anything behind your back.
When you call ctx.param({ slug: 'hello-world' }), Rift will generate a page for that slug. That’s it. If you don’t define it, it doesn’t exist.
That makes things like localization, pagination, and conditional routing 100% predictable. You never have to wonder “Where did this route come from?” again.
Every part of the site is under your control — not your framework’s interpretation of it.
Rift is for developers who:
If you're the type of dev who reads the source when something breaks — this tool was made for you.
Install Rift and feel the difference:
npm create rift@latest
You’ll be writing real route logic in under a minute — and deploying a fully static site with zero surprise behavior.
Just you, your data, and a clear pipeline to output.
Rift is a zero-guesswork static site generator built for developers. Try it today:
npm create rift@latest