A modern, responsive portfolio website built with React, TypeScript, and Tailwind CSS. Features an interactive project showcase, skills visualization, CLI-style resume, and smooth animations.
π Live Demo: https://satya00089.github.io/portfolio
Free, modern developer portfolio template with:
- CLI-style resume
- Animated skill visualizations
- Dark/light theme
- Markdown-powered project content
- Interactive Portfolio: Showcase your projects with modal views and detailed descriptions
- Dynamic Resume: Interactive resume page with print functionality
- CLI Resume: Terminal-style resume interface for a unique user experience
- Skills Visualization: Circular progress bars and interactive skill displays
- Theme Support: Dark/Light theme toggle with smooth transitions
- Smooth Animations: Powered by Framer Motion for engaging UI interactions
- Markdown Support: Project descriptions rendered with GitHub-flavored markdown
- Contact Form: Interactive contact form for visitor inquiries
- Responsive Design: Fully responsive across all device sizes
- Scroll Enhancements: Progress bar and scroll-to-top functionality
This repository is intended to be a ready-to-customize portfolio template. There are two easy ways to get started:
- On the GitHub page for this repo click the "Use this template" button
- Create a new repository under your account
- Clone your new repo locally and follow the quick-start checklist below
git clone https://github.com/satya00089/portfolio.git my-portfolio
cd my-portfolio
npm install
npm run devQuick start (do these first)
- Open
src/config/portfolioData.tsand replace the sample data with your name, bio, links, and projects β this is the single most important file to customize. - Replace social/profile links and contact details.
- Update or remove example projects (the
projectsarray) and add your screenshots or links. - (Optional) Add preview images in
public/namedpreview-home.png,preview-projects.png,preview-cli.pngso the GitHub template page renders them. - If you plan to deploy to GitHub Pages, update
package.json->homepageandvite.config.ts->base.
Why src/config/portfolioData.ts?
All site content (projects, skills, education, experience, and basic profile info) is driven by src/config/portfolioData.ts. Editing that file is the fastest way to make this site yours.
- React 19 - UI framework
- TypeScript - Type safety and better developer experience
- Vite - Fast build tool and dev server
- React Router DOM - Client-side routing
- Tailwind CSS 4 - Utility-first CSS framework
- Framer Motion - Animation library
- Lucide React - Icon library
- React Icons - Additional icon sets
- React Markdown - Markdown rendering
- React Circular Progressbar - Skill visualization
- React Scroll - Smooth scrolling functionality
- GitHub Markdown CSS - GitHub-style markdown styling
src/
βββ components/ # Reusable UI components
β βββ shared/ # Shared components (Header, Footer, etc.)
β βββ resume/ # Resume-specific components
βββ pages/ # Page components
β βββ PortfolioPage.tsx
β βββ ResumePage.tsx
βββ config/ # Configuration files
β βββ portfolioData.ts
βββ context/ # React contexts (Theme)
βββ types/ # TypeScript type definitions
βββ assets/ # Static assets
- Node.js (v18 or higher)
- npm or yarn package manager
- Clone the repository:
git clone https://github.com/satya00089/portfolio.git
cd portfolio- Install dependencies:
npm install- Start the development server:
npm run dev- Open your browser and navigate to
http://localhost:5173
npm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production build locallynpm run lint- Run ESLintnpm run deploy- Deploy to GitHub Pages
Edit src/config/portfolioData.ts to customize:
- Personal information
- Projects
- Skills
- Experience
- Education
Theme configuration is managed through src/context/ThemeContext.ts and src/components/ThemeProvider.tsx.
Tailwind configuration can be modified in tailwind.config.js.
This project is configured for deployment to GitHub Pages:
- Update the
homepagefield inpackage.jsonwith your GitHub Pages URL - Update the
basefield invite.config.tsto match your repository name - Run the deployment command:
npm run deployThis project is open source and available under the MIT License.
Satya Subudhi
- GitHub: @satya00089
- Email: satyasubudhi089@gmail.com
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
Built with β€οΈ using React + TypeScript + Vite

