A modern personal portfolio for Priyanshu Sharma, built with Next.js, React, TypeScript, Tailwind CSS, Redux Toolkit, and Framer Motion.
The site presents a frontend developer profile with animated sections for introduction, about, experience, skills, projects, social links, resume access, and contact.
- Responsive portfolio layout for desktop, tablet, and mobile screens.
- Animated page sections and UI elements using Framer Motion.
- App Router structure with reusable React components.
- Redux-powered UI state for mobile menu and language selection.
- English, Spanish, and Hindi content support.
- Project cards with live links, source links, screenshots, descriptions, and tech stacks.
- Custom Tailwind theme with portfolio colors, typography, and scrollbar styling.
- Optimized images through Next.js image configuration.
- Next.js 15
- React 19
- TypeScript
- Tailwind CSS
- Redux Toolkit
- React Redux
- Framer Motion
- Next Font
- Node.js 18.18 or newer
- npm
npm installnpm run devOpen http://localhost:3000 in your browser.
npm run build
npm run startnpm run devStarts the local development server.
npm run buildCreates an optimized production build.
npm run startRuns the production build locally.
npm run lintRuns the configured lint command.
public/
ProfilePicture.png
UserLogo.png
Wink.png
src/
app/
_lib/
features/
icons/
fonts.ts
store.ts
types.ts
globals.css
layout.tsx
page.tsx
StoreProvider.tsx
components/
AboutMe.tsx
ContactMe.tsx
Experience.tsx
Footer.tsx
Header.tsx
Introduction.tsx
Menu.tsx
ProjectCard.tsx
ProjectsSection.tsx
SkillsSection.tsx
SocialLinks.tsx
constants/
lists.ts
Most portfolio content is managed in src/constants/lists.ts.
- Update navigation labels in
headerLinks. - Update work history in
experienceList. - Update skill badge groups in
skillsList. - Update featured work in
projects. - Update the resume URL in
RESUME_LINK.
Profile images and logo assets live in public/.
Global styles are defined in src/app/globals.css, and the custom Tailwind theme is configured in tailwind.config.ts.
The app uses Google fonts loaded through next/font in src/app/_lib/fonts.ts.
Remote images are configured in next.config.ts for:
img.shields.ioraw.githubusercontent.comprivate-user-images.githubusercontent.com
Add additional domains there before using new remote image sources with next/image.
This project is ready to deploy on Vercel or any platform that supports Next.js.
For Vercel, connect the repository and use the default Next.js build settings:
npm run buildNo environment variables are required for the current portfolio content.