A modern, responsive portfolio website showcasing expertise across the complete data lifecycleβfrom data engineering and analytics to quality assurance and machine learning.
pathakdarshan12.github.io/portfolio
portfolio/
βββ assets/
β βββ icons/ # Logo variants (light/dark theme)
β βββ images/ # Project screenshots, blog covers
β β βββ projects/ # Project hero images
β β βββ blogs/ # Blog post images
β β βββ case_study/ # Case study visuals
β βββ resume/ # Downloadable resume (DOCX)
β
βββ components/
β βββ ArchitectureFlow.tsx # Tech stack pipeline visualizer
β βββ BlogTemplate.tsx # Structured blog post renderer
β
βββ pages/
β βββ About.tsx # Homepage with hero, expertise, timeline
β βββ Projects.tsx # Project gallery with filters
β βββ ProjectDetail.tsx # Individual project deep-dive
β βββ CaseStudies.tsx # Case study listing
β βββ CaseStudyDetail.tsx # Individual case study view
β βββ Blog.tsx # Blog listing with search
β βββ BlogDetail.tsx # Individual blog post
β βββ Connect.tsx # Contact form with Formspree
β
βββ App.tsx # Root component with routing & nav
βββ data.ts # Projects, case studies, expertise data
βββ blog.ts # Blog posts with structured content
βββ types.ts # TypeScript interfaces & enums
βββ index.tsx # React app entry point
βββ index.html # HTML template with importmap
βββ vite.config.ts # Vite configuration with path aliases
βββ tsconfig.json # TypeScript compiler options
βββ tailwind.config.js # Tailwind customization (via CDN)
βββ package.json # Dependencies & scripts
βββ README.md # This file
All projects, case studies, and blog posts are defined as TypeScript objects in data.ts and blog.ts, enabling:
Blog posts use a section-based content model instead of raw Markdown:
structuredContent: [
{ type: 'header', id: 'intro', content: 'Introduction' },
{ type: 'paragraph', content: 'Text content...' },
{ type: 'code', content: { language: 'python', code: '...', title: '...' } },
{ type: 'image', content: { src: '...', alt: '...', caption: '...' } },
{ type: 'metrics', content: [...] },
{ type: 'callout', content: { icon: 'π‘', title: '...', text: '...' } }
]
Supports: headers, paragraphs, code blocks, images, lists, quotes, metrics, dividers, callouts, two-column layouts.
Custom <ArchitectureFlow> component renders tech stack pipelines with:
class dark mode strategyreact-syntax-highlighter// vite.config.ts
build: {
rollupOptions: {
output: {
manualChunks: {
'react-vendor': ['react', 'react-dom', 'react-router-dom'],
'icons': ['lucide-react'],
}
}
}
}
#0ea5e9 (Sky Blue) - CTAs, links, accentsrounded-[2.5rem] with subtle shadowsrounded-2xl with gradient hover statesrounded-full for tags, rounded-xl for larger pillsbackdrop-blur-xl for navbar and overlaysnpm run build # Generates production build in dist/
npm run deploy # Deploys to GitHub Pages via gh-pages
/portfolio/ (configured in vite.config.ts and package.json)index.html importmap)gh-pages branchnpm run deployEdit data.ts β PROJECTS array with required fields:
id, slug, title, domains, descriptiontech, image, metrics, detailedMetricsproblem, solution, approachtechCategories, implementationCodeEdit blog.ts β BLOG_POSTS array:
structuredContent with section typesassets/images/projects/ or assets/images/blogs/None required - The project uses static content and client-side routing only. Formspree endpoint for contact form is hardcoded (can be externalized if needed).
This portfolio is a personal project. Code structure and components can be referenced for learning, but please don't copy the entire portfolio as-is.
Darshan Pathak
Data Engineer | Analytics Engineer | Data Quality Analyst
23 commits
TypeScript
98.4%
HTML
1.6%
A modern, responsive portfolio website showcasing expertise across the complete data lifecycleβfrom data engineering and analytics to quality assurance and machine learning.
pathakdarshan12.github.io/portfolio
portfolio/
βββ assets/
β βββ icons/ # Logo variants (light/dark theme)
β βββ images/ # Project screenshots, blog covers
β β βββ projects/ # Project hero images
β β βββ blogs/ # Blog post images
β β βββ case_study/ # Case study visuals
β βββ resume/ # Downloadable resume (DOCX)
β
βββ components/
β βββ ArchitectureFlow.tsx # Tech stack pipeline visualizer
β βββ BlogTemplate.tsx # Structured blog post renderer
β
βββ pages/
β βββ About.tsx # Homepage with hero, expertise, timeline
β βββ Projects.tsx # Project gallery with filters
β βββ ProjectDetail.tsx # Individual project deep-dive
β βββ CaseStudies.tsx # Case study listing
β βββ CaseStudyDetail.tsx # Individual case study view
β βββ Blog.tsx # Blog listing with search
β βββ BlogDetail.tsx # Individual blog post
β βββ Connect.tsx # Contact form with Formspree
β
βββ App.tsx # Root component with routing & nav
βββ data.ts # Projects, case studies, expertise data
βββ blog.ts # Blog posts with structured content
βββ types.ts # TypeScript interfaces & enums
βββ index.tsx # React app entry point
βββ index.html # HTML template with importmap
βββ vite.config.ts # Vite configuration with path aliases
βββ tsconfig.json # TypeScript compiler options
βββ tailwind.config.js # Tailwind customization (via CDN)
βββ package.json # Dependencies & scripts
βββ README.md # This file
All projects, case studies, and blog posts are defined as TypeScript objects in data.ts and blog.ts, enabling:
Blog posts use a section-based content model instead of raw Markdown:
structuredContent: [
{ type: 'header', id: 'intro', content: 'Introduction' },
{ type: 'paragraph', content: 'Text content...' },
{ type: 'code', content: { language: 'python', code: '...', title: '...' } },
{ type: 'image', content: { src: '...', alt: '...', caption: '...' } },
{ type: 'metrics', content: [...] },
{ type: 'callout', content: { icon: 'π‘', title: '...', text: '...' } }
]
Supports: headers, paragraphs, code blocks, images, lists, quotes, metrics, dividers, callouts, two-column layouts.
Custom <ArchitectureFlow> component renders tech stack pipelines with:
class dark mode strategyreact-syntax-highlighter// vite.config.ts
build: {
rollupOptions: {
output: {
manualChunks: {
'react-vendor': ['react', 'react-dom', 'react-router-dom'],
'icons': ['lucide-react'],
}
}
}
}
#0ea5e9 (Sky Blue) - CTAs, links, accentsrounded-[2.5rem] with subtle shadowsrounded-2xl with gradient hover statesrounded-full for tags, rounded-xl for larger pillsbackdrop-blur-xl for navbar and overlaysnpm run build # Generates production build in dist/
npm run deploy # Deploys to GitHub Pages via gh-pages
/portfolio/ (configured in vite.config.ts and package.json)index.html importmap)gh-pages branchnpm run deployEdit data.ts β PROJECTS array with required fields:
id, slug, title, domains, descriptiontech, image, metrics, detailedMetricsproblem, solution, approachtechCategories, implementationCodeEdit blog.ts β BLOG_POSTS array:
structuredContent with section typesassets/images/projects/ or assets/images/blogs/None required - The project uses static content and client-side routing only. Formspree endpoint for contact form is hardcoded (can be externalized if needed).
This portfolio is a personal project. Code structure and components can be referenced for learning, but please don't copy the entire portfolio as-is.
Darshan Pathak
Data Engineer | Analytics Engineer | Data Quality Analyst
23 commits
TypeScript
98.4%
HTML
1.6%