Software Engineer · Gen AI Developer · Full-Stack Engineer
A modern, responsive developer portfolio built with Next.js App Router, featuring entity SEO, dynamic content, and Knowledge Graph signals.
Portfolio and Entity Home Page for Aryan Kumar (aryanjsx) — Software Engineer at LTIMindtree, Gen AI & DevOps enthusiast, creator of npm and PyPI packages. Built with Next.js 16 (App Router), React 19, and TypeScript, optimized for performance, search, and identity discovery.
| Layer | Technologies |
|---|---|
| Framework | Next.js 16 (App Router), React 19, TypeScript |
| Styling | CSS Modules, Styled Components, Google Sans fonts |
| Animations | React Awesome Reveal |
| Icons | Iconify, React Icons |
| Testing | Jest 30, React Testing Library |
| Tooling | ESLint 9, next-sitemap |
| Deployment | Vercel (with serverless sitemap API) |
| SEO | JSON-LD, Open Graph, Twitter Cards, Sitemaps |
| Feature | Description |
|---|---|
| Themes | Dark & light mode with smooth transitions and localStorage persistence |
| Splash | Custom animated splash screen on first visit |
| Responsive | Mobile-first, works on all devices |
| Animations | Scroll reveals and page transitions |
| Typewriter | Rotating role titles on the hero section |
- Home — Hero with typewriter effect, auto-calculated stats (experience, projects, technologies), skills, and call-to-action
- Education — Degrees timeline and certifications with verification links
- Experience — Work history with filter tabs (All / Internships / Jobs) and auto-calculated durations
- Projects — Repos with tech tags, links, and dynamic project pages (
/projects/[slug]) - Developer — GitHub activity, npm & PyPI packages, technical writing, and currently building
- Contact — Social links, availability, and blog
- Entity Home Page (
/entity.html) — Central hub for the aryanjsx identity - Image Ownership (
/image-ownership.html) — Media verification page - JSON-LD — Person, WebSite structured data
- Sitemaps — Auto-generated pages sitemap + image sitemap via next-sitemap
- Meta — Open Graph, Twitter Cards, canonical URLs,
rel="me"links - Brand SEO — Hidden semantic markup for search engine identity signals
aryanjsx-Portfolio/
├── app/ # Next.js App Router pages
│ ├── layout.js # Root layout with metadata, fonts, JSON-LD
│ ├── page.js # Home page
│ ├── Providers.js # Theme + styled-components providers
│ ├── contact/ # Contact page
│ ├── developer/ # Developer page (GitHub, npm, blog)
│ ├── education/ # Education page
│ ├── experience/ # Experience page
│ └── projects/ # Projects page + dynamic [slug] routes
├── src/
│ ├── assets/ # SVG illustrations
│ ├── components/ # Reusable components (Header, Footer, SEO, UI)
│ ├── containers/ # Page sections (Greeting, Skills)
│ ├── context/ # ThemeContext provider
│ ├── data/ # Content data files (experience, projects, skills, etc.)
│ ├── styles/ # Global CSS and page-specific styles
│ ├── types/ # TypeScript type definitions
│ └── utils/ # Utility functions (structured data, sorting, styles)
├── api/
│ └── sitemap.js # Vercel serverless sitemap endpoint
├── public/ # Static assets (fonts, images, PDFs, sitemaps)
├── next.config.js # Next.js configuration
├── next-sitemap.config.js # Sitemap generation config
├── jest.config.js # Jest test configuration
├── tsconfig.json # TypeScript configuration
├── vercel.json # Vercel config: security headers
└── package.json
Prerequisites: Node.js >= 20, npm >= 8
git clone https://github.com/aryanjsx/aryanjsx-Portfolio.git
cd aryanjsx-Portfolio
npm install
npm run devRuns at http://localhost:3000.
Production build:
npm run build
npm start| Script | Description |
|---|---|
npm run dev |
Development server with hot reload |
npm run build |
Production build (auto-generates sitemap via postbuild) |
npm start |
Start production server |
npm run lint |
Run ESLint |
npm run lint:fix |
Auto-fix lint issues |
npm test |
Run tests |
npm run test:ci |
Run tests with coverage (CI mode) |
npm run analyze |
Bundle analysis |
- Content data: Edit files in
src/data/— experience, projects, skills, education, greeting, contact, etc. - Themes: Edit
src/context/ThemeContext.jsfor dark/light color definitions. - SEO metadata: Edit
app/layout.jsfor global metadata, or individualpage.jsfiles for per-page metadata usinggeneratePageMetadata. - Structured data: Edit
src/utils/structuredData.jsfor JSON-LD schemas. - Entity/Ownership: Update
public/entity.htmlandpublic/image-ownership.htmlfor identity URLs or image lists.
Deployed on Vercel. The vercel.json configures:
- Security headers (HSTS, CSP, X-Frame-Options)
- Serverless sitemap endpoint at
/api/sitemap
Aryan Kumar (aryanjsx) · aryankr.in