DEV Community

Cover image for I wasted the first hour of every new project doing the same thing — so I built a fix
Naveensivam S
Naveensivam S

Posted on

I wasted the first hour of every new project doing the same thing — so I built a fix

Let me describe your last few new projects.

You open your IDE. You create a Spring Boot project.
You create a Next.js project. You start wiring them together.

Then it begins.

CORS error. Google it. Fix it. Wrong fix. Fix it again.
Docker Compose. Which image? Which port? Healthcheck syntax?
JPA config. Which dialect? Which DDL mode?
AI tool opens. "Hey Claude, here is my project structure..."
Re-explain everything from scratch. Again.

One hour gone. You have not written a single line of
business logic yet.

I did this on five consecutive projects before I got
frustrated enough to do something about it.


What I built

Zovlyn is a project generator for Next.js + Spring Boot

  • PostgreSQL.

You pick your options. You click Generate. You download
a ZIP. You unzip it and run it.

That is the entire experience.

No account. No login. No credit card.

👉 https://zvolyn.vercel.app/


What is actually inside the ZIP

This is not just a GitHub template you clone and hope works.
Every generated project includes:

CORS pre-wired using the proxy pattern

The Next.js frontend proxies all /api/* requests to Spring
Boot server-side. The browser never touches port 8080
directly. Zero CORS errors in development. Zero config
for production. This one decision alone saves most
developers 30-60 minutes on every new project.

PostgreSQL connected with Spring profiles

Three profiles are ready out of the box:

  • local: connects to your machine on localhost:5432
  • docker: connects to the postgres container by service name

Switch environments by changing one line in application.yml.
No Java code changes. No property hunting.

Docker Compose that actually works

PostgreSQL container with a healthcheck. Spring Boot
waits for the database to be healthy before starting.
Named volumes. Isolated network. One command:

docker compose up --build

Everything starts in the right order. The database
is created automatically. No manual psql commands needed
for Docker mode.

Three AGENTS.md files

This is the part I am most proud of.

Every generated project includes an AGENTS.md file at
the root, inside backend/, and inside frontend/.

Each one explains the architecture, the conventions,
the profile system, how to add a feature, and what
each folder is for — written specifically for AI
coding agents.

When you open the project with Claude Code or Cursor,
the AI reads these files first. It immediately understands:

  • how the two services connect
  • why the proxy pattern is used
  • how to add a new endpoint correctly
  • what profile to use for what environment

You never re-explain your architecture to an AI tool again.
Ever.


How it compares to existing starters

There is a great Spring Boot + Next.js starter kit by
Nermin Karapandzic on dev.to that includes authentication,
OAuth2, RBAC, email sending, and S3 integration.

That project is excellent if you need all of that.

Zovlyn is the opposite. No auth. No opinions on your
feature set. No complexity you have to untangle before
you can start.

Just the plumbing. Wired correctly. Ready to build on.

If you know what you are building and you just want
the foundation to work — Zovlyn is for you.


The technical decisions worth knowing

Why the proxy pattern instead of CORS headers?

Because CORS header configuration is environment-specific,
easy to get wrong, and exposes your backend URL in the
browser. The proxy pattern solves all three problems at
once. The backend URL never reaches the client. There
are no environment-specific CORS rules to maintain.
It just works.

Why Spring profiles instead of environment variables?

Because profiles let you switch the entire database
configuration with one value. SPRING_PROFILES_ACTIVE=docker
and your app connects to the container. Change it to local
and it connects to your machine. No URL construction.
No variable juggling.

Why AGENTS.md instead of just a README?

A README is written for humans reading linearly.
AGENTS.md files are structured for AI tools scanning
for context. They answer the questions AI tools ask
most often: what is this project, what are the
conventions, how do I add a feature, what should I
never do here. The structure matters as much as the
content.


What is coming in v2

Based on what developers have been asking for:

  • postgres as a first-class database option
  • Spring Security scaffold with JWT
  • More frontend options
  • CLI tool so you never need the website

Try it

Zovlyn — Full-Stack Project Generator

Generate a pre-wired Next.js + Spring Boot + PostgreSQL project in seconds. CORS handled. Docker ready. AGENTS.md included for AI coding tools.

favicon zvolyn.vercel.app

Generate a project right now. It takes 30 seconds.
Unzip it. Run it. Tell me what breaks.

I am genuinely looking for feedback from developers
who build with Spring Boot and Next.js. What is missing?
What is wrong? What would make this the tool you
reach for on every new project?

Drop a comment below !

If you have been building Spring Boot + Next.js projects
and have opinions on what a clean starter should include
— I want to hear them.

Top comments (0)