A polished, responsive personal portfolio for Mohd Zaheer Uddin, a Computer Science undergraduate focused on Machine Learning and Data Science.
The current site is a Next.js App Router application with a calm, Luma-inspired interface, responsive layouts, light/dark themes, an interactive terminal, GitHub activity, motion, and accessible interaction states.
MyPortfolio/
├── .github/
│ ├── CODEOWNERS
│ ├── dependabot.yml
│ ├── ISSUE_TEMPLATE/
│ │ ├── bug_report.md
│ │ └── feature_request.md
│ ├── pull_request_template.md
│ └── workflows/
│ └── next-build.yml
├── app/
│ ├── api/github-contributions/
│ ├── privacy/
│ ├── resume/
│ ├── terms/
│ ├── ClickSound.tsx
│ ├── ThemeEnhancer.tsx
│ ├── enhancements.css
│ ├── globals.css
│ ├── interaction-fixes.css
│ ├── layout.tsx
│ ├── not-found.tsx
│ └── page.tsx
├── docs/
│ ├── architecture.md
│ ├── development.md
│ └── project-structure.md
├── public/
│ └── static assets and icons
├── CONTRIBUTING.md
├── CODE_OF_CONDUCT.md
├── LICENSE
├── SECURITY.md
├── README.md
├── next.config.ts
├── package.json
└── tsconfig.json
See docs/project-structure.md for a more detailed map.
npm install
npm run dev
Open the local development URL shown by Next.js.
npm run typecheck
npm run build
npm start
More development guidance is in docs/development.md.
The UI follows a restrained open-source-product aesthetic: strong typography, rounded geometry, subtle elevation, generous spacing, clear focus states, and motion that supports hierarchy instead of competing with content.
The implementation is intentionally lightweight rather than depending on a large component framework. Phosphor Icons and Motion are used where they add clear value.
| Layer | Technology |
|---|---|
| Framework | Next.js 16 / App Router |
| UI | React 19 + TypeScript |
| Motion | Motion for React |
| Icons | Phosphor Icons |
| Styling | CSS modules/global CSS + custom design tokens |
| Deployment | Vercel |
| CI | GitHub Actions |
The repository includes contribution, security, code-of-conduct, ownership, issue-template, dependency-update, and pull-request guidance.
Do not commit secrets, API keys, local environment files, build output, or generated dependency directories.
This is a personal portfolio, but thoughtful fixes and suggestions are welcome. Please read CONTRIBUTING.md before opening a pull request.
For security-sensitive reports, follow SECURITY.md instead of opening a public issue.
Released under the MIT License. See LICENSE.
Built with care by Mohd Zaheer Uddin.
The “Live analytics” section counts page views (today / this month) and unique visitors, with a 30-day graph. Counts are stored in Upstash Redis: add the Upstash Redis integration to the Vercel project (it provides KV_REST_API_URL and KV_REST_API_TOKEN). Visit the site once with ?notrack to exclude your own browser; use ?track to opt back in.