A performant portfolio website built with React 19 and TypeScript, featuring an AI-powered assistant, premium UI interactions, and theme-aware design.
Live: danielpodolsky.dev
Table of Contents
This portfolio showcases my transition from Combat Medic to Software Engineer through interactive project cards, technical blog posts, and a skills showcase. The site prioritizes performance, accessibility, and modern development patterns that reflect production-grade engineering practices.
├── api/ # Vercel serverless functions (RAG chatbot)
├── knowledge/ # AI knowledge base (markdown files)
└── src/
├── assets/ # Static images and blog assets
├── components/
│ ├── chat/ # AI chatbot components
│ ├── layout/ # Layout primitives (Header, Footer, Layout)
│ ├── sections/ # Page sections (Hero, Projects, Blog, Skills, Contact)
│ └── ui/ # Reusable UI components (ProjectCard, BlogCard, SpotlightCard)
├── contexts/ # React Context providers (ThemeContext)
├── data/ # Static data (projects, skills, blog posts)
├── hooks/ # Custom React hooks
├── lib/ # Utility functions (cn helper)
└── types/ # TypeScript type definitions
| Command | Description |
|---|---|
npm run dev |
Start development server with HMR |
npm run build |
Type-check and build for production |
npm run preview |
Preview production build locally |
npm run lint |
Run ESLint on all files |
npm run format |
Format code with Prettier |
npm run format:check |
Check formatting without writing |
- Code splitting via React.lazy and Suspense
- Image optimization with vite-plugin-image-optimizer
- Tailwind CSS v4 automatic tree-shaking
- Lighthouse score: 100
An intelligent chatbot powered by RAG (Retrieval-Augmented Generation) that helps visitors and recruiters learn about my experience:
- Real-time streaming responses via Vercel AI SDK v6
- Claude Haiku 4.5 for fast, accurate responses with strong instruction-following
- Semantic search through Pinecone vector database
- Knowledge base built from curated markdown files covering projects, skills, and background
- Rate limiting via Upstash Redis to prevent abuse
- Component testing with Vitest
- GitHub Actions CI/CD pipeline
- Hero section screenshot/GIF for README
- Vercel deployment with analytics
- AI-powered portfolio assistant with RAG
- Claude Haiku 4.5 integration with prompt hardening
- Mobile UX optimization (keyboard behavior)
MIT
- LinkedIn: daniel-podolsky-341901242
- GitHub: DanielPodolsky
- Email: lambodol76@gmail.com
- Vercel AI SDK - Streaming AI responses
- Anthropic Claude - AI model powering the chatbot
- Pinecone - Vector database for semantic search
- shadcn/ui - UI component library
- GSAP - Premium animations
- Tailwind CSS - Utility-first styling
- Upstash - Serverless Redis for rate limiting
