Skip to content

Modern portfolio website built with React, TypeScript and Tailwind.

Notifications You must be signed in to change notification settings

DanielPodolsky/portfolio

Repository files navigation

Daniel Podolsky Portfolio

Version GitHub last commit Lighthouse Vercel

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

image
Table of Contents
  1. Built With
  2. Overview
  3. Project Structure
  4. Available Scripts
  5. Key Features
  6. Development Status
  7. License
  8. Contact
  9. Acknowledgments

Built With

React TypeScript Vite Tailwind CSS Anthropic Pinecone Vercel AI SDK

(back to top)

Overview

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.

(back to top)

Project Structure

├── 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

(back to top)

Available Scripts

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

(back to top)

Key Features

Performance

  • Code splitting via React.lazy and Suspense
  • Image optimization with vite-plugin-image-optimizer
  • Tailwind CSS v4 automatic tree-shaking
  • Lighthouse score: 100

AI Portfolio Assistant

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

(back to top)

Development Status

Planned

  • Component testing with Vitest
  • GitHub Actions CI/CD pipeline
  • Hero section screenshot/GIF for README

Completed

  • Vercel deployment with analytics
  • AI-powered portfolio assistant with RAG
  • Claude Haiku 4.5 integration with prompt hardening
  • Mobile UX optimization (keyboard behavior)

(back to top)

License

MIT

(back to top)

Contact

(back to top)

Acknowledgments

(back to top)

About

Modern portfolio website built with React, TypeScript and Tailwind.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •