A full-stack developer portfolio built with Next.js and TypeScript.
Live website · GitHub · Contact
English · Русский
This repository contains my personal portfolio: an editorial-style homepage, a filterable project archive, individual case studies, and a project enquiry flow.
- Responsive dark and light themes
- Project archive synchronized with the GitHub API
- Static case-study pages generated with Next.js
- Contact form powered by Resend, with validation and Upstash rate limiting
- Privacy controls, reduced-motion support, and mobile-first layouts
Next.js · React · TypeScript · Tailwind CSS · Resend · Upstash Redis
Requires Node.js 20+ and npm.
git clone https://github.com/helliong/Portfolio-next.git
cd Portfolio-next
npm install
npm run devOpen localhost:3000.
Create .env.local to enable the contact form:
RESEND_API_KEY=re_your_api_key
UPSTASH_REDIS_REST_URL=https://your-database.upstash.io
UPSTASH_REDIS_REST_TOKEN=your_upstash_token| Command | Purpose |
|---|---|
npm run dev |
Start the development server |
npm run build |
Create a production build |
npm run start |
Run the production server |
npm run generate:projects |
Refresh project data from GitHub |
The project generator uses repository topics to classify entries: portfolio-web, portfolio-app, or portfolio-tool. Add portfolio-hidden to exclude a repository. Private portfolio entries require GITHUB_TOKEN and the commercial topic.
Built with attention to structure, performance, and detail.