Skip to content

Repository files navigation

Patorsiang Portfolio Platform 2026

The 2026 Portfolio Platform is a modern, monorepo-based system for Napatchol Thaipanich (patorsiang). It serves as a unified hub for professional identity, role-targeted CV generation, and experimental projects.

Architecture Overview

The platform is built as a high-performance monorepo using Bun and Next.js. It separates content from presentation and logic, enabling role-specific views and automated exports.

Repository Structure

.
├── apps/
│   └── portfolio-web/    # Main Next.js portfolio application (2026 version)
├── packages/
│   ├── content/          # Structured profile, project, and CV data (Zod/JSON)
│   ├── cv-engine/        # Role-targeted CV logic (filtering, ranking, formatting)
│   ├── ui/               # Shared design system components
│   ├── configs/          # Shared configuration presets (ESLint, Prettier, TS)
│   └── utils/            # Shared utility helpers
├── docs/                 # Architecture, requirements, and design decisions
└── infra/                # Infrastructure and deployment configurations

Getting Started

Prerequisites

  • Bun (latest version)

Installation

bun install

Development Commands

Command Description
bun run dev Start the main portfolio app in development mode
bun run dev:portfolio Alias for bun run dev

Build & Quality

Command Description
bun run build Alias for bun run build:portfolio
bun run build:portfolio Build the main Next.js portfolio
bun run lint Run ESLint across the workspace
bun run typecheck Run TypeScript compiler checks
bun run format:check Check file formatting with Prettier

Core Packages

@patorsiang/content

Contains the "source of truth" for the portfolio. Data is stored as JSON and validated via Zod schemas to ensure consistency across different applications and CV versions.

@patorsiang/cv-engine

A specialized engine that generates role-targeted CVs. It handles:

  • Filtering: Selecting relevant experiences and projects based on a targeted role.
  • Ranking: Prioritizing skills and highlights.
  • Exporting: Providing normalized data for Web, JSON, and Markdown formats.

Legacy Portfolio Policy

The previous production portfolio (legacy-v1) was removed from the tree on 2026-09-26, after its GitHub Pages deployment had already been decommissioned. Its last state is preserved at the legacy-v1-final tag:

git worktree add ../legacy-v1 legacy-v1-final   # browse it outside this tree, never re-staged

Environment & Secrets

  • Do not commit real .env files.
  • Use .env.example as a template for local development.
  • Browser-safe variables must be prefixed with NEXT_PUBLIC_.
  • Private secrets belong in Vercel Project Settings or GitHub Actions Secrets.

Deployment

The platform is configured for continuous deployment to Vercel via GitHub Actions.

  • Pushing to main triggers a production deployment of portfolio-web.

Deployment Status

  • Production: Active — https://patstudio.vercel.app

See Vercel Deployment Details for project settings and environment configuration.

Workflow Notes

  • Always run bun run typecheck before pushing changes.
  • Ensure bun run lint passes to maintain codebase standards.
  • Documentation for specific features can be found in the docs/ directory.

About

Portfolio platform and CV engine — a Bun/Next.js monorepo that generates role-specific CVs from a single content source.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages