My personal website and blog — built with Next.js, MDX, and Tailwind CSS, deployed to AWS via S3 + CloudFront.
- Home — landing page with bio, contact info, and a fun hover animation
- About — academic and professional background
- Research — publications and research work (cybersecurity & blockchain)
- Blog — posts written in MDX with syntax highlighting via Shiki
- Framework: Next.js 15 (App Router) + React 19
- Content: MDX with
next-mdx-remote,rehype-pretty-code, andrehype-slug - Styling: Tailwind CSS +
@tailwindcss/typography - Deployment: GitHub Actions → S3 + CloudFront cache invalidation
pnpm install
pnpm devOpen http://localhost:3000 to view it locally.
pnpm new-post "My New Blog Post"This creates a new MDX file in src/content/blog/ with the title slugified as the filename
and today's date in the frontmatter.
Pushes to main automatically trigger a build and deploy via GitHub Actions — the workflow builds the site, syncs to S3, and invalidates the CloudFront distribution.