Portfolio Website
This site — a personal portfolio built with Next.js 15, React, and TypeScript, featuring a sunset-themed design system, responsive layout, and CSS animations.
Overview
This site is a personal portfolio built with Next.js 15, React, and TypeScript, deployed to Railway via GitHub Actions. It showcases projects, background, and contact information for Matthew Gentry, a software developer.
The design uses a custom dark-mode design system with a sunset/wild-west colour palette, responsive layout, and Tailwind CSS.
Tech Stack
- Next.js 15 / React — App Router with server components for zero-JS on most pages.
- TypeScript — full type safety across components and data utilities.
- Tailwind CSS — utility-first styling with custom design tokens.
- GitHub Actions — CI/CD pipeline that builds and deploys to Railway on every push to
main. - Railway — container-based hosting with automatic HTTPS and custom domain support.
Key Challenges
Design system from scratch: Building a coherent token-based design system without an existing framework required careful upfront planning. The sunset accent spectrum (orange, amber, gold, purple, magenta) needed to be balanced for both visual appeal and WCAG AA contrast compliance.
SEO and structured data: Implementing Open Graph tags, Twitter Card tags, a dynamic XML sitemap, and a Person JSON-LD schema with Next.js metadata API.
Outcomes
The site deploys automatically on every push to main. The CI/CD pipeline (GitHub Actions)
runs on every commit and gates deployment on a passing build.