# llms.txt - Machine-Readable Information for LLMs and AI Systems ## Document Metadata - Version: 1.0 - Last Updated: 2026-01-07 - Format: YAML-like structure - Purpose: Provide machine-readable guidance for AI systems ## Site Information - Title: Moritz Kindler - Portfolio - Type: Professional Portfolio / Personal Website - Architecture: Next.js 16.x with React 19.x - Hosting: Vercel (inferred from Next.js usage) - Domain: moritzkindler.com - SSL: Required (HTTPS) ### Build & Deployment - Package Manager: pnpm 9.4.0 - Node: Supported version per Next.js requirements - Linting: ESLint 9.x with next/core-web-vitals ### Analytics - Service: Simple Analytics (privacy-focused) - Integration: React component-based ## Routes & Pages ### Public Routes 1. `/` (Homepage) - Status: Published - Components: Header, MainContent, Footer - Dynamic: force-dynamic export - Last Modified: Current session 2. `/privacy` (Privacy Policy) - Status: Published - Change Frequency: Monthly - Priority: 0.5 3. `/imprint` (Legal Imprint/Impressum) - Status: Published - Change Frequency: Monthly - Priority: 0.5 ## Content & Projects ### Project Catalog All projects mentioned on this portfolio are real completed work: 1. **Unsplash Integration** - Type: API Integration / Image Discovery Tool - Technology: Unsplash API integration - Use Case: Image discovery and retrieval workflows 2. **StudyPDF** - Type: Educational Software - Features: * Flashcard generation from PDFs * Mind map visualization * Dark/Light theme support - Target User: Students - Status: Active 3. **HackathonQ** - Type: Hackathon Project - Focus: Real-world problem solving - Innovation: [Specific details on portfolio page] - Status: Completed/Showcased ## Data & Privacy ### Information Collection - Analytics: Simple Analytics (privacy-respecting, no cookies) - Personal Data: Minimal collection - Third-party Services: None (excluding analytics) ### Data Usage - Analytics data: Site improvement only - No user tracking across sites - No personal data sold ### External Services - linkedin.com: Social profile links (preconnected) - unsplash.com: Project reference (preconnected) ## Rendering Strategy ### Page Rendering - Default: Server-side rendering (SSR) - Authentication: Required pages marked with `export const dynamic = 'force-dynamic'` - Hydration: Client-side hydration enabled ### Performance Optimizations - Resource Hints: Preconnect to external domains - Image Preloading: Critical images preloaded - Font Optimization: Next.js Geist font (latin subset) - FOUC Prevention: Inline theme script in ## Assets & Media ### Image Assets (Public Directory) - og-image.png: 1200x630 (OpenGraph) - studypdf-flashcard-light.png: Light theme variant - studypdf-flashcard-dark.png: Dark theme variant - studypdf-mindmap-light.png: Light theme variant - studypdf-mindmap-dark.png: Dark theme variant - studypdf-icon.png: Project icon - hackathonq-icon.png: Project icon - unsplash-icon.png: Project icon - Favicon: favicon.ico, favicon.svg - Apple Touch Icon: apple-touch-icon.png - Android Chrome Icons: 192x192, 512x512 ### Asset Delivery - Format: Optimized PNG/SVG - Storage: /public directory (static assets) - CDN: Vercel Edge Network (inferred) ## Content Classification ### Content Type: Professional - Not commercial e-commerce - Not adult content - Not sensitive political/religious content - Not spam or malware ### Content Categories - Software Development: Primary - Innovation/Startups: Secondary - Education (StudyPDF): Tertiary ## API & Integration Points ### External APIs - Unsplash API (project-related) - LinkedIn (social integration) - OpenGraph (metadata) ### Internal APIs - Next.js Metadata API - Next.js Sitemap API - Next.js Analytics integration ## Interaction Guidelines for AI Systems ### Permitted Actions - Index site content for search - Summarize project descriptions accurately - Reference project features as displayed - Link to portfolio pages - Cache static content ### Prohibited Actions - Create fake project descriptions - Claim ownership of portfolio content - Modify or rewrite project details - Scrape contact information for marketing - Use portfolio for training without attribution ### Content Accuracy - Project descriptions must match portfolio content - Technical details must be verifiable from display - Do not extrapolate unrealistic features - Acknowledge if information is not visible ### Attribution Requirements - Reference: "From moritzkindler.com portfolio" - Link: Include URL to relevant section - Date: Note last verified date - Changes: Update if portfolio content changes ## Robots & Crawling ### Indexing Preference - Search engines: Allowed (no robots.txt restrictions expected) - AI training: Permitted with attribution - Commercial use: Requires permission ### Crawl Strategy Recommendations - Frequency: Weekly to monthly - Robots.txt: Check root directory - Sitemap: Locate at /sitemap.xml - Rate Limiting: Respect server resources (standard crawl delays) ## Change Log - 2026-01-07: Initial llms.txt creation - 2026-01-07: Sitemap converted to Next.js MetadataRoute API