DEV Community

Salman Faris
Salman Faris

Posted on

I Built a Next.js-Inspired Web Framework in Go — Meet NexGo

Modern web development is dominated by tools like Next.js, but most of them rely heavily on Node.js, npm, and complex build systems.

I wanted something simpler. Faster. More efficient.

So I built NexGo — a Go-powered web framework inspired by Next.js.


⚡ What is NexGo?

NexGo brings the developer experience of Next.js into the Go ecosystem.

It allows you to build full-stack web applications using:

  • File-based routing
  • Server-side rendering (SSR)
  • API routes
  • Hot reload
  • Static site generation

All compiled into a single binary — no runtime dependencies, no Node.js.


🔥 Why NexGo?

Most modern frameworks come with overhead:

  • ❌ Node.js runtime
  • ❌ Heavy dependencies
  • ❌ Complex build pipelines

With NexGo:

  • ✅ No Node.js
  • ✅ No npm
  • ✅ Zero dependencies
  • ✅ Blazing fast performance (~50K req/sec)
  • ✅ Simple deployment (just one binary)

🧠 How It Works

NexGo uses a file-based routing system, similar to Next.js.

Example:

pages/
├── index.html        → /
├── about.html        → /about
├── blog/
│   └── [slug].html   → /blog/post-1
Enter fullscreen mode Exit fullscreen mode

Just create files — NexGo automatically turns them into routes.


🚀 Getting Started

Install NexGo:

go install github.com/salmanfaris22/nexgo/cmd/nexgo@latest
Enter fullscreen mode Exit fullscreen mode

Create a project:

nexgo create my-app
cd my-app
nexgo dev
Enter fullscreen mode Exit fullscreen mode

Now open:

👉 http://localhost:3000

Your app is live with hot reload ⚡


⚡ Built for Performance

Because NexGo is written in Go:

  • It handles thousands of requests efficiently
  • Compiles into a small binary (~10MB)
  • Uses no external runtime

🌐 Live Demo

Check out NexGo in action:

👉 https://nexgo.up.railway.app/

💡 This entire website is built using NexGo itself.


🧩 Key Features

  • File-based routing
  • Layouts and reusable components
  • API routes using Go
  • Built-in middleware (CORS, logging, gzip)
  • Static asset support
  • Hot reload (HMR)
  • DevTools panel

⚖️ NexGo vs Next.js

Feature NexGo Next.js
Language Go JavaScript
Runtime None Node.js
Deployment Single binary Server / Vercel
Performance ⚡ Very high High

💡 Why I Built This

I wanted a framework that:

  • Combines simplicity + performance
  • Removes unnecessary complexity
  • Feels modern like Next.js
  • Runs entirely on Go

NexGo is my attempt to bring that vision to life.


🚀 What’s Next?

I’m actively improving NexGo and exploring:

  • Better developer tools
  • Plugin ecosystem
  • More advanced routing features

💬 Feedback Welcome

This is an open-source project, and I’d love your feedback.

👉 GitHub: https://github.com/salmanfaris22/nexgo
👉 Try it: https://nexgo.up.railway.app/


⭐ Support the Project

If you find NexGo interesting:

  • Give it a ⭐ on GitHub
  • Share it with other developers
  • Try building something with it

🚀 Built with Go. Inspired by Next.js. Powered by simplicity.

Top comments (1)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.