Paula Klimas
← Portfolio

Personal Website

This site is built on Next.js 15 using the App Router, TypeScript, and a markdown-driven content system. Posts and pages are authored in markdown with YAML frontmatter for metadata (title, date, status, categories, tags), parsed with gray-matter, and rendered with remark.

Architecture

Content lives in src/content/posts/ and src/content/pages/ — each file is a self-contained markdown document. A module-level in-memory cache in src/lib/content.ts indexes all frontmatter on startup and reads full content on demand, keeping the server fast without a database.

Styling is handled through CSS Modules for scoped, collision-free styles. The Inter font is loaded via next/font for performance. The site generates fully static output — every page is prerendered at build time.

Design Goals

It’s a simple site by design. I wanted something lightweight and content-first that I could extend without fighting a CMS. The portfolio section (what you’re reading now) is built as a separate route with its own layout, designed to support embedded apps, visualizations, and rich media as the content grows.

The site is live at paulaklimas.com and serves as both a writing outlet and a working demonstration of my frontend architecture choices.