$ show ghoshnirmalya/nirmalyaghosh.com
This repository is a personal portfolio website built with Next.js 14, React, and TypeScript. It features a blog section with MDX-powered articles sourced via Contentlayer, a projects showcase, and a responsive UI built with Chakra UI. The application uses static site generation (SSG) for optimal performance and includes client-side search functionality for articles and projects. Key architectural elements include the Next.js app router, file-based routing, and a modular component structure separating layouts, UI components, and data utilities. The site implements modern web development practices such as dark/light theme support, image optimization with blur placeholders, analytics integration (Vercel and Google Analytics), and error monitoring via Highlight. Content is sourced from MDX files in the data/articles directory and static JSON files for projects and publications. The build process leverages Next.js's incremental static regeneration (ISR) capabilities through Contentlayer, ensuring content updates without full rebuilds. Notable reusable components include a custom BlurImage component that enhances perceived performance by showing a blurred placeholder during image loading, and a Callout component for styling informational, warning, and error messages in MDX content. Both components are decoupled from specific business logic and demonstrate solid encapsulation patterns suitable for extraction into other projects.
The LLM identified 2 files worth highlighting for reuse:
A reusable Next.js image component that displays a blur placeholder while images are loading, improving perceived performance. It encapsulates loading state management using the Next.js Image component and React useState hook, making it easy to integrate into any Next.js project requiring optimized image loading.
A reusable callout component for MDX content that provides styled boxes for error, info, and warning messages with appropriate icons. It demonstrates a pattern for creating variant-based UI components using Chakra UI's styling system and React icons, allowing easy integration into any MDX-powered blog or documentation site with minimal props configuration.