Currently in active development. Follow along as we reshape how fullstack Next.js apps are built — with structure, clarity, and momentum.
🧠 I Wanted Simplicity, Not Freedom — Why I’m Building Refraim.ts
Next.js 14 gave us power. But that power came wrapped in abstraction, complexity, and the App Router.
I didn’t want endless flexibility. I wanted to build fast — and enjoy it. But instead, I found myself battling routing trees, file conventions, and mental friction at every turn.
The App Router? Too abstract. Too clever. Too slow for real work.
I missed the magic of Rails. The clarity of Laravel. The joy of just building.
So I built Refraim.ts.
⚠️ The Problem: Next.js 14 Slows You Down
React, Next.js, and their ever-expanding constellation of meta-frameworks offer flexibility — in the form of total architectural ambiguity.
- Choose your own file structure
- Decide how to separate concerns
- Build your own rules
But this freedom comes at a steep cost:
- ⏳ Slower velocity
- 😵 Team confusion
- 🔁 Endless decision fatigue
What used to be “just the V in MVC” is now an everything-machine that asks you to wire up everything yourself.
App Router tries to be powerful — but ends up being confusing.
✨ The Vision: Make Web Dev Joyful Again
Building a fullstack app shouldn’t feel like defusing a bomb made of config files.
It should feel like typing your intent and watching your app come to life.
My philosophy:
- ✅ Structure should be generated, not improvised
- ✅ Intent should become code
- ✅ Clarity > flexibility
Laravel nailed this. Rails was built on it. Refraim brings that magic — to the Next.js + TypeScript ecosystem.
🚀 Introducing Refraim.ts — A Framework That Chooses For You
Refraim.ts is a batteries-included fullstack framework on top of Next.js 14 that:
- 📁 Generates a clear project structure automatically
- 🔤 Uses a declarative routing DSL (
defineRoute()
) - 🔃 Separates
schema
,service
,controller
, andUI
- 🛠️ Offers CLI tools to scaffold features with smart defaults
No more wiring things by hand.
No more "Where should this code live?"
No more "It depends."
🧭 Refraim Philosophy: Schema. Service. Structure.
A new MVC for modern fullstack apps.
- Each file has a single, clear responsibility
- Features are self-contained and expressive
- UI expresses intent, motion, and clarity
- You never touch the App Router manually
🔍 What Refraim Does Differently
Compared to Next.js
- ✅ Opinionated routing structure
- ✅ CLI-generated features
- ✅ Fully typed page + controller generation
Compared to tRPC
- ✅ No magic proxies or hidden behaviors
- ✅ Explicit service layers and controller logic
Compared to Remix
- ✅ No nested route confusion
- ✅ Clear separation of domain logic and UI
🎨 Rebirth UI — Visual Clarity, Instantly
Tailwind CSS, Radix UI, and Framer Motion are powerful — but integrating them consistently takes real expertise.
Refraim wraps them into a single, tokenized design system you can trust:
npx rebirth-ui:init
Get:
- 🎨 Design tokens
- 🧩 Accessible UI components
- 💫 Built-in motion primitives
Most kits give you pieces. Rebirth gives you a philosophy.
🧙 CLI Magic: Rails-Like Momentum for Next.js
npx refraim make:feature users
Creates:
-
schema.ts
(Zod) -
service.ts
(Prisma logic) controller.ts
route.ts
- Optional typed pages
npx refraim routes:generate
Automatically transforms route.ts
into actual Next.js App Router files. Zero boilerplate. No ambiguity.
“You write intent. Refraim writes the app.”
🎯 Who It’s For: The Builders Who Want to Ship
Refraim.ts is built for:
- 👩💻 Indie developers who want to launch SaaS apps fast
- 🧑🤝🧑 Early-stage product teams moving without PMs
- 🧪 Makers who are tired of battling config, routes, and folder hell
If you want to:
- Move fast without sacrificing structure
- Build apps without stopping to Google folder naming debates
- Actually enjoy shipping again
You’re who we’re building for.
🧭 In Closing: Next.js Made Us Free. Refraim Helps Us Move.
React gave us freedom.
Next.js gave us abstraction.
Refraim gives us flow.
Frameworks should protect us from unnecessary choice.
Refraim.ts is my answer to the chaos:
- 💡 A system that embraces clarity
- ⚙️ A structure that gets out of your way
- 🏃 A tool that turns motion into momentum
Freedom is beautiful. But clarity builds things.
If this resonates with you, follow along. Refraim.ts is coming soon.
🚀 Refraim.ts Is Coming. Join the Movement.
This project is still in early development — but if this vision resonates with you:
🌟 Give it a star on GitHub to follow progress and show your support.
→ Star Refraim.ts on GitHub
Your early support helps shape the future of fullstack development.
Top comments (5)
honestly love the focus on getting rid of all the config drama - it always makes me stall out. you ever feel like too much freedom actually just gets in the way long run?
Absolutely — I’ve hit that exact wall many times.
At first, freedom feels like a feature.
But when you’re trying to ship, every micro-decision—routing, folder structure, even naming—adds up.
The worst part? That subtle slowdown creeps in over weeks, not hours. And you don’t even notice until momentum is gone.
That’s the core reason I’m building Refraim.ts:
To shift from “you decide everything” to “we’ve made the right choices so you can move.”
Curious — what’s been the biggest freedom trap in your experience?
For me, it was always dynamic routing + state management hell..
Thanks again for always checking out my projects — Refraim.ts makes the third one, and it means a lot that it keeps resonating.
I really appreciate it. Hope to keep building things worth your time!
🙏 Thanks for reading!
This project is still in early development, and I’d love to hear your thoughts.
🛠️ What would you expect from a fullstack framework like this?
💭 What parts of fullstack dev slow you down the most?
Feel free to open issues, star the repo, or just drop a thought here.
👉 GitHub: github.com/Refraim-ts/Refraim.ts
🟠 Quick update:
I also posted this on Hacker News to hear from the community there:
🔗 Ask HN: Would you use a CLI-first Next.js framework like Refraim.ts?
If you're coming from HN, welcome! And if you're not—feel free to jump into the thread. Would love to hear your take.