Quem faz o trabalho
Chamo-me Mariusz Szatkowski e trabalho sozinho, sob o nome WPPoland. Escrevo código para WordPress desde 2006 e, a partir daí, passei para WooCommerce, TypeScript e Node.js, front ends headless em Astro e Next.js e código em Cloudflare Workers. Não tenho equipa de mobile, departamento de design nem juniores. O código que recebe é escrito por mim, e sou eu que respondo por ele.
O que construo para lojas e sites
- Integrações. Uma loja WooCommerce que tem de bater certo com o programa de faturação certificado (em Portugal, muitas vezes Moloni ou InvoiceXpress), com um ERP, com um armazém ou com o ficheiro de preços de um grossista. O difícil é decidir que sistema manda no stock, nos preços e no estado da encomenda, e o que acontece quando dois discordam.
- Lojas. Checkout, pagamentos com MB WAY e referências Multibanco através de um prestador como a ifthenpay ou a Eupago, envios, desempenho medido em visitantes reais e os plugins que guardam as regras de negócio.
- Headless e edge. Astro ou Next.js sobre WordPress ou WooCommerce, publicados no Cloudflare, quando o modelo de conteúdo é estável.
- Plugins WordPress à medida. Modelo de dados próprio, tarefas em segundo plano, REST e WP-CLI e ecrãs de administração que se usam sem manual.
- IA e MCP. Ligações a agentes de IA só de leitura por omissão, registadas e reversíveis.
O design gráfico e os wireframes vêm do cliente. Eu implemento-os numa interface responsiva que funciona.
Código público que pode verificar
- wppoland/woocommerce-mcp: servidor Model Context Protocol só de leitura para WordPress e WooCommerce, em TypeScript, licença MIT. Cinco ferramentas (produtos, um produto, encomendas, relatório de vendas, pesquisa de artigos públicos) e nenhuma capaz de alterar a loja.
- wppoland/hidden-text-detector: ferramenta em Python que deteta texto oculto e prompt injection em PDF e DOCX, como texto branco sobre branco, letra minúscula e caracteres Unicode invisíveis. Passo por ela os contratos e cadernos de encargos que recebo.
- Perfil motylanogha no wordpress.org: 30 plugins gratuitos no diretório oficial. Os produtos Plogins Polski, Shoplex, Customs e Quotlet também são meus.
- Este website. O wppoland.com é feito em Astro 7 no Cloudflare Pages, em seis idiomas, e cada alteração passa por verificações automáticas de links, schema e sitemap antes de ser publicada.
A stack, peça a peça
| Camada | Ferramenta | Escolho quando | Não escolho quando |
|---|---|---|---|
| Servidor | PHP 8 sobre WordPress | São precisos editores, utilizadores, plugins e alojamento acessível | É um serviço de longa duração sem modelo de conteúdo |
| Comércio | WooCommerce | Catálogo, checkout e encomendas devem ficar na sua base de dados | Uma plataforma alojada chega e ninguém quer gerir servidores |
| Serviços | TypeScript em Node.js | Integrações, ferramentas de linha de comandos, servidores MCP | O WP-CLI já resolve em dez linhas |
| Dados | Kotlin e Spring Boot | Importações grandes com fila e novas tentativas | A sua equipa só mantém PHP |
| Front end | Astro | Sites de conteúdo, quase tudo estático | Uma aplicação com muito estado |
| Front end | Next.js | Interfaces do tipo aplicação | Sites que são sobretudo documentos |
| Edge | Cloudflare Workers e Pages | Cache, redirecionamentos, pequenas APIs, builds estáticos | Ligações à base de dados abertas durante minutos |
Percurso profissional
As funções são públicas no LinkedIn. Os nomes dos clientes dentro desses trabalhos ficam confidenciais.
| Período | Função | Em que consistiu |
|---|---|---|
| Desde out. 2025 | Engenheiro full-stack (contrato), agência de engenharia de software de Viena | Plataforma de media e comércio por subscrição: monorepo Composer, CI, subscrições com Stripe e um serviço em Kotlin e Spring Boot que leva dados do ERP, do CleverReach e de moradas para o Mautic |
| Desde jan. 2021 | Programador WordPress, WooCommerce e PHP (contrato), Equiqo, Berlim | WordPress, WooCommerce, HubSpot e Shopify à medida sobre Roots (Bedrock, Sage) |
| 2020 | Programador WordPress, Itineris, Ipswich | WordPress sobre Sage e Bedrock, CircleCI, desempenho e SEO |
| 2019 a 2020 | Programador WordPress (freelancer), what., Zurique | WordPress à medida e dados estruturados |
| 2016 a 2019 | Programador WordPress e piloto de equipa, AirHelp | Multilingue, AMP e desempenho num site de consumo com muito tráfego |
| 2007 a 2015 | Web developer, Vector Group, Gdynia | Desenvolvimento web, lojas B2B e marketing em motores de busca |
Fora do trabalho com clientes, organizo o WordCamp Gdynia, faço parte da equipa organizadora do WordCamp Europe na área de orçamento (Basileia 2025, Cracóvia 2026) e coordeno a CMSConf 2026 em Gdynia.
Estudos de caso anonimizados, com o problema, a abordagem e o que foi possível medir: desempenho WooCommerce, servidor MCP para um fluxo editorial, WooCommerce headless no Cloudflare e plano de migração headless. Páginas de serviço: WordPress, WooCommerce, PHP, Astro, Next.js, Cloudflare edge e servidores MCP.
Freelancer, agência ou software house?
| Situação | Freelancer | Agência | Software house |
|---|---|---|---|
| Uma integração ou um resgate com um responsável claro do seu lado | Boa escolha | Mais lenta a arrancar | Pesada demais |
| Produto novo com design, front end e back end ao mesmo tempo | Só com o seu designer | Boa escolha | Boa escolha |
| Seis ou mais programadores no prazo de um mês | Não serve | Possível | Boa escolha |
| Manutenção de WordPress ou WooCommerce a longo prazo | Boa escolha, com continuidade por escrito | Boa escolha | Raramente é o foco |
| Uma aplicação móvel | Não serve | Depende | Boa escolha |
O risco de um freelancer é a continuidade: doença, férias ou o dia em que deixa de responder. Comigo, isso fica resolvido por escrito: código no seu repositório desde o primeiro commit, documentação ao lado do código e credenciais na sua posse. Agências à procura de um parceiro técnico estável encontram os modelos de colaboração em parcerias.
Como avaliar qualquer programador
- Onde fica o código? No seu repositório, na sua organização, desde o primeiro dia.
- Como é testada uma alteração antes da produção? Procure staging, verificações automáticas e alguém identificado que aprova os lançamentos.
- Como se desfaz um lançamento? Pergunte pelo caminho de volta.
- O que foi medido antes de começar? Números de desempenho sem ponto de partida medido da mesma forma não dizem nada.
- O que não vai fazer? Quem não declara limites descobre-os à custa do seu orçamento.
Quando assumo código de outro programador, a primeira semana é para ler: que plugins e serviços guardam lógica de negócio, que tarefas cron e webhooks correm, que dados vivem fora da base de dados. Reproduzo o problema numa cópia antes de o corrigir, e o código feio mas correto e testado fica.
RGPD quando um programador tem acesso aos seus dados
Se acedo a um sistema com dados pessoais, faço-o como subcontratante, por conta do cliente. Por isso assinamos um contrato nos termos do artigo 28.º do RGPD antes de eu receber qualquer acesso. Em Portugal, a Lei n.º 58/2019 assegura a execução do RGPD e o seu artigo 3.º designa a CNPD como autoridade de controlo.
- As credenciais continuam a ser suas. Cria-me um utilizador próprio e revoga-o no fim do projeto.
- Só copio dados de produção quando é necessário, cifrados, anonimizados para staging e apagados no fim.
- Não uso subcontratados. Ninguém além de mim acede ao seu sistema.
Como decorre um projeto
- Pedido por escrito: sistema, problema, prazo e quem decide do seu lado.
- Âmbito com pressupostos: o que entra, o que fica de fora e o que tem de se verificar para o orçamento se manter.
- Ponto de partida: acessos, cópia em staging e medições antes de qualquer alteração.
- Passos pequenos: commits que pode rever, alterações aprovadas em staging, decisões registadas no repositório.
- Lançamento e passagem: reversão testada e documentação para quem vier a seguir.
O contrato rege-se pela lei polaca e a fatura é B2B, com o meu número de IVA europeu PL7393037445. As condições de pagamento têm datas concretas, e o trabalho começa quando o adiantamento (30 a 50 %, consoante o projeto) estiver recebido.
Não faço design gráfico, wireframes, aplicações móveis nativas nem piquete 24/7, e não finjo ser uma equipa.
Contacto
Descreva o sistema por escrito: o que é preciso construir ou corrigir, o prazo e a tecnologia atual. Respondo por escrito com perguntas ou um primeiro âmbito. Mais contexto na página sobre mim.







