Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
Open-source Nuxt 3 portfolio template using Pinia and Contentful, with light/dark modes, Google Analytics, and one-click Vercel deploy.

Portfolio library replicating the GitHub UI, built with Next.js, TypeScript, and Tailwind CSS.
Nuxt 3 Minimal Portfolio is an open-source portfolio template built with Nuxt 3, Pinia, and Contentful that lets developers stand up a personal portfolio site with content managed through a headless CMS and deploy to Vercel in one click.
Nuxt 3 Minimal Portfolio is a free, open-source template for personal portfolio websites. It takes project content stored in Contentful — a headless CMS — and renders it as a responsive Nuxt 3 site with light/dark/system color modes, Google Analytics tracking, and an auto-generated sitemap at /sitemap.xml. The template is maintained by srestraj, and the live demo runs at rajkshrestha1.com.np.
GOOGLE_ANALYTICS_ID environment variable to enable traffic tracking.Nuxt 3 Minimal Portfolio is aimed at developers and creatives who want a lightweight personal portfolio without building from scratch. It is especially suited for those already using Contentful as their CMS, since the template expects a Contentful space with a 'Projects' content model. Freelancers and job seekers can use it to showcase projects with minimal setup, and Nuxt/Vue developers can use it as a starter to customize components and behavior.
The setup flow is described in the README: create a Contentful account and space, define a 'Projects' content model with the required fields, add content, generate a delivery access token, and set the environment variables BASE_URL, DOMAIN, CTF_SPACE_ID, CTF_ACCESS_TOKEN, and an optional GOOGLE_ANALYTICS_ID. After that, you can deploy to Vercel or run locally using yarn, npm, or pnpm to install dependencies.
Yes, the template is open-source and free to use. You only pay for any services you choose, such as Contentful or Vercel, both of which offer free tiers.
The README lists BASE_URL, DOMAIN, CTF_SPACE_ID, CTF_ACCESS_TOKEN, and GOOGLE_ANALYTICS_ID. BASE_URL and DOMAIN should be your site URL without a trailing slash, CTF_SPACE_ID and CTF_ACCESS_TOKEN come from your Contentful space, and GOOGLE_ANALYTICS_ID is optional.
Yes. The template fetches project content from Contentful, so you must create a Contentful space, define a 'Projects' content model, add fields, and generate a delivery access token before the site will show any projects.
The README includes a one-click Deploy button that clones the repository and prompts for the required environment variables. If you deploy manually, you need to set the build and development commands and include your environment variables in Vercel's project settings.
