← Back to Projects

This Website

Ongoing Development
NuxtVue.jsTailwind CSSTypeScript

About the Project

This site is my portfolio: a showcase for the projects I build and the stack I work in. It started life as a Vue + Vue Router single-page app and was later migrated to Nuxt for server-side rendering, better SEO and file-based routing — so this very page is part of the project it describes.

Key Features

Architecture

  • File-based routing through the pages directory
  • Composables for typed, shared project data
  • Reusable ProjectCard, ProjectStatus and ProjectBadge components

Presentation

  • Responsive layout for all screen sizes
  • Tailwind CSS for rapid styling
  • Dark mode support inherited from the base stylesheet

Architecture & Structure

Original Stack

  • Vue with the Composition API
  • Vue Router for manual routing
  • Vite as build tool
  • Project data in a JSON file

Migration to Nuxt

  • Vue Router replaced by file-based routing
  • JSON data converted to typed composables
  • Layouts and dedicated project pages added

Current Structure

  • pages/ for routes
  • components/ for shared UI
  • composables/ for shared logic and data
  • assets/ for styles
Meta: This very page you're reading is part of the project it describes — a recursive portfolio that documents itself.