Personal homepage built with modern web technologies and cloud-native DevOps practices. Live at kota.dog.
- Framework: Next.js 16 (App Router) with React 19 and TypeScript 6
- Styling: Tailwind CSS 4 (glassmorphism buttons, animated aurora ambient background)
- Icons: FontAwesome (CDN) + react-icons (Simple Icons)
- Accessibility: Keyboard focus rings,
prefers-reduced-motionsupport, ARIA-labelled icon links and dialog - Testing: Vitest + React Testing Library
- Build Caching: Turborepo
- Runtime: Node.js 24
This project demonstrates a production-grade CI/CD pipeline and a containerized AWS deployment:
- Containerization: Multi-stage Docker build producing a minimal Node.js Alpine image
- CI/CD: GitHub Actions pipelines leveraging reusable workflows from a shared cicd-toolkit
- Registry: Docker images published to GitHub Container Registry (GHCR), mirrored to Amazon ECR
- Hosting: AWS ECS Express (Fargate) service behind a shared ALB gateway, fronted by CloudFront (edge + ACM/TLS), in
us-east-1 - DNS: Cloudflare (DNS-only) —
kota.dog→ CloudFront distribution - Edge infra: AWS CDK (
infra/) deploys the CloudFront edge stack; seeinfra/README.aws.md - Releases: Automated semantic versioning and changelogs via semantic-release and conventional commits (enforced with commitlint)
npm install
npm run devOpen http://localhost:3000 — hot reloading is enabled.
npm run build
npm run servenpm run test # Run tests
npm run lint # Lint the codebase