/next-portfolio

A portoflio website to showcase your software projects. Built with NextJS + TypeScript + Sanity Headless CMS

Primary LanguageTypeScript

Next Portfolio

A software portfolio following the Jamstack architecture, statically built using NextJS with content managed through the headless Sanity CMS.

Want to host your own portfolio using this template? Click the button below and get started in minutes to deploy your website on Vercel!

Create your portfolio using this template

Homepage of my portfolio

Features

  • Light and dark mode depending on system preferences
  • Responsive design
  • Images are optimized using the @next/image component
  • Fully customizable text and content through Sanity CMS
  • SEO friendly projects and pages
  • Social image generator for projects
  • Easy contact form setup using Formspree
  • Set up redirects from Sanity studio

Get started

One-click deploy (Recommended way)

Quickly and easily deploy your own portfolio by pressing the link below:

Create your portfolio using this template

It will create a new Sanity project, deploy the website to Vercel, and set up all the environment variables for you! It will then load your website with placeholder content for you to change as you wish.

Local development

  1. Install the Sanity CLI globally: yarn global add sanity@latest
  2. Clone the repo and run yarn install. This will install both template and Sanity dependencies
  3. Make a copy of the .env.local.example, and set the environment variables
  4. cd sanity and sanity init to create a new Sanity project (use default settings)
  5. Optional but highly recommended: Load some sample content to Sanity:
cd sanity
sanity dataset import ../.sanity-template/data/production.tar.gz
# When prompted to select a dataset, select the existing "production" dataset
  1. While you're in the sanity folder, run the Sanity studio: yarn dev. It will be available at http://localhost:3333
  2. In a new terminal window navigate back to the root directory and create a .env.local file with the following content:
    • You can find the Sanity project ID in sanity/sanity.config.ts or by visiting the Sanity Manage page, select your project and it will be displayed near the top
SANITY_STUDIO_PROJECT_ID=your_sanity_id_here
  1. Run npm run dev. The portfolio will be available at http://localhost:3000