Client

Work

Shops, clinics, schools and showrooms. Each one runs on its own numbers, so the work is judged by enquiries and sales, not by a launch.

Electric Studio

E-bike and e-moto shop, Poland

Electric Studio

Shop theme, product data, Google Ads with Merchant Center and supplier integrations for a Shoper store selling Surron, Talaria and E Ride Pro.

Under the hood

  • GA4 and Tag Manager rebuilt: the purchase event fired on every page view and inflated sales 280 times. One trigger condition fixed it.
  • Supplier feeds and stock synced into the shop; product pages, instalment blocks and delivery dates generated from data.
  • Search campaigns split by model, exact-match exclusions for bare brand names, search partners off, location targeting by presence.

Measured

  • Return on ad spend checked against paid orders, not the panel: the real figure was one eighth of what the dashboard showed.
  • GA4 saw 68% of orders, the rest came in by phone. Since then every report carries two columns: measured and paid.

What I recommended

  • Budget follows verified paid orders only. A pre-order page for the model whose searches double every month.

Visit the site

RehaMedica

Physiotherapy clinic, Gliwice

RehaMedica

WordPress website and hosting after a move from Framer, technical SEO, measurement and the Google Business Profile.

Under the hood

  • Migration with 29 redirects so that no old address died.
  • Booking routing for 85 price-list groups: every service leads to its own booking link or form. Before, most of them led to a dead end.
  • Nine measured events with consent mode, no tracking on the symptom map and no service names in URLs, because health data has its own rules.

What I recommended

  • A Business Profile run from the practice, not from an agency account, and a monthly read of Search Console by page.

Visit the site

Porto Alegre

Language school, Gliwice

Porto Alegre

SEO and Google Ads for a school where most sign-ups start with a phone call.

Under the hood

  • Call measurement from the site and from the ad: a call counts as an enquiry only after 40 seconds, so a tap on the number is no longer a lead.
  • A forwarding number shown only to visitors from ads; organic visitors see the school's own number.

Measured

  • Enquiries by phone and by form now sit in one report, by campaign.

What I recommended

  • Move the primary conversion from the form to the call once two weeks of data confirm the pattern.

Visit the site

LEVEL

Language school, three locations

LEVEL

Google Ads rebuilt around enquiries rather than clicks, SEO on Squarespace.

Under the hood

  • Search-term audit: eight of ten measured conversions came from people typing the school's own name. Generic terms produced none.
  • Three campaigns, one per intent, exclusion lists of 165 competitor names and other towns, a cost-per-click ceiling instead of automated bidding on too little data.

Measured

  • Clicks costing eight times the average stopped the day the ceiling went in. Cost per enquiry on the brand campaign is a fifth of the course campaign's.
  • Two of six calls from ads went unanswered in working hours, and the report says so out loud.

What I recommended

  • More budget on the campaign that loses half its impressions to budget, not on the one that buys clicks.

Visit the site

Lepimy

Pierogi restaurant, Gliwice

Lepimy

Search review, page speed and the Google Business Profile for a restaurant that runs its site without cookies or banners.

Under the hood

  • Largest Contentful Paint from 4.0 s to 2.9 s by taking the intro animation off the critical path; mobile performance score from 75 to 95.
  • Structured data corrected: a review count that did not match reality was removed rather than left for Google to catch.

Measured

  • Third place in the local pack for the main dish query, with a fifth of the reviews the two leaders have.

What I recommended

  • Reviews and photos on the Business Profile before any more code.

Visit the site

MEUME

Furniture maker, Tychy

MEUME

New WordPress website after the previous shop was cut off by its hosting, with WooCommerce and a configurator to follow.

Under the hood

  • Classic theme with content editable in the admin, self-hosted fonts, no scroll hijacking.
  • Content and product data recovered from the blocked site.

What I recommended

  • Three stages, each usable on its own: pages first, shop second, configurator last.

Visit the site

MEUME · Linea Base 3D

Furniture maker, reception counters, Tychy

A 3D configurator for the Linea Base reception counter: finishes, glass, logo, height and accessories change on screen as the customer chooses.

Under the hood

  • A live three.js scene with soft shadows and ambient occlusion, plus a pre-rendered mode for computers without a graphics card.
  • Built from the client's 2D renders, with no 3D source files, and packaged as a WordPress plugin.

VoltGo

Electric vehicle rental marketplace

VoltGo

Catalogue work on a custom CMS: vehicle versions, pricing and photos for rental stations.

Under the hood

  • Seventeen vehicle versions with parameters, descriptions and 82 photos loaded into a CMS that has no import and no API, through scripted browser automation with a read-back after every save.

Visit the site

KIOKUYA

Own product: CRM for vehicle dealers

KIOKUYA

Customer records, invoicing and fleet documents in one place, built in Python.

Under the hood

  • Invoices with the vehicle identification number on each line, fleet invoices covering many vehicles, imports that de-duplicate themselves.
  • A scheduler running in production on Postgres.

Visit the site

kiodem.com

This site

Hand-written HTML, CSS and JavaScript, no framework and no builder: an endless field of tiles in perspective, a loader in fifteen languages, five language versions and charts that draw themselves.

Under the hood

  • Three files and one animation library; everything else is written by hand, which is why it can look like this and still load fast.
  • Static hosting: nothing to update, nothing to break, nothing to pay for.

Visit the site

One email is enough. I reply within one working day.

Write to me Answer six questions