Work

Clients and projects

Shop takeovers and repairs, new websites and custom systems. Open any client to see exactly what I did there, and for selected projects the full case study.

StuccoDecorTakeover, repairs, hosting move

E-commerce · WordPress · 2026

Years of patches: a broken metres-and-pieces calculator, a product priced at 0 CZK, slow hosting with nothing configurable.

The work

  • The whole path from catalogue to a submitted enquiry works, including the metres and pieces calculator
  • 34,000 lighter images, all 875 addresses checked with no broken link and no fatal errors
  • A hosting move with no downtime; all 746 sitemap addresses respond after the switch
Tomas MicalCustom personal site, admin, client library

Ski coach's personal site · Next.js · 2026

A professional ski coach who spends most of the year teaching in Aspen, Colorado, and runs education for the Lithuanian instructors' association. He wanted a site that builds his name in the field worldwide, not just one that sells lessons, and that he can run himself.

The work

  • I built the English site from scratch: services from private lessons in Aspen through eCoaching and workshops to instructor education and consulting for ski schools, his story, partners and a guide to Aspen.
  • A custom admin in Czech with built-in help: he edits every text and photo himself, adds articles, videos, testimonials and new pages, and publishes the site with one button.
  • A client library behind a login, with videos and articles by level and topic, sign-up with consent to the terms and account approval.
  • Lessons in Aspen are booked through the ski school, so the site sells nothing. Enquiries go straight to his email through the form, or via WhatsApp.
  • The Instagram section on his About page updates itself, new posts and follower count included.
  • Free hosting on his own Cloudflare account, email on his own domain, and terms and a privacy policy written to match how the site actually works.
  • We refined it over several rounds, more than fifty comments. I checked each one by clicking through on desktop and on iPhone.
Ukotvený mužNew look, article template, logo, paid booking

Counselling site · WordPress · 2026

Crisis counselling for men after a breakup or infidelity, with an archive of more than two hundred articles. On its old domain the site read like a blog. The client wanted it to look like a service a man in crisis would trust with his situation, and to take consultation bookings directly.

The work

  • A new dark look to the client's brief: no photos of people, only macro shots, and a new logo, an anchor shaped as a shield, delivered in icon and social media versions too.
  • The homepage leads straight to booking, or to phone and WhatsApp. On mobile it has a sticky button bar.
  • One template for all 209 articles: a What to do now box at the top, larger type, a call to book a consultation and three related pieces from the same topic below.
  • Consultation booking with online card payment, a choice between in person and online, and confirmation emails from the site's own domain.
  • I moved the site to the new domain ukotvenymuz.cz. All 229 old addresses redirect to the right page, and the change of address is registered in Search Console.
  • Before launch I checked 221 addresses on iPhone and desktop: no overflow, no JavaScript errors, a heading on every page.
MalvarosaSpeed, layout stability, theme work

E-commerce · Shoptet · 2026

A furniture and home decor shop with almost four thousand products in Czech and Slovak. The brief: stop the pages jumping while they load and make the site faster, all on the live shop with no staging copy.

The work

  • Pages no longer jump while loading. In lab measurement, category listing CLS fell from 0.224 to 0.02 on mobile, and page CLS on desktop from 0.163 to zero.
  • The menu stopped downloading 12.9 MB of images on every page view; full-size images now load only when a submenu opens.
  • Web fonts no longer block rendering, and a broken search add-on that loaded 431 kB on every page is gone.
  • The homepage has an in-stock block with prices, badges and cart straight from Shoptet. Filters behave the same across all 217 categories, and the Slovak version has its own image descriptions and prices in euros only.
  • Every change went live with a backup, a rollback path and checks on 10 to 15 page types in both languages.
MetallifeAnalytics, Google feed, SEO and content

E-commerce · JZShop, Shoptet · 2026

Metallife makes custom steel industrial doors and glazed partitions and sells them through two shops and a configurator. The owner was considering a new website. I advised putting what he already had in order first and measuring where enquiries come from.

The work

  • On the main shop I set up GA4 tracking for enquiry submissions and phone and email clicks, and connected the contact conversions to Google Ads.
  • I fixed availability in the Google Shopping feed: made-to-measure doors, partitions and pergolas are no longer sent as sold out but as available to order.
  • On both shops I rewrote page titles and meta descriptions based on Search Console data, on the main one for 23 categories, key pages and products.
  • I added text to the project gallery, which now has 43 described projects and captions on 89 photos, and wrote six articles for the main shop's magazine.
  • I translated the WordPress door configurator into Czech and aligned delivery times on both shops with what production can really deliver.
Alu InteriorRebrand, language versions, mail and enquiry fixes

E-commerce · PrestaShop, Shoptet · 2026

A maker of made-to-measure metal doors and partitions. Their PrestaShop runs five stores in four languages, and the company was moving from the antos manufaktura brand to alu interior.

The work

  • I carried the new brand into the footers, contacts, invoice details, store names and emails of all five stores.
  • A new menu and technical information pages. I turned the catalogue PDFs into editable text and translated it into Slovak, English and German.
  • The English and German versions run on their own domains, aluinterior.com and aluinterior.de, and the old address redirects with the path intact.
  • I restored enquiries from every language version, Slovak included, and fixed the shop's outgoing mail setup.
  • In the categories I fixed 220 names and 215 URLs with translation errors.
  • I stopped the bot spam, fixed a security flaw in the enquiry module and protected the deliverability of the domain's email.
Mystická mydlárnaShop takeover, repairs, Slovak version, care

E-commerce · Rocketoo · 2026

Handmade natural soaps and cosmetics from Vratimov, 25 years on the market. It started with a free audit, after which the owner asked me to put the shop right after its move to a new platform.

The work

  • I restored sales to Slovakia in euros: prices, shipping, cash on delivery and card payments. August brought zero orders in euros, September eighteen.
  • All 242 addresses from the old shop lead to the right pages. Before, 66 of them ended in an error.
  • Searching for gift, Christmas or set no longer comes back empty, and the homepage has a real title instead of an empty one.
  • A new look within the theme, based on the colours of her original site, with text contrast meeting WCAG AA. Homepage images went from 2.0 to 0.8 MB.
  • The shop is connected to SmartEmailing, the contact database is cleaned up, and 54 % of recipients opened the newsletter about the Slovak version's return.
České mýdloE-shop migration, speed, malware cleanup

E-commerce · WordPress, WooCommerce · 2026

Alena Felczánová runs České mýdlo, a natural cosmetics shop, and builds websites for her own clients. It started with a free analysis, followed by a checkout fix, a shop migration and a site for one of her clients.

The work

  • I found why the checkout kept stalling and moved the shop to faster hosting. Checkout response dropped from 2.5 s to 0.56 s.
  • I migrated the shop with 4,753 orders, including the database, SSL and scheduled tasks, and the switch passed test orders.
  • I added automatic backups and fixed the shop address that led to the terms page.
  • I cleaned up the tracking: Google Ads no longer counts every page view as a conversion, and orders show up in GA4 as a key event.
  • For one of her clients I cleaned up a hacked WordPress site, closed the hidden remote access channels and verified core and WooCommerce against the official checksums.
Express-PřekladyOutage rescue, backups, new site launch

Translation agency · WordPress · 2026

A translation agency from Prague. One day its old Nette site stopped responding and showed a server error instead of pages. The owner had a new WordPress site ready and needed it on the hosting the same day, without losing the old site's data or the company email.

The work

  • I found why the old site went down and backed up both of its databases. For each one I compared the row counts in every table with the original before handing the backup over.
  • I did not delete the old site but took it offline and locked it, so it stays on the server in case anything needs to be pulled from it.
  • The new WordPress site, with the client's theme and order module, was live the same day, with HTTPS and redirects to a single address. I left the hosted mail untouched and the mailboxes kept working.
  • Old addresses from Google do not end in an error: 413 of 416 redirect to the matching page of the new site.
  • After launch I checked all 282 pages on desktop and mobile and sent a test enquiry. The confirmation landed in the inbox, not in spam.
AgionetJoomla 3 to 6 migration, security

Web agency · Joomla · 2026

A web agency from Pilsen. As their subcontractor I moved a site for housing cooperatives from the outdated Joomla 3 to Joomla 6.

The work

  • I built the new installation from scratch instead of upgrading through three versions, and moved the content with scripts: 17 cooperatives, 26 articles, over 500 files and 18 user accounts that keep logging in with their own passwords.
  • Content from the K2 extension became native Joomla articles, and old addresses redirect to the new ones.
  • During the migration I found and documented a security problem on the old site, and after launch I verified the new installation is clean.
  • After launch I checked the whole live site: 41 pages, all responding.
  • On another of the agency's sites I traced and blocked a hidden backdoor and analysed the access logs.
KEPRTAustrian store from scratch, translation, domain

E-commerce · Shoptet · 2026

KEPRT, a family business, sells firewood, briquettes and timber through its shop klales.cz. For the Austrian market I built a second, separate Shoptet store. It looks the same as the Czech one, only entirely in German and with prices in euros.

The work

  • I moved the catalogue over by export and import, so products carry the same codes in both stores, and turned all of it into German, categories, variant parameters and URLs included.
  • I did not translate the trade terms from a dictionary but took them from Austrian firewood shops. That is why the site says Raummeter and Schüttraummeter instead of a literal translation of the Czech units.
  • The look matches klales.cz: the same layout, homepage banner, category tiles and footer. 15 categories have their own search description.
  • I set up the brennholzhier.at domain, mail and HTTPS included, and moved the store onto it. Search Console, structured data and the llms.txt file already point to the new address.
  • All 17 emails the store sends to customers, and the consent texts on its forms, are in German.
  • On klales.cz I fixed order confirmations that were landing in customers' spam. The shop now sends mail from its own domain and passes DKIM and DMARC checks.
HračkyZaDobréKačkyAllegro integration, catalogue filters

E-commerce · Shoptet, Allegro · 2026

A shop with toys and electric ride-on cars for children, over twelve thousand products on Shoptet. The owner wanted to sell on Allegro too, with his own carriers and prices a fifth higher than on the shop. Most revenue comes from ride-on cars that ship on a pallet.

The work

  • I set up a separate Allegro price list in Shoptet with prices 20 % higher and imported it in one go for all 12,109 products.
  • Shipping runs on the client's own carrier contracts, separately for parcels and pallets, so Allegro cannot re-bill it with its own rates.
  • Over 290 offers are live on Allegro. I checked the catalogue match by EAN for every one, and created the products Allegro did not know by hand, mandatory safety information included.
  • Allegro orders land in Shoptet with mapped statuses, so the client handles them in one place.
  • Catalogue filters are being built now: the first category is live with twelve filters, and a script fills the values from product descriptions and checks them against the product names.
LuDreamFacebook and Instagram ads, tracking

E-commerce · PrestaShop, Meta Ads · 2026

A shop with blue-light-free lamps and sleep aids, one PrestaShop for Czechia, Slovakia, Poland, Hungary and Romania. Czech Partners Group wanted to launch Facebook and Instagram ads and, depending on results, roll them out to its other shops.

The work

  • A new pixel that also sends events from the server. Purchases reach Meta with the real order amount.
  • A product catalogue for Czechia plus language and currency versions for Slovakia, Poland, Hungary and Romania, which the ads pull prices and photos from.
  • Three campaigns: sales for Czechia and Slovakia, and remarketing to people who have already visited the shop. Polish, Hungarian and Romanian copy is ready for the rollout.
  • I tidied up the page and business accounts in Meta: a new portfolio under the LuDream brand, the old one kept separate, nothing deleted.
Bláža SteelGoogle Ads cleanup, lead tracking, new campaigns

Car buyout and garage · Google Ads · 2026

An Ostrava company that buys end-of-life cars, runs a tow service and a garage that cleans diesel particulate filters. It was paying for Google ads without knowing what they brought: the account did not count calls or WhatsApp messages, so there was no way to tell what the money bought.

The work

  • I went through the account for free and wrote down where the money went. The client took the job the same day.
  • Lead tracking: calls from ads, form submissions and WhatsApp clicks count as conversions in Google Ads and GA4, without double counting.
  • I rebuilt the buyout campaign by service, set the targeting radius around the yard and added over 240 negative keywords against searches that bring no jobs, such as other scrapyards' names.
  • A new campaign for DPF cleaning pointing to its own site, cistenidpfostrava.cz, and a campaign for searches about competitors.
  • Ads that Google restricted because of their landing page now point to the homepage and run without restriction. The client gets a regular overview of leads.
Zeleň bez starostíTakeover, new site, domain transfer

Company website · Astro · 2026

The previous supplier held the domain and the hosting. Mobile navigation was broken, the portfolio section was empty.

The work

  • The domain and the site sit with the client, so edits no longer depend on anyone
  • What the site offers matches what the firm actually does, construction work included
  • Prices are public, so enquiries come from people who have already seen them
VystavenoLead development

Web application · 2025–2026

Small businesses live in paper, spreadsheets and several disconnected apps.

The work

  • A publicly available system at vystaveno.cz
  • POS, inventory, reservations and invoicing in one interface
  • A live example of leading the build of a web application in production
IuriverseDesign and build of the whole app

Web application · Next.js · 2025–2026

Legal work split across spreadsheets, calendars and billing tools. Conflict checks done by hand.

The work

  • A publicly available product at iuriverse.com
  • One workspace for entities, matters, deadlines, time tracking and invoicing
  • Role-based access and an immutable audit trail for traceable changes
Ancient IntelligenceBrand, design and build

Brand and website · 2026

A field full of cheap-looking sites. Discreet clients who must not be promised anything that cannot be guaranteed.

The work

  • Eight pages under one identity, the subject carries its depth without an endless one-pager
  • No tracking or advertising cookies, only what is strictly necessary to serve the site
B2B marketplace of verified leadsProduct build, payments, verification

B2B marketplace · under NDA · 2026

A lead marketplace lives on trust: dead leads and unverified companies had to be filtered out before they meet.

The work

  • No dead lead or fake company gets in, verification is automatic, not manual
  • Companies pay credits only for the contacts they unlock themselves
  • Delivered in stages under a contract for work, the client pays for what's shipped, not for promises
vondrart.studioBuild and animation from the studio's design

Design studio · Next.js · 2024

The studio delivered a finished design and a precise idea of the motion. The build had to match it and stay smooth on a phone.

The work

  • The studio's motion identity lives in the browser, not just in a deck
  • A smooth feel even on a weaker phone, the visitor doesn't bounce
  • The site loads before the visitor loses patience

Need a new website, redesign or application?

Tell me what you need to build or improve. I will reply with a concrete next step.

Work with me
Contact

Tell me what you need solved.

Whether you have a site that misbehaves or are only planning a new one, a few sentences are enough. You need neither a brief nor a budget yet, that is my job.

What happens next
  1. Within three working days you hear from me, not from an assistant or an autoresponder.
  2. For an existing site you get a free, non-binding review with findings.
  3. For a new project a few questions about the scope, then the scope and one figure.

Prefer email or a call?patrik@patrikz.dev+420 774 318 382

What are you dealing with

The domain is enough.

When do you need it (optional)

Or write to me at patrik@patrikz.dev.