This website
My own business card. Designed and coded from scratch, with no template and no JavaScript framework in the browser. The pages are built ahead of time, so they load at once.
- Year
- 2026
- Role
- Design and development
- Type
- Personal website
- Languages
- Czech and English
What I did
An intro with 3D layers
The headline cycles through website, e‑shop, app and AI assistant. With each word the particles in the Data layer, the JSON in the API layer and the result on top rearrange.
Two languages, one codebase
All copy lives in typed dictionaries and both versions share the components. Czech gets non-breaking spaces after one-letter prepositions, so they never end a line.
Share images from code
Social previews, the favicon and the icons are drawn on every build, in the same typeface as the page.
Motion that stays out of the way
Smooth scrolling and content that reveals as you scroll. If your system asks for reduced motion, you get the site without it.
Hidden surprises
There are two. All I'll say is that one lives in the browser console.
Analytics without cookies
Traffic is measured with Vercel Web Analytics, so the site needs no consent banner.
Technology
- Core
- Astro 7
- TypeScript
- CSS
- Motion
- Motion
- Lenis
- Three.js
- Build
- satori
- resvg
- astro:assets
- Hosting
- Vercel
- Web Analytics
Under the hood
No framework in the browser
Astro sends finished HTML and only a few kilobytes of my own script. The 3D library downloads only when it is actually needed.
Images in modern formats
Project screenshots are converted to AVIF and WebP in several sizes at build time. The browser picks the smallest one that is enough.
Accessibility
Keyboard navigation, a skip-to-content link and a proper heading order.
Want something similar?
Send me a few lines about what you need. I’ll get back to you and we’ll agree on next steps.
Get in touch