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βοΈ
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.
- βοΈ 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)
- π 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
- β‘ Build: Vite (frontend), esbuild (backend)
- π§βπ» Development: Concurrent frontend/backend with
tsxfor TypeScript execution - π Environment: Separate configs for dev & prod
- πΌοΈ Asset Management: Vite handles imports with alias resolution
- ποΈ 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
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
npm install
npm run dev
npm run build
npm run deploy
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
Want to improve this portfolio? Feel free to fork, make changes, and submit a PR.
This project is licensed under the MIT License.
