Skip to content

Chaitanya1436/Portfolio

Repository files navigation

🌐 Portfolio

A modern Full-Stack Portfolio Website showcasing work as a Full Stack Developer and AI/ML Engineer.
Deployed on GitHub Pages: πŸ‘‰ Wanna See Live? Click hereβœ”οΈ


πŸŽ₯ Demo

GIF


πŸ› οΈ Tech Stack

React Vite TypeScript TailwindCSS Framer Motion Express.js GitHub Pages


πŸ“– Overview

This is a dark-themed, animated portfolio built with modern full-stack technologies, featuring personal info, projects, skills, and contact sections.
The application follows best practices with React, Express, TypeScript, and cutting-edge UI/UX design.

πŸ–ΌοΈ Frontend Architecture

  • βš›οΈ Framework: React 18 + TypeScript with Vite
  • 🎨 Styling: TailwindCSS + custom CSS variables (dark theme)
  • 🧩 UI Components: Radix UI primitives + shadcn/ui library
  • 🎞️ Animations: Framer Motion for smooth transitions and scroll effects
  • πŸ—ΊοΈ Routing: Wouter for lightweight client-side routing
  • πŸ“Š State Management: TanStack Query (React Query)
  • πŸ“‚ Component Structure: Modular, section-based (Hero, Projects, Skills, Contact)

βš™οΈ Backend Architecture

  • πŸš€ Framework: Express.js + TypeScript (ESM mode)
  • πŸ”₯ Development Server: Custom Vite + HMR
  • 🌐 API Design: RESTful (/api/* endpoints)
  • πŸ›‘ Error Handling: Centralized middleware with structured responses
  • πŸ“¦ Static Serving: Vite serves assets in dev, compiled files in production

πŸ› οΈ Development & Build Pipeline

  • ⚑ Build: Vite (frontend), esbuild (backend)
  • πŸ§‘β€πŸ’» Development: Concurrent frontend/backend with tsx for TypeScript execution
  • 🌍 Environment: Separate configs for dev & prod
  • πŸ–ΌοΈ Asset Management: Vite handles imports with alias resolution

🎨 UI/UX Design Patterns

  • πŸ–ŒοΈ Design System: Dark theme + purple accents
  • πŸ“± Responsive Design: Mobile-first with Tailwind utilities
  • ✨ Animations: Scroll-triggered effects, custom cursor, smooth transitions
  • 🧩 Component Library: shadcn/ui for consistency
  • β™Ώ Accessibility: Radix UI ensures ARIA compliance + keyboard navigation

πŸ“‚ Project Structure

πŸ“‚ Project Structure

PORTFOLIO
β”‚
β”œβ”€β”€ client
β”‚   β”œβ”€β”€ index.html 
β”‚   β”œβ”€β”€ public
β”‚   β”‚   └── my_images
β”‚   └── src
β”‚       β”œβ”€β”€ components
β”‚       β”‚   β”œβ”€β”€ AnimatedBackground.tsx
β”‚       β”‚   β”œβ”€β”€ CertificatesSection.tsx
β”‚       β”‚   β”œβ”€β”€ ContactSection.tsx
β”‚       β”‚   β”œβ”€β”€ CustomCursor.tsx
β”‚       β”‚   β”œβ”€β”€ Header.tsx
β”‚       β”‚   β”œβ”€β”€ HeroSection.tsx
β”‚       β”‚   β”œβ”€β”€ LoadingScreen.tsx
β”‚       β”‚   β”œβ”€β”€ ProjectsSection.tsx
β”‚       β”‚   β”œβ”€β”€ ScrollProgress.tsx
β”‚       β”‚   β”œβ”€β”€ Sidebar.tsx
β”‚       β”‚   β”œβ”€β”€ SkillsSection.tsx
β”‚       β”‚   └── ui
β”‚       β”‚       β”œβ”€β”€ accordion.tsx
β”‚       β”‚       β”œβ”€β”€ alert-dialog.tsx
β”‚       β”‚       β”œβ”€β”€ alert.tsx
β”‚       β”‚       β”œβ”€β”€ aspect-ratio.tsx
β”‚       β”‚       β”œβ”€β”€ avatar.tsx
β”‚       β”‚       β”œβ”€β”€ badge.tsx
β”‚       β”‚       β”œβ”€β”€ breadcrumb.tsx
β”‚       β”‚       β”œβ”€β”€ button.tsx
β”‚       β”‚       └── ... (other UI components)
β”‚       β”œβ”€β”€ hooks
β”‚       β”‚   β”œβ”€β”€ use-mobile.tsx
β”‚       β”‚   β”œβ”€β”€ use-toast.ts
β”‚       β”‚   β”œβ”€β”€ useCountUp.tsx
β”‚       β”‚   └── useScrollAnimations.tsx
β”‚       β”œβ”€β”€ lib
β”‚       β”‚   β”œβ”€β”€ queryClient.ts
β”‚       β”‚   └── utils.ts
β”‚       β”œβ”€β”€ pages
β”‚       β”‚   β”œβ”€β”€ not-found.tsx
β”‚       β”‚   └── portfolio.tsx
β”‚       β”œβ”€β”€ App.tsx
β”‚       β”œβ”€β”€ index.css
β”‚       └── main.tsx
β”‚
β”œβ”€β”€ node_modules
β”œβ”€β”€ dist
β”‚
β”œβ”€β”€ server
β”‚   β”œβ”€β”€ index.ts
β”‚   β”œβ”€β”€ routes.ts
β”‚   β”œβ”€β”€ storage.ts
β”‚   └── vite.ts
β”‚
β”œβ”€β”€ shared
β”‚   └── schema.ts
β”‚
β”œβ”€β”€ .gitignore
β”œβ”€β”€ components.json
β”œβ”€β”€ drizzle.config.ts
β”œβ”€β”€ package-lock.json
β”œβ”€β”€ package.json
β”œβ”€β”€ abt_portfolio.md
β”œβ”€β”€ tailwind.config.ts
β”œβ”€β”€ tsconfig.json
└── vite.config.ts

⚑ Getting Started

1️⃣ Install dependencies

npm install

2️⃣ Start development server (local)

npm run dev

3️⃣ Build for production (creates dist/)

npm run build

4️⃣ Deploy to GitHub Pages

npm run deploy


πŸ”„ Update Workflow

When you make changes and want to update GitHub Pages deployment:

git add . git commit -m "fixed to run both on local npm run dev and github npm run deploy" git push origin main

Then redeploy: npm run deploy


🀝 Contributing

Want to improve this portfolio? Feel free to fork, make changes, and submit a PR.


πŸ“œ License

This project is licensed under the MIT License.

About

Realized that having a portfolio makes my entire background clear to recruiters β€” so I decided to build one in my own style 😎

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages