lukaskopecky.cz
osobní portfolio vývojáře
Role
Fullstack — úprava šablony, datový model projektů, lokalizace, SEO, kontaktní formulář, CI/CD a nasazení.
Rok
2026
Stack
Next.js 16, React 19, TypeScript, next-intl, GSAP, Zod, Formspree, Docker, GitHub Actions, Coolify
Projekt
Dvojjazyčné osobní portfolio, které právě čtete — přehled projektů s detailními stránkami, služby, o mně, FAQ a kontaktní formulář. Postavené na šabloně Rayo (Next.js), kterou jsem přepsal na datově řízený web s lokalizací CS/EN, kompletní SEO výbavou a automatizovaným nasazením na vlastní server.
Fullstack — úprava šablony, datový model projektů, lokalizace, SEO, kontaktní formulář, CI/CD a nasazení.




Co jsem řešil
Dvojjazyčnost CS/EN přes next-intl — čeština je výchozí jazyk bez prefixu, angličtina běží pod /en; lokalizované jsou texty stránek, projektů i metadata.
Projekty jako data — jediný soubor data/projects.json (cs/en) pohání přehled, detailní stránky se statickou generací, navigaci předchozí/další, sitemap i IndexNow; každý projekt má vlastní mockupy zařízení bez textu.
SEO výbava — canonical a hreflang, lokalizované titulky, generovaný sitemap.xml a robots.txt, strukturovaná data JSON-LD (Person, WebSite, CreativeWork, BreadcrumbList) a OG/Twitter obrázky generované přímo v Next.js.
IndexNow — API route, která po nasazení pošle vyhledávačům seznam všech stránek včetně projektů; ověřovací klíč leží ve veřejné složce.
Kontaktní formulář na React Hook Form s validací Zodem, odesílaný přes Formspree, se zpětnou vazbou v toastech.
Cookie consent napojený na Google Analytics — skripty se načtou až po souhlasu návštěvníka.
Plynulé animace a parallax (GSAP, Lenis, Ukiyo, Swiper) včetně vlastních parallax pásů s mockupy na detailu projektu.
Nasazení — vícestupňový Docker build se standalone výstupem Next.js, image se staví v GitHub Actions do ghcr.io a běží v Coolify na vlastním serveru.
Let's talk about your project!

