Software developer for web and e-commerce systems

Software developer for web and e-commerce systems

5.00/5 - (17 votes)
9 min read
Guide

#Who writes the code

I am Mariusz Szatkowski, a software developer based in Gdynia on the Polish Baltic coast, one hour ahead of London and Dublin. I have worked with WordPress since 2006 and have traded as WPPoland since 2007. From there the work grew into WooCommerce, TypeScript and Node.js, headless front ends in Astro and Next.js, and edge code on Cloudflare Workers.

I work alone. There is no mobile team, no design department and no bench of juniors I hand work to. The code you receive is code I wrote, and I answer for any of your existing code that I touch.

#What I build

  • Integrations. A WooCommerce store that has to agree with an ERP, a wholesaler’s price feed, Xero or Sage, or a warehouse. The API call is rarely the hard part. The hard part is deciding which system owns stock, prices and order status, and what happens when two of them disagree.
  • Store engineering. Checkout logic, payments through Stripe, PayPal or Klarna, shipping through Royal Mail, Evri, DPD or An Post, and performance measured on real visitors rather than a lab score.
  • WordPress plugins with a real data model: background jobs, REST and WP-CLI interfaces, and admin screens your editors can use without a manual.
  • Headless front ends in Astro or Next.js on top of WordPress, deployed to Cloudflare. Worth it when the content model is stable; not worth it for a brochure site that changes twice a year.
  • AI and MCP integrations that are read-only by default, logged and reversible.

#The stack, and when I leave parts of it out

LayerToolI use it whenI skip it when
ServerPHP 8 on WordPressYou need editors, user accounts, plugins and cheap hostingThe workload is a long-running service with no content model
CommerceWooCommerceCatalogue and order data must stay in your own databaseA hosted platform’s limits do not bother you
ServicesTypeScript on Node.jsIntegration workers, CLI tools, MCP serversOne WP-CLI command already does the job
Bulk dataKotlin and Spring BootLong imports with a queue and retriesYour team only maintains PHP
Front endAstroContent-heavy, mostly static pagesThe interface is a stateful application
Front endNext.jsApplication-like front endsThe site is mostly documents
EdgeCloudflare Workers and PagesCaching, redirects and small APIs close to the visitorThe job holds a database connection open for minutes
ToolingPythonData checks, document analysis, one-off migrationsYour team will maintain the code in PHP

The language matters less than the boundaries. Good software is software where you can say which system owns which data, what runs where, and how to undo last Tuesday’s release.

#Public code you can check without asking me

  • wppoland/woocommerce-mcp: a Model Context Protocol server for WordPress and WooCommerce in TypeScript, MIT licence. Five tools (product list, single product, orders, sales report, post search) and none that can change the store. That decision is the part worth reading.
  • wppoland/hidden-text-detector: a Python tool that finds white-on-white text, unreadably small fonts, text placed off the page and invisible Unicode characters in PDF and DOCX files. I wrote it because contracts and tenders started arriving with instructions aimed at an AI reader.
  • The motylanogha profile on wordpress.org: 30 free plugins in the official directory (checked on 29 October 2026), including Shoplex, Quotlet, Plogins Customs and Polski for Polish stores. They are my own plogins.com products, built on PHP 8.1 with PHPStan and PHPCS.
  • This website. wppoland.com is an Astro 7 build on Cloudflare Pages in six languages that runs automated checks on links, schema, sitemaps and headings before every release. In September 2026 I moved HTML minification onto worker threads; that step went from 910 to 199 seconds with byte-identical output.

#Work experience

The roles are public on LinkedIn; I do not name the clients inside those contracts.

PeriodRoleWhat I worked on
Since Oct 2025Full-stack engineer (contract), Vienna software engineering agencyA subscription media and commerce platform: Composer monorepo, CI with two release gates, Stripe subscriptions and a Kotlin and Spring Boot service consolidating ERP, CleverReach and address data into Mautic. My part: importing subscription invoice lines and pushing them to Mautic in chunks, a supervised backfill, retries on transient Mautic errors, runbooks
Since Jan 2021WordPress, WooCommerce and PHP developer (contract), Equiqo, BerlinWordPress, WooCommerce, HubSpot and Shopify on the Roots stack (Bedrock, Sage), performance and structured data
2020WordPress developer, Itineris, Ipswich (UK)Custom WordPress on Sage and Bedrock, CircleCI, performance and SEO
2019 to 2020WordPress developer (freelance), what., ZurichCustom WordPress, performance, structured data
2016 to 2019WordPress developer, AirHelpMultilingual, AMP and performance work on a high-traffic consumer site
Until 2015Web developer and internet marketing specialist, Vector Group, GdyniaWebsites, B2B commerce sites, search marketing

Outside client work I organise WordCamp Gdynia, have been on the WordCamp Europe organising team since 2024, and co-organise CMSConf in Gdynia. Anonymised case studies, each saying what could and could not be measured: WooCommerce performance recovery, TYPO3 to WordPress, MCP server for an editorial workflow, headless WooCommerce on Cloudflare, headless migration plan, AI content operations. Stack detail: WordPress developer, WooCommerce developer, PHP developer, Astro developer, Next.js, Cloudflare edge, MCP servers.

#Questions to ask any developer

  1. Where does the code live? In your repository, under your organisation, from day one. A developer who keeps the code until the invoice is paid is holding it hostage.
  2. How is a change tested before production? Look for staging, automated checks and a named person who approves releases. “I test on the live site” is a warning.
  3. How is a release undone? Anyone can deploy. Fewer people have rehearsed going back.
  4. What was measured before work started? Speed and conversion claims mean nothing without a baseline taken the same way.
  5. What will you not do? A developer with no stated limits will find them on your budget.
  6. Can I read something you wrote? Code, an article or a design document shows quickly whether the author names trade-offs.

#Freelancer, agency or software house?

A single developer fits an integration or a rescue where one person on your side owns the decision: one head holds the whole problem. A new product that needs design, front end and back end at once, or six developers within a month, belongs with an agency or a software house. So does a mobile app.

The real risk with one person is continuity: illness, holidays, the day someone stops replying. With me that is covered by code in your repository from the first commit, documentation next to it, credentials held by you, and a written handover another developer can follow. Agencies looking for a standing technical partner can read the cooperation models on the partnerships page.

#Taking over code from another developer

Most work starts inside a system that already runs, so the first days go on reading. I write down which plugins and services hold business logic, which cron jobs and webhooks run, and which data lives outside the database, for example in the payment provider’s dashboard. That map goes into the repository. I reproduce problems on a staging copy with customer records anonymised, so a fix is proven before it ships. Ugly but correct code stays; wrong code is replaced in small, reviewable steps.

#Data protection and contracting from the UK and Ireland

Before I get access to any system holding personal data, I sign a data processing agreement under Article 28 of the GDPR, or of the UK GDPR for a UK controller. I use no sub-processors. The UK framework sits alongside the Data Protection Act 2018; in Ireland it is the GDPR with the Irish Data Protection Act 2018.

  • You create a named account for me in your systems and remove it when the work ends. No shared admin passwords by email.
  • I copy production data only when needed, keep it encrypted, anonymise it for staging and delete it afterwards.
  • Every release maps to a commit, and every commit to a written reason.

The contract is a B2B agreement under Polish law. I invoice from Poland with EU VAT number PL7393037445, and your invoice carries your own VAT number. Payment dates are written into the scope, and work starts once the deposit, 30 to 50% depending on the project, has arrived.

#How a project runs

  1. Brief in writing: the system, the problem, the deadline, repositories, hosting, and who decides on your side.
  2. Scope with assumptions: what is in, what is out, and what has to be true for the estimate to hold. Design, wireframes and content come from you and are listed as such.
  3. Baseline: access, a staging copy and measurements before the first change.
  4. Work in the repository: reviewable commits, each change on staging with a note, decisions recorded in the repository rather than a chat thread.
  5. Release and handover: a rehearsed rollback and documentation the next person can work from.

#What I do not do

  • Graphic design, wireframes or UX design. You supply the layout, often as a simple spreadsheet mapping elements to each view, and I build it into a working, responsive interface.
  • Native iOS and Android apps. That is a different discipline.
  • 24/7 on-call or guaranteed response times. I work alone and do not promise to pick up at three in the morning.
  • Pretending to be a team. One person has one calendar. Large parallel workloads belong with an agency.

If you have a web or e-commerce system that has to run reliably and make sense to the next person who opens it, describe it in writing. More background is on the about page.

Explore other WordPress services and knowledge base

Strengthen your business with professional technical support in key areas of the WordPress ecosystem.

Recommendations from LinkedIn

Recommendations and reviews of working with WPPoland

Selected recommendations from WordPress, WordCamp and e-commerce leaders - with a focus on delivery on time, technical depth, and a business-driven approach to WordPress development.

Karolina Czapla

Karolina Czapla

Marketing Strategist, Performance & Digital Strategy

“Working with Mariusz on WordCamp has shown me how rare it is to combine deep technical skill with genuine leadership. He plans, coordinates and delivers with precision, while giving the team space to grow and contribute....”

Co‑organiser, WordCamp Gdynia 2024 & 2025

Anna Kamińska

Anna Kamińska

Talent Acquisition Specialist / HR People Partner

“Mariusz's portfolio speaks for itself. It reflects his precision, versatility and sense of responsibility. You can trust him to guide a project from idea to delivery, keep stakeholders informed and make sure things are d...”

Worked on the same team

Sarah‑Luisa Kwolek

Sarah‑Luisa Kwolek

IT Project Management & Product Owner, Web/App

“For over two years I could always rely on Mariusz to handle WordPress tasks calmly and professionally, from styling and templating to third‑party integrations. He brings steadiness to the team and keeps the frontend side...”

Mariusz was her client for WordPress work

Argert Boja

Argert Boja

Senior Full‑Stack Developer

“Mariusz is the teammate everyone hopes for: strong full‑stack WordPress skills, clear explanations and a positive attitude even under pressure. He moves easily between custom plugins, performance work and Gutenberg layou...”

Worked alongside Mariusz on WordPress projects

Varun Patil

Varun Patil

Growth & CRM Lead

“Beyond development, Mariusz understands SEO, analytics and growth. He talks directly with stakeholders, asks the right questions and ships solutions that move business metrics, from AMP to tracking to performance.”

Managed Mariusz on growth initiatives

Rafał Osiński

Rafał Osiński

Founder @ EasyTrips.pl, Senior WordPress Dev

“I've known Mariusz through the WordPress community for many years. He's reliable, deeply involved and consistently shows up, at meetups, WordCamps and in projects. If you care about long‑term collaboration and someone wh...”

WordPress community co‑organiser

Daniel Blossfeld

Daniel Blossfeld

Process Optimization & Digitalization Consultant

“I had the pleasure of working with Mariusz for almost three years. During that time, his WordPress development skills proved invaluable across a range of projects, from website builds to online member areas and even Shop...”

Mariusz was his client for WordPress work

Natalie Wiszczor

Natalie Wiszczor

CRM & E-Mail Marketing Manager

“I had the great pleasure of working with Mariusz for over 4 years in the technical field. During this time, he proved to be a competent and reliable colleague. What stood out in particular was his friendly nature and his...”

Worked with Mariusz on different teams

Mark Chalklen

Mark Chalklen

Head of Design & Build at Itineris Limited

“Mariusz is a great member of the team, always happy to get stuck into any task and happy to learn new things. A great communicator and all round nice guy to work with. Hard to beat on our weekly Strava leader board thoug...”

Managed Mariusz directly

Jessica Di Pasquale

Jessica Di Pasquale

Leading SEO initiatives with data-driven growth strategies.

“Mariusz is a very skilled, patient and expert guy. Always ready to help and to fix errors, I really appreciated working with him. He is such a great colleague!”

Managed Mariusz directly

Biki John

Biki John

Content Marketing Aficionado & SEO Enthusiast

“It was great to work with Mariusz. I really appreciated his extensive knowledge of WordPress and how that came in handy whenever I needed support navigating the CMS. I commend Mariusz totally for his patience, good natur...”

Worked with Mariusz on different teams

Rafal Borowiec

Rafal Borowiec

Software Developer, Consultant, Manager and Lecturer

“I had an opportunity to work with Mariusz for 7 months. He excels in technical optimization for search engines (SEO). Mariusz has also strong expertise in AMP development, GTM, and GA. Mariusz feels very comfortable with...”

Managed Mariusz directly

Belinda Koch

Belinda Koch

Web-Tracking Analyst at TUI

“Mariusz is a great person to work with. He is extremely motivated to learn new things and share his knowledge, and is very knowledgeable on a wide range of topics. We worked together on digital analytics and tracking top...”

Worked with Mariusz on digital analytics and tracking topics

Ali Nezamolmaleki

Ali Nezamolmaleki

Growth, SEO, Analytical thinking, AMP

“Mariusz is an extremely talented person in his field of work. He is always capable of giving a new perspective to solve problems and to think out of the box in situations where everything seems to be locked. Working with...”

Worked with Mariusz on the same team

Karol Jakubcewicz

Karol Jakubcewicz

Front-end / JavaScript Developer

“Mariusz is an incredibly experienced WordPress developer and SEO/SEM specialist I've had the pleasure to work with for almost two years. As a pilot of the team responsible for AirHelp's website development, he's been one...”

Worked with Mariusz on the same team

Paweł Lewczuk

Paweł Lewczuk

Front-end developer, WordPress developer

“I collaborated with Mariusz on several projects and our cooperation was always exemplary. I believe there are many more joint projects ahead of us. Highly recommended!”

Mariusz was Paweł's client

Przemek Wroblewski

Przemek Wroblewski

Software Developer with 20+ years of experience

“I found Mariusz as someone with great expertise and profound knowledge of frontend solutions. Powerful, knowledgeable and accountable WordPress developer. Has an easiness to build interpersonal relations with others. He ...”

Worked with Mariusz on different teams

Frequently asked questions

Questions about scope, delivery, pricing, and execution quality.

What kind of software developer is WPPoland?#
WPPoland is me, Mariusz Szatkowski. I build web and e-commerce systems, mostly server-side and integration work: PHP and WordPress, WooCommerce, TypeScript on Node.js, Astro and Next.js front ends, and Cloudflare Workers. I work alone, so there are no mobile apps and no design department.
Can I check the code before hiring?#
Yes. Two of my projects are public on GitHub: wppoland/woocommerce-mcp, a read-only MCP server for WooCommerce in TypeScript under the MIT licence, and wppoland/hidden-text-detector, a Python tool that finds hidden text and prompt injection in PDF and DOCX files. The wordpress.org profile motylanogha lists 30 of my free plugins.
Who owns the code?#
You do. I commit to your repository from the first day, under your account, with no licence held back. If there is no repository yet, it is created in your organisation, not in my personal account.
Is it a fixed price or hourly?#
Either, depending on how well the scope is known. A defined scope gets a fixed price with written assumptions; open-ended work runs as time and materials against an agreed cap. Prices follow the scope, so there is no price list on this page.
What do you not take on?#
Graphic design, wireframes and UX design (you supply the layout), native mobile apps, 24/7 on-call support, and projects that need five developers on day one. An agency or a software house will serve those better.
How do we communicate during the project?#
In writing: email, documents and the repository. I put each change on staging with a description and record decisions in the repository. If you need a phone call, ask.

Need an FAQ tailored to your industry and market? I can build one aligned with your business goals.

Let’s discuss

Related Articles