Ongoing

Personal Portfolio: jasonlo.dev

Designer & Vibe Coder · 2026 · 1 day · 1 person · 1 min read · Updated · jasonlo.dev (opens in new tab)

Rebuilt my personal portfolio with a focus on engineering clarity and thoughtful design.

Claude CodeBunAstroMDXTypeScriptGitHub Actions

Overview

A personal portfolio built around project narratives — documenting decisions, trade-offs, and outcomes.

Problem

Most portfolios emphasize visual polish but rarely explain the reasoning, constraints, and trade-offs behind technical decisions.

Approach

Built with Astro SSG and MDX content collections, structured as case studies following a problem → decisions → impact narrative.

Constraints

  • Fast static site with zero client-side JavaScript by default
  • Simple, Markdown-based content workflow

Key Decisions

OpenAlex integration

Automatically sync publications using a reliable API with a permissive CC0 license.

Alternatives: arXivORCIDGoogle Scholar

Case-study narrative structure

A problem → decisions → impact format communicates engineering thinking more effectively than a gallery of screenshots.

Astro

Modern static-first architecture with zero JavaScript by default. Fast, maintainable, and visually polished.

Alternatives: Next.jsGatsbyHugoJekyll

MDX content collections with Zod schemas

Type-safe frontmatter validation catches errors at build time and enforces consistency across content types.

Alternatives: Markdown with manual validationCMS-backed content

Result & Impact

  • <1s
    Build Time

A reflection on my personal growth.

Learnings

  • AI-assisted development can significantly accelerate frontend implementation.
  • Documenting personal growth is more rewarding than expected.