Skip to content

Latest commit

 

History

History
110 lines (76 loc) · 4.57 KB

File metadata and controls

110 lines (76 loc) · 4.57 KB

benjamin-chavez.com

benjamin-chavez.com application screenshot

A statically exported personal site and blog built with Next.js and deployed on AWS.


Tech Stack

Frameworks & Frontend

  • Next.js - React framework using the App Router and static export.
  • React - UI library for the site experience.
  • Tailwind CSS - Utility-first CSS framework for styling.
  • Headless UI - Accessible unstyled components for interactive UI.
  • MDX - Content format for blog posts and long-form pages.

Content & Build Tooling

  • remark and rehype - Markdown and HTML transforms for headings, code blocks, and metadata.
  • Shiki - Syntax highlighting for rendered code samples.
  • Satori and Sharp - OG image generation during the build.
  • pnpm - Package manager for the app and infrastructure packages.

Core & Validation

  • TypeScript - Static typing across the app and CDK infrastructure.
  • Zod - Runtime validation for client and build-time environment variables.
  • Node.js - JavaScript runtime environment (v24.x).

Infrastructure & Observability


CI/CD & Automation

GitHub Actions for build, Lighthouse audits, and deployment to AWS.

Workflow Trigger Purpose
CI Push/PR to master, manual dispatch Build, Lighthouse, and gated deploy flow

For the full pipeline, see the CI/CD documentation.


Deployment

Static export deployed to AWS (S3 + CloudFront) via CDK.

Environment URL
Production https://benjamin-chavez.com

For infrastructure details and CDK commands, see the INFRASTRUCTURE.md. For the first AWS deployment, use the initial deployment runbook and the checked-in helper script at scripts/initial-aws-deploy.sh.


Scripts

Command Description
pnpm dev Start the Next.js development server
pnpm run build Generate OG images and build the static export
pnpm run start Run the production server locally
pnpm run lint Run the Next.js lint command

For infrastructure commands (CDK synth, diff, deploy), see the INFRASTRUCTURE.md.


Getting Started

Requires Node.js v24+ and pnpm.

pnpm install
cp .env.example .env.local
pnpm dev

Roadmap

  • Enable Cloudflare Web Analytics (primary telemetry): set NEXT_PUBLIC_CF_ANALYTICS_TOKEN as a GitHub Actions repository variable. Covers visitors, page views, referrers, and Core Web Vitals.
  • Enable browser-side Sentry for error tracking: set NEXT_PUBLIC_SENTRY_DSN as a GitHub Actions repository variable.
  • CloudWatch RUM is scaffolded but deferred; Cloudflare Web Analytics now covers Web Vitals. Revisit only if AWS-native RUM becomes valuable (e.g., CloudWatch alarms on client errors, correlation with backend traces).