Přeskočit na obsah
MB Portfolio redesign, hlavní náhled

MB Portfolio redesign

Rok
2026
Typ
Webový projekt
Práce
Osobní projekt, Webdesign, Kódování
Písma
Bricolage Grotesque, JetBrains Mono

Přestavba vlastního webu: 70 stránek, jedna paleta, deset kontrol v buildu a nula cizích požadavků.

Otevřít živý web
Případová studie

01

Zadání

Starý web fungoval, a přesto nešel použít jako důkaz. Portfolio má tu nepříjemnou vlastnost, že je zároveň argument i důkaz: když na něm tvrdím, že dělám rychlé a přístupné weby, musí takový být sám. Když jsem si ho pořádně proměřil, našel jsem 868 kB cizího kódu kvůli měření, které nic nezměřilo, animační knihovnu za 55 kB kvůli třem efektům a v článcích čísla, která neexistovala.

Zadání jsem si proto dal jediné pravidlo: každé rozhodnutí musí jít změřit, nebo zdůvodnit větou, kterou bych řekl klientovi. Ne „vypadá to líp“. Buď je to vidět v číslech, nebo pro to mám důvod, který unese odpor.

02

Řešení

Statický export na Next.js 16 a React 19. Build vyrobí hotové HTML a server už jen posílá soubory. Šest běhových závislostí; galerie, lightbox, rozbalovací otázky i veškerý pohyb jsou psané ručně, protože každá knihovna má cenu, kterou platí návštěvník.

Paleta má třináct pojmenovaných hodnot a nic mimo ně se nepoužívá. Hlídá to skript, který před každým sestavením počítá kontrast dvaceti čtyř dvojic včetně průhledností. Druhá kontrola k tomu měří vykreslené pixely, tedy i text ležící na fotce nebo na přechodu. Když text klesne pod hranici, web se nepostaví.

Celkem deset bran: kontrast, překryv otázek mezi stránkami, platnost odkazů v článcích, existence obrázků, jejich deriváty a rozměry, sdílecí obrázky, prořezání exportu, shoda mapy webu s kanonickými adresami a kontrola náhledů na sítích. Všechno, co se dá ověřit skriptem, nezávisí na tom, jestli si na to někdo vzpomene.

03

Detail

Statický export na Next.js 16 s šesti běhovými závislostmi. Paleta má třináct pojmenovaných hodnot a skript před každým buildem počítá kontrast dvaceti čtyř dvojic. Když text klesne pod hranici, build spadne. Měřeno na hotovém exportu: LCP 132–244 ms přes devět typů stránek, CLS 0, a z webu neodchází jediný cizí požadavek ani se nenastaví jediná cookie.

04

Paleta

  • #A78BFA
  • #121110
  • #EDE9E1
Galerie · 32 obrazů

Jak to vypadá.

Podobná práce

Další osobní projekt z portfolia.