Hvem som gjør jobben
Jeg heter Mariusz Szatkowski og jobber alene under navnet WPPoland. Jeg har skrevet kode for WordPress siden 2006, og arbeidet har vokst derfra til WooCommerce, TypeScript og Node.js, headless frontender i Astro og Next.js og kode som kjører i Cloudflare Workers. Det jeg leverer, er serverkoden, integrasjonene mellom systemene og frontendene oppå dem.
Det er en smalere definisjon enn «programvareutvikler» i vid forstand. Jeg har ikke mobilteam, designavdeling eller juniorer å sette på saken. Du får personen som skriver koden, leser koden du allerede har, og står for den.
Hva jeg bygger for nettbutikker og nettsteder
- Integrasjoner mellom systemer. En WooCommerce-butikk som skal stemme med regnskapssystemet (i Norge ofte Tripletex, PowerOffice eller Visma), et lager eller en grossists prisfil. Selve API-kallet er sjelden det vanskelige. Det vanskelige er å bestemme hvilket system som er fasit for lager, pris og ordrestatus, og hva som skjer når to av dem er uenige midt på natta.
- Butikklogikk. Kasse, betaling og frakt (Vipps er det vanlige eksempelet i en norsk butikk), ytelse målt på ekte besøkende og utvidelsene som holder butikkens egne regler.
- Headless og kode på kanten. Astro eller Next.js oppå WordPress eller WooCommerce, rullet ut til Cloudflare. Det lønner seg når innholdsmodellen er stabil, og sjelden for et nettsted som endres to ganger i året.
- Skreddersydde WordPress-utvidelser. En ordentlig datamodell, bakgrunnsjobber, REST- og WP-CLI-grensesnitt og adminskjermer redaktører kan bruke uten bruksanvisning.
- AI- og MCP-integrasjoner. Kobling mellom nettstedet og AI-agenter som er skrivebeskyttet som standard, logget og mulig å reversere.
Grafisk design og wireframes leverer du. Jeg gjør dem om til et fungerende, responsivt grensesnitt.
Hvilken teknologi velger jeg, og når?
| Lag | Verktøy | Velges når | Velges ikke når |
|---|---|---|---|
| Server | PHP 8 på WordPress | Systemet trenger redaktører, brukere, utvidelser og rimelig hosting | Oppgaven er en langvarig tjeneste uten innholdsmodell |
| Netthandel | WooCommerce | Katalog, kasse og ordredata skal ligge i din egen database | En hostet plattform holder, og ingen vil drifte servere |
| Skript og tjenester | TypeScript på Node.js | Integrasjoner, CLI-verktøy, MCP-servere, alt med en typet kontrakt | En jobb på ti linjer som WP-CLI allerede gjør |
| Datatjenester | Kotlin og Spring Boot | Store importer med kø, nye forsøk og en typet domenemodell | Ditt team vedlikeholder bare PHP |
| Frontend | Astro | Innholdstunge sider der det meste er statisk | Grensesnittet er en applikasjon med mye tilstand |
| Frontend | Next.js | Applikasjonslignende frontender med mye tilstand i klienten | Nettstedet består stort sett av dokumenter |
| Kant | Cloudflare Workers og Pages | Hurtigbuffer, videresendinger, små API-er og statiske bygg | Jobben trenger en databasetilkobling som står åpen i minutter |
Språket betyr mindre enn grensene. Jeg vil kunne si hvilket system som eier hvilke data, hvilken kode som kjører hvor, og hvordan forrige lansering angres.
Kode du kan sjekke uten å spørre meg
- wppoland/woocommerce-mcp: en skrivebeskyttet Model Context Protocol-server for WordPress og WooCommerce i TypeScript, MIT-lisens. Fem verktøy (produkter, enkeltprodukt, ordrer, salgsrapport og søk i offentlige innlegg) og ingenting som kan endre butikken.
- wppoland/hidden-text-detector: et Python-verktøy som finner skjult tekst og prompt injection i PDF- og DOCX-filer, for eksempel hvit tekst på hvit bakgrunn, mikroskopisk skrift og usynlige Unicode-tegn. Jeg bruker det på kontrakter og anbudsforespørsler før jeg handler på dem.
- Profilen motylanogha på wordpress.org: 30 gratis utvidelser i den offisielle katalogen. Plogins-produktene Polski, Shoplex, Customs og Quotlet er også mine.
- Dette nettstedet. wppoland.com er bygget med Astro 7 på Cloudflare Pages, på seks språk. Hver endring går gjennom automatiske kontroller for døde lenker, schema og sitemap før den publiseres.
Arbeidserfaring
Rollene står offentlig på LinkedIn. Kundenavn innenfor oppdragene holder jeg for meg selv.
| Periode | Rolle | Innhold |
|---|---|---|
| Siden okt. 2025 | Fullstack-utvikler (innleid), programvarebyrå i Wien | Abonnementsplattform for medier og handel: Composer-monorepo, CI, abonnementsflyter i Stripe og en tjeneste i Kotlin og Spring Boot som henter ERP-, CleverReach- og adressedata inn i Mautic |
| Siden jan. 2021 | WordPress-, WooCommerce- og PHP-utvikler (innleid), Equiqo, Berlin | Skreddersydd WordPress, WooCommerce, HubSpot og Shopify på Roots-stakken (Bedrock, Sage) |
| 2020 | WordPress-utvikler, Itineris, Ipswich | WordPress på Sage og Bedrock, CircleCI, ytelse og SEO |
| 2019 til 2020 | WordPress-utvikler (frilans), what., Zürich | Skreddersydd WordPress, ytelse og strukturerte data |
| 2016 til 2019 | WordPress-utvikler og teampilot, AirHelp | Flerspråklighet, AMP og ytelse på et forbrukernettsted med mye trafikk |
| 2007 til 2015 | Webutvikler, Vector Group, Gdynia | Webutvikling, B2B-nettbutikker og søkemotormarkedsføring |
| Siden 2006 | WPPoland | Navnet jeg driver alt selvstendig arbeid under |
Utenom kundearbeidet arrangerer jeg WordCamp Gdynia, sitter i arrangørteamet for WordCamp Europe på budsjettsporet (Basel 2025, Kraków 2026) og er konferansekoordinator for CMSConf 2026 i Gdynia.
Anonymiserte kundecaser, med problem, fremgangsmåte og hva som kunne måles: ytelsesredning for WooCommerce, migrering fra TYPO3 til WordPress, MCP-server for en redaksjonsflyt og headless WooCommerce på Cloudflare. Tjenestesidene går dypere: WordPress-utvikler, WooCommerce-utvikler, PHP-utvikler, Astro-utvikler, Next.js, Cloudflare edge og MCP-servere.
Frilanser, byrå eller programvarehus?
Én erfaren utvikler er ikke alltid riktig valg. Det avhenger av hvor stort problemet er og hva som skjer etter lansering.
| Situasjon | Frilanser | Byrå | Programvarehus |
|---|---|---|---|
| En integrasjon eller en redning med én ansvarlig hos deg | Passer godt | Ofte tregere i gang | Som regel for tungt |
| Nytt produkt som trenger design, frontend og backend samtidig | Bare med din egen designer | Passer godt | Passer godt |
| Seks eller flere utviklere i løpet av en måned | Passer ikke | Mulig | Passer godt |
| Langsiktig vedlikehold av WordPress eller WooCommerce | Passer godt, med skriftlig plan for kontinuitet | Passer godt | Sjelden fokus |
| En mobilapp | Passer ikke her | Avhenger av byrået | Passer godt |
Risikoen med en frilanser er kontinuitet: sykdom, ferie eller dagen vedkommende slutter å svare. Hos meg er svaret skriftlig: koden ligger i ditt repository fra første commit, dokumentasjonen ligger ved siden av koden, tilgangene er dine, og en annen utvikler kan fortsette uten å ringe meg. Byråer som vil ha en fast teknisk partner, finner samarbeidsmodellene under partnerskap.
Spørsmål å stille enhver utvikler
- Hvor ligger koden? I ditt repository, i din organisasjon, fra første dag.
- Hvordan testes en endring før produksjon? Se etter testmiljø, automatiske kontroller og en navngitt person som godkjenner lanseringer.
- Hvordan angres en lansering? Spør etter veien tilbake. Færre har prøvd den enn veien ut.
- Hva ble målt før arbeidet startet? Tall for ytelse eller feilrater betyr lite uten en utgangsverdi målt på samme måte.
- Hva vil du ikke gjøre? En utvikler uten uttalte grenser oppdager dem på ditt budsjett.
Når jeg overtar et eksisterende system, bruker jeg den første tiden på å lese. Jeg kartlegger hvilke utvidelser og tjenester som holder forretningslogikken, hvilke cron-jobber og webhooks som kjører, og hvilke data som ligger utenfor databasen. Problemet gjenskaper jeg på en kopi før jeg retter det. Kode som er stygg, men riktig og testet, får stå.
Personvern når en utvikler får tilgang
I Norge gjelder personvernforordningen som norsk lov gjennom personopplysningsloven § 1, og Datatilsynet fører tilsyn. Får jeg tilgang til et system med personopplysninger, behandler jeg dem på dine vegne. Derfor signerer vi en databehandleravtale etter artikkel 28 i forordningen før jeg får tilgang.
- Tilgangene er dine. Du oppretter en egen bruker til meg og stenger den når oppdraget er over. Ingen delte administratorpassord på e-post.
- Produksjonsdata kopierer jeg bare når det trengs. De lagres kryptert, anonymiseres før de havner i testmiljøet og slettes når arbeidet er ferdig.
- Endringer kan spores. Hver lansering hører til en commit, og hver commit har en begrunnelse.
- Jeg bruker ingen underleverandører. Ingen andre enn meg får tilgang.
Hvordan et oppdrag går
- Skriftlig beskrivelse av systemet, problemet, fristen og hvem som bestemmer hos deg.
- Omfang med forutsetninger: hva som er med, hva som ikke er med, og hva som må stemme for at tilbudet skal holde.
- Utgangspunkt: tilgang, kopi i testmiljø og målinger før noe endres.
- Arbeid i små steg: commits du kan gjennomgå, endringer du godkjenner i testmiljøet, beslutninger skrevet ned i repositoryet.
- Lansering og overlevering med en prøvd tilbakeføring og dokumentasjon.
Kontrakten følger polsk rett. Du får B2B-faktura med mitt EU-mva-nummer PL7393037445, og betalingsvilkårene står med datoer i omfanget. Arbeidet starter når forskuddet, 30 til 50 % avhengig av prosjektet, er mottatt.
Jeg tilbyr ikke grafisk design, wireframes, native mobilapper eller vakt døgnet rundt, og jeg later ikke som om jeg er et team. Én person betyr én kalender.
Kontakt
Beskriv systemet skriftlig: hva som skal bygges eller rettes, frist og nåværende teknologi. Du får spørsmål eller et første omfang skriftlig tilbake. Mer om meg står på om meg-siden.







