# Placeholder Media Assets

This template references several media files that need to be replaced with your own content.

## Required Assets to Replace

### Images (`src/assets/`)

The following images in `src/assets/` are currently placeholders and should be replaced with your own:

1. **nicholai-closeup-portrait.avif**
   - Purpose: Used in various components
   - Recommended dimensions: 800x800px minimum
   - Format: AVIF (use `pnpm convert:avif:all` to convert)

2. **nicholai-medium-portrait.avif**
   - Purpose: Default OG (Open Graph) image for social media shares
   - Referenced in: `src/components/BaseHead.astro:6`
   - Recommended dimensions: 1200x630px (Open Graph standard)
   - Format: AVIF

3. **g-star-image.avif**
   - Purpose: Project/case study imagery
   - Referenced in: Blog post hero images
   - Recommended dimensions: 1920x1080px or larger
   - Format: AVIF

4. **claude-nuke.avif**
   - Purpose: Blog post hero image
   - Recommended dimensions: 1920x1080px or larger
   - Format: AVIF

5. **foxrenderfarm-arch-linux.avif**
   - Purpose: Blog post hero image
   - Recommended dimensions: 1920x1080px or larger
   - Format: AVIF

6. **PENCIL_1.3.1_wipe.avif**
   - Purpose: Blog post hero image
   - Recommended dimensions: 1920x1080px or larger
   - Format: AVIF

### Videos (`public/media/`)

The following video files need to be replaced:

1. **placeholder-video.mp4**
   - Purpose: Featured project video, blog post demonstrations
   - Referenced in: `src/content/sections/featured-project.mdx:18`
   - Recommended: MP4 format, H.264 codec
   - Max file size: Keep under 50MB for good performance
   - Dimensions: 1920x1080px or 3840x2160px (4K)

2. **GSTR_01_260_breakdown.mp4** (Remove/Replace)
   - Purpose: Project breakdown video
   - Should be replaced with your own project video

3. **GSTR_03_070_v10_breakdown_v01.mp4** (Remove/Replace)
   - Purpose: Project breakdown video
   - Should be replaced with your own project video

### Favicons (`public/`)

These should be customized with your own branding:

1. **favicon.ico**
2. **favicon-32.png**
3. **favicon-192.png**
4. **apple-touch-icon.png**
5. **favicon.svg**
6. **favicon.JPG** (appears to be personal, should be replaced)

### Profile Images (`public/media/`)

1. **nicholai-wild-portrait.JPEG**
   - Replace with your own portrait
   - Recommended dimensions: 1200x1200px or larger

## How to Add Your Own Assets

### For Images

1. **Place your images** in the appropriate directory:
   - Processed images: `src/assets/` (these get optimized by Astro)
   - Static images: `public/media/` (served as-is)

2. **Convert to AVIF** for best performance:
   ```bash
   pnpm convert:avif:all
   ```

3. **Update references**:
   - Blog post frontmatter (heroImage field)
   - Section MDX files in `src/content/sections/`
   - Default OG image in `src/components/BaseHead.astro`

### For Videos

1. **Optimize your video**:
   - Use H.264 codec for MP4
   - Keep file size reasonable (< 50MB if possible)
   - Consider providing multiple resolutions

2. **Place in `public/media/`**

3. **Update references**:
   - `src/content/sections/featured-project.mdx` (videoUrl field)
   - Blog posts where videos are embedded

### For Favicons

1. **Generate favicons** from your logo/brand mark using a tool like:
   - [favicon.io](https://favicon.io)
   - [RealFaviconGenerator](https://realfavicongenerator.net)

2. **Replace files in `public/`**

## Quick Replace Checklist

- [ ] Default OG image (`src/assets/nicholai-medium-portrait.avif`)
- [ ] All blog post hero images
- [ ] Featured project video (`/media/placeholder-video.mp4`)
- [ ] Favicon set (ico, png, svg)
- [ ] Remove or replace personal videos (GSTR files)
- [ ] Profile/portrait images

## Notes

- **AVIF format** is recommended for images as it provides excellent compression
- The template includes a conversion utility: `pnpm convert:avif:all`
- Always optimize images before uploading (compress, resize)
- Consider using a CDN for large media files in production
