This is the source for my 2018 portfolio.
I built this site with Vue.js, using the Nuxt.js framework. It is a single static, server side-rendered page.
# install dependencies
$ npm install
# serve with hot reload at localhost:3000
$ npm run dev
# build for production and launch server
$ npm run build
$ npm start
# generate static project
$ npm run generate
For detailed explanation on how things work, checkout Nuxt.js docs.