PH.
< Back to projects
🚀

Portfolio Website

Personal portfolio built with Astro, featuring an interactive Three.js 3D scene, smooth animations, and full Czech and English localization.

Tech Stack
Astro Three.js Tailwind CSS TypeScript
Portfolio Website

About the Project

I designed this portfolio entirely from scratch as a personal endeavor where technical craft naturally meets deliberate visual thinking. I wanted to create a place that represents not just my code, but an overall modern approach to design and user experience. Every detail exists for a meaningful reason, and the form elegantly complements the content.

The ultimate goal was to compose an experience that works flawlessly as a unified whole. It features instantaneous loading times, highly legible typography, elegant layout transitions, and an interactive 3D centerpiece that effortlessly enlivens the page without slowing down your internet browser.

Key Features

  • 3D Hero Scene: An engaging focal point featuring a customized 3D model, gentle lighting setup, and soft baked shadows. Built with React Three Fiber and WebGL, the model dynamically tracks mouse movement with natural easing, giving the intro section a lifelike feel.
  • Bilingual Support: The platform gracefully provides both English and Czech localizations. Translations are managed by a custom lightweight i18n system, enabling seamless language swapping without forcing a full-page refresh.
  • Dark and Light Mode: A reliable dual-theme approach featuring an elegant color scheme toggle with buttery smooth transition fades. The site automatically saves your visual preference systematically via localStorage for future visits.
  • Elegant Scroll Interactions: Individual text blocks and containers securely reveal themselves sequentially as they enter the viewport. This is achieved through the native Intersection Observer API, entirely avoiding heavy external animation libraries.
  • Maximum Performance & SEO: Static Site Generation (SSG) permanently guarantees lightning-fast loading speeds and overwhelmingly positive analytical performance scores within Lighthouse. Critical elements like OpenGraph data, semantic SEO meta tags, and the dynamic XML sitemap are completely procedurally generated during the build phase.

Technologies

  • Astro: The core architecture powering the site, delivering robust static HTML payloads with zero client-side JavaScript by default. It’s the premier framework choice for blisteringly fast, content-driven visual web presentations.
  • Three.js & React Three Fiber: WebGL-accelerated 3D rendering engines that enable the browser to process and render dynamic, user-interactive elements and custom shaders smoothly in real-time.
  • Tailwind CSS v4: A modern utility-first styling system equipped with customizable design tokens. It ensures pixel-perfect and flawless dimensional responsiveness across massive screens or miniature mobile displays.
  • TypeScript: Strict end-to-end type safety that successfully destroys entire classes of potential runtime structural errors, delivering rock-solid steady reliability long before the application deploys to production environments.

Challenges and Solutions

  • 🔥 Embedding Advanced 3D Inside a Static Site: The primary technical challenge was injecting a resource-intensive WebGL 3D model into a static Astro structure without bottlenecking the site’s otherwise lightning-fast loading speeds. I resolved this by completely isolating the 3D application logic and executing it exclusively on the client side via Astro islands. To guarantee uncompromised smooth framerates, the continuous rendering loop was optimized directly using the native requestAnimationFrame instruction.
  • 🌍 A Streamlined Custom i18n Translation System: The second challenge involved designing a fully functional internationalization layer from scratch, avoiding the bloated dependencies often associated with bulky third-party modules. The resulting solution is a custom lightweight i18n abstraction tightly integrated with standard Astro routing, facilitating instant structural language translation switches with practically zero overhead.
[09 - Contact]

Contact

Open to chat

Whether you're tackling a complex tech challenge, looking for a project partner, or just want to exchange ideas, feel free to reach out 👋

[03] Address
Ostrava, Czech Republic
Verification
Available for work © 2026 Petr Hromádka. All rights reserved.
TERMINAL_OUTPUT //
// SYSTEM.STATUS: ONLINE /// DESIGNED IN OSTRAVA /// V.1.0.0 /// NO ERRORS FOUND // SYSTEM.STATUS: ONLINE /// DESIGNED IN OSTRAVA /// V.1.0.0 /// NO ERRORS FOUND /// SYSTEM.STATUS: ONLINE /// DESIGNED IN OSTRAVA /// V.1.0.0 /// NO ERRORS FOUND ///  // SYSTEM.STATUS: ONLINE /// DESIGNED IN OSTRAVA /// V.1.0.0 /// NO ERRORS FOUND // SYSTEM.STATUS: ONLINE /// DESIGNED IN OSTRAVA /// V.1.0.0 /// NO ERRORS FOUND /// SYSTEM.STATUS: ONLINE /// DESIGNED IN OSTRAVA /// V.1.0.0 /// NO ERRORS FOUND ///