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

In progress. 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.

KIOKUYA

Own product: CRM for vehicle dealers

KIOKUYA

A complete back office for an electric vehicle dealer, running in production: customers, pre-orders, stock, service, invoices and marketing in one system that several companies can share without seeing each other's data.

Under the hood

  • Python, FastAPI and Postgres with row-level security separating companies inside the database; personal data encrypted with a separate key for every customer.
  • Pre-orders with deposits and a public status page where the buyer follows each stage; stock where a vehicle can be reserved before it even arrives; service orders on the same timeline.
  • Invoices with the vehicle identification number on every line and fleet invoices covering many vehicles; payment status read from the invoicing system through a webhook; sync with the Shoper store.
  • Marketing with a consent register: an imported contact is not a marketing consent. Email campaigns with bounce and unsubscribe handling, and a dashboard with vehicles to hand over and orders stuck at a stage.

Visit the site

KIODEM ADS

Own tool: Google Ads and SEO automation

A console that reviews every client's Google Ads and Search Console accounts on its own each week, points out what to fix and later checks whether the change actually worked.

Under the hood

  • Monday morning review of every account: impression share lost to budget and to rank, conversions, cost per conversion, search terms and Google changes from recent weeks.
  • Every decision goes into a log with its evidence, rule and check date; after 14 or 28 days the console compares before and after. More than 230 decisions so far.
  • A watchdog script inside each client account runs hourly on Google's servers and sends an email alert when something unusual happens.
  • Search Console joined with Google Ads shows terms paid for in ads that the site already ranks for organically. An account guard stops any script whose account ID does not match the client profile.

Measured

  • Language school: after the budget increase the review recommended, twice as many enquiry forms at the same cost per form.
  • E-moto shop: 43% more conversions in 30 days at an 8% lower cost per conversion.
  • The after-change check caught a phone-call conversion that Google had quietly added to bid optimisation, before it could skew the campaign's learning.

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

Write to me Answer six questions