Why I Chose Astro for My Lightweight Portfolio Site Over Next.js and Nuxt

The author explains why Astro was selected for a personal portfolio site, highlighting its content-driven approach, minimal JavaScript, Content Collections for Markdown, and how it complements an existing blog without adding complex application overhead.

Code of Duty
Code of Duty
Code of Duty
Why I Chose Astro for My Lightweight Portfolio Site Over Next.js and Nuxt

My Approach

After comparing Astro, Next.js, and Nuxt in a previous article, the author focuses on their specific project needs: a lightweight entry point for a personal portfolio that complements an existing blog. The goal is not a complex web application but a simple site to aggregate blog posts, WeChat articles, GitHub projects, and article series.

Requirements

A clear homepage that explains what "Code of Duty" is, what the author writes, and the relationship between the site, blog, and WeChat account.

An article entry point to curate and navigate existing content (including a Git series) rather than replicate a blog system.

A project entry point showcasing engineering practices like the blog deployment, server security, Docker and Nginx configurations.

Simple deployment using existing server, global Nginx, and HTTPS; preferably static deployment without new databases, backends, or complex runtimes.

Enhanced maintainability via Markdown, configuration files, or content collections so that adding articles, project cards, and series entries remains easy.

Evaluating Frameworks Against Requirements

Next.js is mature with a large React ecosystem, suitable for full applications with login, admin, user data, complex APIs, permissions, and dynamic content. However, the portfolio's first version needs none of these. Choosing Next.js would shift focus to server components, data fetching, caching, APIs, and deployment modes — valid concerns but low priority now.
Nuxt works well for personal sites, especially if the primary stack is Vue or there are existing Vue components. It can handle content sites, static sites, SSR, and full applications. Yet the portfolio's core is organizing existing content, not demonstrating Vue expertise. Nuxt is capable but not the best fit for the current goal.
Astro targets content-driven websites (blogs, documentation, portfolios), minimizes client-side JavaScript by default, and provides Content Collections to organize Markdown content. The portfolio's pages — homepage, article index, project showcase, about — are essentially content display. Interactive elements (mobile menu, project filtering, theme toggle) can be added later as isolated enhancements.

Decision

The author chooses Astro for the first version because it aligns with the role in their architecture: the blog remains the primary content hub, WeChat handles continuous reach, GitHub provides code evidence, and the Astro portfolio site lightly aggregates these entry points. It does not replace the blog or WeChat.

Key Takeaways

The conclusion is not "personal sites should use Astro" but "my lightweight portfolio, at this stage, fits Astro." The author suggests four questions for anyone building a personal site:

Is the site mainly content display or a complex application?

Are you more familiar with React or Vue?

Does the first version truly need a backend, login, comments, and search?

Will the site require long-term maintenance?

The priority for a first version is helping visitors quickly understand who you are, what you've written, what you've built, and where to learn more. Astro's value lies in not diverting effort from the main blog and avoiding premature complex application development.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Next.jsNuxtMarkdownframework selectionAstrostatic site generationportfolio sitecontent-driven
Code of Duty
Written by

Code of Duty

"Code of Duty" — Every line of code has its own mission. We avoid shortcuts and quick fixes, focusing on authentic coding reflections and the joys and challenges of technical growth. The journey of learning matters more than any destination. Join us as we humbly forge ahead in the world of code.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.