Skip to main content
Caspian Almerud
TECHNICALOngoing

Personal Portfolio + CMS

Caspian Almerud portrait
Caspian Almerud
Designer & Full-Stack Developer · Stockholm, Sweden
Published

A living portfolio built with Next.js, Tailwind, MongoDB, and a private CMS for projects, writing, videos, CV entries, and application assets.

Project outcomes

Problem

A static portfolio would go stale, but a generic CMS would not fit the way projects, writing, videos, CV data, and application materials needed to work together.

Outcome

Built a personal publishing and career operating system with project, blog, video, timeline, and application content managed through a private CMS.

Metrics

Content types
Projects, posts, videos, CV
Quality layer
Vitest + Playwright
Stack
Next.js + MongoDB + MDX
Role

Designer & Full-Stack Developer

Category

Publishing System

Skills
Next.jsReactTypeScriptCMS ArchitectureTestingContent Systems
Tools
Next.jsTailwind CSSMongoDBMongooseMDXVitestPlaywright

The challenge

A portfolio can easily become either a static brochure or an overbuilt personal CMS. I wanted something different: a site that could present finished work clearly, evolve over time, and support real operational needs like publishing, project case studies, writing, videos, CV updates, and application-specific materials.

The site needed to feel personal and visually distinct while still being maintainable, testable, and useful as an ongoing publishing system.

What I built

I built the portfolio as a Next.js 15 application with React, TypeScript, Tailwind, MongoDB-backed content models, and private CMS routes. The site includes public pages for projects, blog posts, videos, CV timeline, contact, privacy, and application-specific pages.

The CMS supports:

  • Project entries with skills, tools, links, summaries, and MDX content
  • Blog posts with tags, categories, SEO fields, and MDX content
  • Video entries with related content linking
  • Timeline entries for CV/work history
  • API-key authenticated CRUD endpoints
  • On-demand revalidation
  • Admin editing surfaces

The project also includes testing and operational tooling: Vitest unit tests, Playwright e2e tests, deployment scripts, SEO utilities, resume/application tooling, and database seed scripts.

Result

The portfolio is not just a public website. It is a personal publishing and career operating system. It gives me one place to present work, write, publish video content, maintain CV data, and create richer job-application materials.

This case positions the site as a practical example of building your own tools when off-the-shelf systems are either too rigid or too generic.

Proof points

  • Project index and case-study pages
  • Blog/video publishing model
  • Admin CMS forms
  • CV timeline
  • MongoDB models and CMS API structure
  • Testing/deployment setup