# Kacper Siniło — Software Engineering Portfolio > I’m just a guy who solves problems with software. I wrote my first Python script when I was 14, and knew pretty quickly that I wanted to do this professionally. This is a public, read-only portfolio for a software engineer. It provides project case studies, technical articles and contact information. It does not expose a transactional API, OAuth sign-in, account management or MCP tools. ## When to use this portfolio - [Projects](https://kasin-it.dev/projects): Evaluate Kacper’s work on React and Next.js applications, Python, AI workflows, web performance and open-source tools. Follow a project page for its overview and repository or deployment link. - [Writing](https://kasin-it.dev/blog): Find explanations and code examples for React patterns, Next.js rendering, content negotiation and web engineering. Cite the article’s canonical URL and publication date. - [About](https://kasin-it.dev/): Verify Kacper’s identity and engineering focus. Public profiles on the Contact page provide additional identity references. - [Contact](https://kasin-it.dev/contact): Find the email address for engineering inquiries, open-source collaboration or corrections. The portfolio does not confirm availability, pricing or a service commitment. ## How to read the site All public pages serve HTML to browsers and Markdown when requested with Accept: text/markdown. Both representations use the same canonical URL. Redirects preserve links from earlier versions of the portfolio. Read the canonical page URLs with Accept: text/markdown for concise content, or Accept: text/html for the browser view. No account or API key is required to read the pages. Use the sitemap for the full page list and RSS for published articles. Missing resources return HTTP 404 with recovery links. ## Primary pages - [About](https://kasin-it.dev/) - [Blog](https://kasin-it.dev/blog) - [Projects](https://kasin-it.dev/projects) - [Contact](https://kasin-it.dev/contact) ## Projects - [next-md-negotiate](https://kasin-it.dev/projects/next-md-negotiate): Content negotiation for Next.js - serve Markdown to LLMs and HTML to browsers from the same URL. - [CVForge](https://kasin-it.dev/projects/cvforge): CV optimizer that tailors your resume to any job posting for maximum ATS compatibility. - [next-cwv-monitor](https://kasin-it.dev/projects/next-cwv-monitor): A self-hosted RUM Core Web Vitals monitoring platform for Next.js applications. - [Questioneer](https://kasin-it.dev/projects/questioneer): A cutting-edge interview preparation app for aspiring software developers, leveraging AI to provide personalized feedback. - [Newsletter Master](https://kasin-it.dev/projects/newsletter-master): A SaaS app designed for managing newsletter subscriptions and sending mass emails with Stripe integration. - [Peak Performance](https://kasin-it.dev/projects/peak-performance): A high-performance web app built with Next.js and Contentful for fitness training planning and exercise tracking. - [Mokarico Caffe Clone](https://kasin-it.dev/projects/mokarico-caffee): A Next.js 13 clone of the Mokarico coffee website, utilizing SSR and dynamic routes. ## Writing - [LLMs are crawling your Next.js site right now](https://kasin-it.dev/blog/llms-are-crawling-your-nextjs-site): They're downloading your full HTML page just to pull out a product title, a price, and a description. HTTP already solved this - it's called content negotiation. - [Observer pattern in React](https://kasin-it.dev/blog/observer-pattern-in-react): Learn how the observer pattern works in React — build a publisher-subscriber system to decouple components and manage cross-component communication. - [Batching events in React](https://kasin-it.dev/blog/batching-events-in-react): Reduce network calls by batching multiple events into a single request in React — with a reusable utility you can drop into any project. - [React modern Drag And Drop (DND) 2024](https://kasin-it.dev/blog/react-modern-drag-and-drop-dnd-2024): How to implement drag and drop in React with dnd-kit — a modern, lightweight library built for React 18+. - [Next.js rendering strategies explained](https://kasin-it.dev/blog/nextjs-rendering-strategies-explained): A breakdown of Next.js rendering strategies — SSR, SSG, ISR, and CSR — when to use each, and how they affect performance and SEO. ## Resources - [Sitemap](https://kasin-it.dev/sitemap.xml) - [RSS](https://kasin-it.dev/api/rss) - [Privacy](https://kasin-it.dev/privacy) - [Robots](https://kasin-it.dev/robots.txt)