Class
The next-generation virtual classroom for learning & development — live instructor-led experiences built for Zoom and Microsoft Teams, with deep LMS integration.
Topics and skills also live in the interactive knowledge map.
The next-generation virtual classroom for learning & development — live instructor-led experiences built for Zoom and Microsoft Teams, with deep LMS integration.

App for tracking beers, reviewing beers, and managing meetups with friends.

WordPress booking site for a glamping business — presenting the stays and giving visitors a clear path to reserve. Built end to end as freelance client work, from content structure through a production-ready booking flow.

WordPress site for the band Stav Beztíže — a public home for music, identity, and upcoming presence online. Freelance build focused on a clean band presentation rather than a heavy CMS setup.

Client site for a personal fitness trainer — services, pricing, custom offer form, and contact. Built with Next.js and TypeScript as freelance work.
Client site for a custom carpentry workshop in Staňkov — offer overview, materials, gallery, and contact. Next.js with Sanity CMS for editable content.

Navigates people with disabilities to a specified location using a directional arrow.

Demo car marketplace for browsing and selling vehicles — listing detail, inventory browsing, and a clean Next.js storefront built as a portfolio piece rather than a live dealership.
Demo site for an Italian pizzeria — menu, a lightbox gallery, and reservation contact. A custom design showcase for restaurants and food businesses.
Demo site for a boutique guesthouse in the Krkonoše Mountains — rooms, amenities, experiences, and booking. Elegant mountain-inspired design.
Demo site for a hair salon — services, pricing, team, and a portfolio gallery. Editorial design with a pink accent.
Demo site for a specialty café and roastery — drink menu, roasting process, bean origins, and bar. Brutalist industrial design.

A tiny Flutter utility for tallying how often each quote or catchphrase comes up — each word or phrase gets its own counter, stored on-device.