This repository contains the source code for my personal portfolio website, a modern and performant platform built to showcase my projects, papers, and blog posts.
This portfolio is more than just a static website. It's a dynamic, content-driven platform built with a modern tech stack, focusing on performance, scalability, and a great user experience. The entire system is designed to be easily maintainable, with content managed through simple Markdown files.
- 📝 Markdown-Based Content: All projects, papers, and blog posts are managed via Markdown files. Adding new content is as simple as adding a new
.md
file. - ⚡️ Blazing Fast with Vite: Built with Vite for near-instant server start and hot module replacement (HMR).
- 💪 Statically Typed with TypeScript: The entire codebase is written in TypeScript for improved developer experience and code quality.
- 🎨 Styled with Tailwind CSS: Utility-first CSS framework for rapid UI development and responsive design.
- 📱 Fully Responsive: A mobile-first design that looks great on all devices, from small phones to large desktops.
- ☀️ Light & Dark Mode: A user-toggleable theme that respects system preferences and is saved in local storage.
- 🔍 Advanced Filtering & Search: Easily filter content by category, tags, status, and search terms across the site.
- 💬 Giscus Comment System: Integrated with GitHub Discussions for a seamless commenting experience on blog posts.
- 📦 Optimized for Performance: Route-based code splitting with manual chunk optimization ensures fast initial load times.
This project is built with a variety of modern technologies:
- Frontend Framework: React
- Build Tool: Vite
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: Shadcn/UI, Radix UI
- Routing: React Router
- Icons: Lucide React
- Content Parsing: gray-matter, marked
- Comments: Giscus
- Deployment: GitHub Pages
To get a local copy up and running, follow these simple steps.
Make sure you have Node.js and npm installed on your machine.
- Clone the repo
git clone https://github.com/prashantgpt91/prashantgpt91.github.io.git
- Navigate to the project directory
cd prashantgpt91.github.io
- Install NPM packages
npm install
- Run the development server
Your local instance should now be running at
npm run dev
http://localhost:5173
.
To deploy the website to GitHub Pages, simply run the following command. This will build the project and push it to the gh-pages
branch.
npm run deploy
A very special thank you to the team at Windsurf, my AI pair-programming partner, Cascade. Their powerful agentic AI coding assistance was instrumental in developing, debugging, and optimizing this portfolio. The collaboration made the development process faster, more efficient, and significantly more enjoyable.