Personal Portfolio
Multilingual personal portfolio showcasing projects and professional profile, self-hosted with automated CI/CD.
- Role
- Independent Developer
- Period
- Sep 2025 – Present
- Team
- Solo project
Approach
- Built a multilingual portfolio (EN/VI) with Next.js, TypeScript, Tailwind CSS, next-intl, and Framer Motion.
- Deployed on a VPS with Docker Compose (Next.js standalone + Nginx HTTPS reverse proxy) and Watchtower auto-updates from Docker Hub.
- Automated CI/CD via GitHub Actions (lint, type-check, image build/push) with Telegram alerts for deploys and contact form submissions.
Stack
- Next.js
- TypeScript
- Docker
- Nginx
- GitHub Actions
- Telegram