Show HN: Master – Rails-style full-stack productivity for Node.js

Rbatista2 pts0 comments

I Built Master Because I Missed the Feeling of Rails | Bookbag<br>Free auditLog inTry freeBook a demo

Engineering<br>I Built Master Because I Missed the Feeling of Rails<br>A few years ago, building web apps felt simpler. You generated a model, a controller, a few routes, connected a database, and shipped something. Here's why I built Master to get that feeling back — without leaving the Node.js world.<br>The Bookbag Team·June 2026· 7 min read

In this article<br>Why I built it<br>The part I care about most<br>Why not just use Next.js?<br>Who this is for<br>What works today<br>What I'd love feedback on

A few years ago, building web apps felt simpler.<br>You had an idea. You generated a model. You generated a controller. You added a few routes. You connected a database. You shipped something.<br>It was not always perfect, but there was a feeling that the framework was trying to help you move.<br>Lately, building full-stack JavaScript apps has started to feel different. The ecosystem is incredibly powerful, but the starting point is often a pile of decisions:<br>Which backend framework should I use?<br>Which ORM?<br>Where do migrations live?<br>How should the API connect to the frontend?<br>Do I want a monolith, separate services, or something in between?<br>How much boilerplate do I need before I can build the actual product?

I kept running into the same problem.<br>I like the Node.js ecosystem. I like modern JavaScript. I like Next.js. But I missed the productivity of frameworks like Rails.<br>So I built Master.<br>Master is a full-stack framework for Node.js that gives you a real application structure from the start. One command scaffolds a Next.js frontend, a MasterController API, and a MasterRecord ORM, wired together and ready to run.<br>npm install -g master

master new my-app<br>cd my-app<br>master db migrate<br>master dev<br>That boots the API on port 3001 and the Next.js frontend on port 3000.<br>The goal is simple: give JavaScript developers the productivity of Rails without asking them to leave the Node.js world.<br>See Master at masterjs.org

Why I built it<br>I have built a lot of web apps. Some were small side projects. Some were internal tools. Some needed authentication, dashboards, CRUD screens, APIs, background logic, and database changes.<br>Every time I started a new app, I felt like I was rebuilding the same foundation.<br>I did not want a tiny router and a blank folder. I also did not want a giant black box. I wanted something opinionated enough to help me move fast, but modular enough that I could understand and replace pieces when needed.<br>That became the philosophy behind Master. Three pieces, one framework:<br>Master CLI<br>The command center for creating apps, generating resources, running dev, building, starting, and managing database workflows.

MasterController<br>The backend framework. Routing, controllers, middleware, WebSockets, CORS, CSRF protection, rate limiting, secure headers, HSTS, and other backend pieces that most real apps eventually need.

MasterRecord<br>The ORM. Code-first models, migrations, relationships, transformers, and support for SQLite, MySQL, and PostgreSQL.

The part I care about most<br>The part I care about most is not that Master exists. It is that the first few minutes of a project should feel better.<br>Starting a web app should not require hours of glue code before you can touch the actual product. With Master, I wanted this flow:

One workflow scaffolds the model, controller, route, migration, and frontend page together.1Create the app.<br>2Generate a resource.<br>3Run the migration.<br>4Start building.

Why not just use Next.js?<br>Next.js is great. Master does not try to replace Next.js. It puts Next.js where I think it belongs: as the frontend layer. Then it gives you a real backend and ORM underneath it.<br>The result is a decoupled full-stack app:

Next.js frontend, MasterController API, and MasterRecord ORM — separate services, created together.Next.js renders the UI.<br>MasterController handles the API.<br>MasterRecord handles the database.<br>Apps outgrow “everything is just a frontend app”<br>The frontend and backend are separate services, but they are created together and designed to work together. That matters because a lot of apps eventually outgrow the idea that everything is just a frontend app.<br>You need real backend structure.<br>You need database workflows.<br>You need controllers.<br>You need security.<br>You need places to put business logic that do not feel like hacks.

Who this is for<br>Master is for developers who like JavaScript but miss productive full-stack frameworks.<br>People who want to build real apps, not spend the first day choosing packages.<br>Small teams that want a clear structure.<br>Solo founders who need to move fast.<br>Backend developers who want Node.js to feel less scattered.<br>It is probably not for everyone<br>If you love building every piece from scratch, Master may feel too opinionated. If your whole app fits perfectly inside a serverless-only frontend flow, you may not need it. But if you have ever opened a blank Node.js project and thought, “I wish this gave me more...

master next frontend apps node built

Related Articles