Skip to content
All articles

Software Architecture

Why I Mostly Use Vue for Personal Websites

I built this site with Next.js, yet I build most personal and company websites for clients with Vue. It may look like a contradiction; that's exactly why I wrote this post.

Fahrettin Baştürk5 min read

I built this site with Next.js. Personal and company websites, though, I mostly build with Vue. At first glance that may look like a contradiction; it's actually the reason for this post. Using Next up close made it clearer to me why I usually prefer Vue.

What does a personal site actually need?

A personal site or a small business site is mostly text: who you are, what you do, a few projects, a contact form. There's little interaction; a menu, maybe a filter, a form. Its job is to load fast, look right on Google and keep working without trouble for years.

For those needs, two things matter most: content arriving as plain HTML, and not sending the browser more JavaScript than necessary. On the Vue side you also need to render pages on the server or at build time for SEO; Nuxt is the best-known way to do that. The real difference shows up in how much load lands on the browser afterwards.

What I measured with Next

While optimizing this site I measured every page. Even on the simplest pages, about 145 KB (gzip) of the JavaScript sent to the browser was the React and Next.js core. The application's own code was small next to it. On top of that, the App Router embeds the page content in the HTML a second time as data, so the browser can bring components to life. On some pages that data was more than half of the HTML.

Some of this can be fixed; by cleaning up unnecessary props I brought the privacy page down from 108 KB to 12 KB. But the core itself stays. In a complex application that weight easily pays for itself with the routing and data handling it provides. On a site with a handful of pages, it often becomes structure that gets shipped but never used.

Why Vue feels more comfortable to me

Vue's runtime is smaller, and its templates stay very close to HTML. I can look at a template and immediately see what markup it becomes, which makes SEO details like heading hierarchy, semantic tags and alt text easier to check. Single-file components keep small projects tidy, and the reactivity system stays easy to follow without hook rules.

There's also maintenance. Personal sites are usually built once and then left alone for months. A setup with fewer moving parts is still understandable when you open it a year later.

When do I choose Next?

None of this means Next is bad. For products with many dynamic pages, user accounts, complex data flows and a larger team, the structure Next provides saves serious time. I'm keeping this site on Next too; it works well, and it gave me the chance to see this difference in numbers.

For me the question isn't which framework is more popular, but what the site really needs. For a personal site, the answer is usually "less".

Fahrettin Baştürk

Systems Architect & Software Consultant

Share
  • Vue
  • Next.js
  • Performance
  • SEO