← Ripperdoc
Dossier · Tomasz Mroczyński

Tomasz Mroczyński

Jeg bygger løsninger som forsterker mennesker.

Jeg går inn i teknologien ikke fra et diplom, men fra behovet for å bygge noe på nytt. Et tiår med teknisk arbeid — nettverk, kameraovervåking, brukerstøtte, implementeringer — og deretter elleve år i distribusjon, der teknologien var det jeg holdt på med etter arbeidstid. I dag er det det jeg gjør: KI, automatisering og self-hosted systemer.

01Vendepunktet

I et tiår jobbet jeg i tekniske roller — datanettverk, sikkerhetssystemer, implementeringer og teknisk støtte. Så fulgte elleve år i distribusjon, og det er den delen av historien der teknologien ikke var jobbtittelen min. Den var det jeg holdt på med etter arbeidstid — særlig etter at jeg slo meg ned i Norge: jeg lærte, bygde egne prosjekter og eksperimenterte med backend-utvikling, self-hosting og API-integrasjoner. Et parallelt spor som til slutt ble hovedsporet.

I 2025 begynte jeg som lastebilsjåfør mens jeg fullførte førerkort klasse C. En måned senere satte en alvorlig arbeidsulykke en stopper for den veien. I stedet for å se det som et tilbakeslag, gjorde jeg det til et vendepunkt — øyeblikket for bevisst å gjøre en mangeårig lidenskap til min yrkesretning.

Dette er ikke et sprang ut i det ukjente — det er en fortsettelse av en interesse jeg har utviklet i årevis. Jeg fullførte backend .NET-bootcampen hos Noroff, og i dag bygger jeg prosjekter, automatiseringer og AI-baserte systemer og jobber praktisk med self-hosted infrastruktur, Docker og API-integrasjoner. Jeg lærer ved å bygge — og nå gjør jeg det bevisst, som en karriere.

02Prosjekter

To av systemene under ble bygget på oppdrag: Sammen i Norge og Limes Dekor. Resten bygde jeg for meg selv og videreutvikler i daglig bruk eller i lukket testing. For hvert av dem oppgir jeg reell status, brukere og dokumentasjon som lar seg sjekke — mangler lenken, betyr det at jeg ikke har noe å vise, ikke at jeg glemte det.

  1. hos kunde
    Prosjekt for en organisasjon

    Sammen i Norge / SiN Studio

    Et trespråklig nettsted for en forening i Drammen, vokst fra presentasjonsside til et system som støtter driften: prosjekter, arrangementer, frivillighet, medlemskap og eget CMS med roller.

    Min rolle: Forfatter av det opprinnelige nettstedet og av alt som er bygget videre — fra en enkel presentasjonsside til et system som støtter driften av organisasjonen: informasjonsarkitektur, UX/UI, innholds- og rettighetsmodell, implementering, datamigrering, utrulling og videre utvikling.

    Next.js 16React 19Payload CMS 3PostgreSQL / SupabaseVerceli18n

    Brukere: styret, koordinatoren og SiN-teamet samt organisasjonens medlemmer · Prosjektside: www.sammeninorge.no/pl

  2. under utvikling

    Limes Dekor

    Butikk, ordrer, betalinger og produksjonsfiler for et verksted med laserskårne produkter. Samme renderer lager kundens forhåndsvisning og den endelige SVG-filen.

    Min rolle: Prosess, arkitektur, grensesnitt, implementering og utrulling — alt hos meg.

    Limes Dekor er min partners virksomhet. Oppdraget og omfanget er reelt, men dette er ingen uavhengig referanse — den lar seg ikke etterprøve hos noen som ikke har noe med meg å gjøre.

    Next.js 16ReactPrismaSupabase/PostgreSQLSVGStripeDocker

    Brukere: kommersiell kunde — eieren av Limes Dekor · Prosjektside: dekor.limes-interior.no

  3. i bruk

    Ripper Inject

    Læringssystem som gjør et dokument om til et kurs: ordforråd, oppgaver og gjentakelse etter SM-2, med tekstkontroll som fanger opp påstander modellen ikke hadde dekning for.

    Next.js 16TypeScriptDrizzleSupabaseOpenAI API

    Brukere: forfatteren + lukket testgruppe · Prosjektside: ripperdoc.ai/no/ripper-inject

  4. konsept

    Ripper Task Force

    Agenter som deler opp en oppgave og kjører den videre uten at mennesket må avgjøre underveis; mennesket får resultatet, ikke avbruddene.

    TypeScriptMCPzod

    Brukere: forfatteren · Prosjektside: ripperdoc.ai/no/ripper-task-force

  5. i bruk

    Ripper Brainstorm

    Flere modeller fra ulike leverandører diskuterer samme sak, og en nøytral modell leter etter felles, uuttalte antakelser — enighet mellom to modeller er ikke bevis.

    TypeScriptmulti-provider LLM

    Brukere: forfatteren · Prosjektside: ripperdoc.ai/no/ripper-brainstorm

  6. konsept

    Ripper Body Sync

    VR-økter fra Meta Quest 3 og helsedata samlet i ett bilde, analysert av en privat trener-modell. Kjører self-hosted fordi helsedata er sensitive.

    KotlinJetpack ComposeMCPMeta Quest 3

    Brukere: forfatteren · Prosjektside: ripperdoc.ai/no/ripper-body-sync

  7. i bruk

    ripperdoc.ai

    Denne siden. Trespråklig, med en jobbsøkingsmodul bak innlogging: henter utlysninger, rangerer dem, vurderer dem mot profilen og skriver utkast til søknader.

    Next.jsTypeScriptPostgreSQLMCPVercel

    Brukere: forfatteren · Prosjektside: denne siden

03Verkstedet

Det som viser seg å fungere i ett prosjekt, flytter jeg inn i et felles bibliotek — som modul eller lite verktøy. Neste bygg starter da ikke på blanke ark: den ferdige delen er både utgangspunktet og konteksten for den nye løsningen, så hvert system etterpå blir til raskere og av deler som allerede har fungert.

Offentlig: min fork av MCP-serveren for finn.no — strupning av forespørsler, tak på databasevekst og en reserveløsning for å lese stillingsannonser etter at nettstedet sluttet å sende strukturerte data. Sammen med en pull request til den opprinnelige forfatteren. github.com/tomaszmroczynski/finn-mcp

04Hva jeg kan

Jeg kombinerer teknologi, design og en praktisk tilnærming til problemløsning. Jeg bygger applikasjoner og automatiseringer som ikke stopper ved et pent grensesnitt — de skal forbedre arbeidet og føre til et konkret resultat.

Jeg kan ta en idé gjennom hele prosessen: fra konsept og design, via applikasjonen, databasen og integrasjonene, til å kjøre løsningen på egen infrastruktur.

Jeg jobber med webteknologier, KI, automatisering og kunnskapsbaserte systemer. Jeg kobler dem også til den fysiske verden — produkttilpasning, grafikk, 3D-modellering og print.

Styrken min er å se prosjektet som en helhet. Jeg lærer nye verktøy raskt, leter etter enklere måter å gjøre ting på, og klarer å sette sammen elementer fra ulike fagfelt til ett sammenhengende system som virker.

Next.jsFastAPINode.jsASP.NETPostgreSQLSupabaseRAGDockerAPI-integrasjonern8n-automatiseringerFlermodellorkestreringKI-arbeidsflyterCodexClaude Code

Kode du kan åpne: forken av MCP-serveren for finn.no github.com/tomaszmroczynski/finn-mcp

05Erfaring

  1. 2025 – i dag

    Egen virksomhet — Ripperdoc · Ripperdoc

    Design og bygging av systemer basert på KI, automatisering og integrasjoner — egne systemer og oppdrag for kunder (Limes Dekor, Sammen i Norge).

  2. 03–04/2025

    Lastebilsjåfør · Transport Service AS

    Et kort kapittel som endte med en arbeidsulykke — starten på et bevisst skifte mot teknologi.

  3. 09/2024 – 03/2025

    Opphold i arbeid ·

    Ingen lønnet arbeid i denne perioden.

  4. 2013 – 2024

    Distribusjon · Amedia AS

    Fast arbeid med distribusjon, drevet parallelt med å lære teknologi og bygge egne prosjekter. Fra 2021 til 2024 var jeg samtidig leder for klubben i Fellesforbundet: representerte de ansatte i forhandlinger med arbeidsgiver om lønn og arbeidsvilkår.

  5. 2009 – 2011

    Salg og implementering · PTC Security Systems

    Implementering av biometriske identifikasjonssystemer, kundeanskaffelse i offentlig og privat sektor, samarbeid med utviklere og koordinering av teamet.

  6. 2002 – 2012

    Egen virksomhet · Complet Tomasz Mroczyński

    Installasjon og konfigurasjon av datanettverk samt PC-service — hele kjeden fra kunde til drift.

  7. 2002 – 2006

    Salg og teknisk støtte · Strawford

    CCTV-installasjoner, LAN-installasjon, IT-helpdesk, service og opplæring.

06Utdanning

  1. 2021 – 2022

    Noroff — School of Technology and Digital Media

    Backend Web Development (.NET).

  2. 2002 – 2006

    Universitetet i Gdańsk

    Økonomi, spesialisering: analytiker.

07Slik leder jeg arbeidet

Jeg skriver ikke alt dette alene. Jeg arbeider med modeller slik jeg ville arbeidet med et team av spesialister: jeg stiller problemet, lytter til forslagene og avgjør — sammen med kostnaden ved avgjørelsen. Verdien ligger ikke i hvem som skriver kode raskest. Den ligger i hvem som stiller det riktige spørsmålet og hvem som sier nei — også til seg selv.

Jeg er monotrop. Oppmerksomheten min fordeler seg ikke på flere ting samtidig — den samler seg i én og går til bunns i den. Dette er en nevrodivergent profil, og jeg sier det rett ut, for det er det sterkeste jeg tar med meg inn i arbeidet: evnen til å gå dypere enn vanlig nysgjerrighet rekker, og bli der til problemet gir seg.

Derav den monotrope generalisten. Bredden kom av dykk etter dykk, ikke av å smake litt på alt. Først nettverk, sikkerhetssystemer og implementeringer. Så elleve år med arbeid der teknologien var det jeg holdt på med etter arbeidstid. Nå KI. Én ting om gangen, lenge, og helt inn — og hver gang blir det igjen et håndverk som følger med videre.

Slik bruker du det: gi meg et problem, ikke en oppgaveliste. Én prioritet framfor fem parallelle, hele bolker med tid, og kontekst skriftlig. Da får du saken løst ved roten, og et nytt fagfelt tatt raskere enn du regnet med. En dag hakket opp i møter og fem parallelle spor sløser bort nøyaktig den egenskapen du ville ansatt meg for.

Vi fjerner den administrative friksjonen og beholder ettertankens friksjon.

Fra et rådsreferat i prosjektet, 18. juni 2026 — korreksjon av min egen antakelse
Beslutningsprotokoll4 oppføringer · ledet av TM
SpørsmålRipper Brainstorm
2026-06-18

Hva hører til produktets kjerne, og hva er et tillegg?

Uenigheten

Hvert forslag om utvidelse åpnet den samme diskusjonen på nytt.

Jeg spør

Mister produktet integritet eller identitet hvis du fjerner dette? Fungerer det fullt ut uten, er det en utvidelse — valgfri og avslått som standard.

Kostnad · kortere funksjonsliste i kjernen. Til gjengjeld: et kriterium som avgjør også når jeg ikke er til stede.

KorreksjonRipper Brainstorm
2026-06-18

Er enighet mellom to modeller et bevis på at de har rett?

Standardantakelsen

Når to uavhengige modeller kommer til samme konklusjon, er saken avgjort. Slik fungerer de fleste flermodellsverktøy: enighet behandles som resultatet.

Jeg korrigerer

Enighet er ofte en illusjon. Begge stemmene kan stilltiende godta den samme feilaktige premissen og være enige nettopp fordi de deler den blinde flekken. Derfor fikk den nøytrale modellen i oppgave å peke ut ikke bare forskjellene, men framfor alt de FELLES, UUTTALTE ANTAKELSENE — og gjøre dem om til kontrollspørsmål forankret i et konkret tekstutdrag.

Konsekvensen

Derfor må stemmene komme fra ulike leverandører. To kjøringer av samme modell deler treningsdata og de samme systematiske feilene — enigheten deres betyr ingenting.

Kostnad · en ekstra runde og et tredje abonnement i full oppsett. Til gjengjeld: den eneste måten å oppdage en feil ingen av partene ser.

ProtestRipper Brainstorm
2026-06-18

Skal referatet fra en privat diskusjon sendes til en ekstern tjeneste?

På bordet

Automatisk synkronisering — svært bekvemt, lite arbeid, og min egen idé.

Jeg avslår

Produktet lover personvern og arbeid på eget utstyr. Å sende private deliberasjoner ut i stillhet spiser opp det løftet. Eksporten forblir manuell; automatikk kun med uttrykkelig samtykke.

Kostnad · flere klikk og mindre imponerende automatikk. Til gjengjeld: et løfte som tåler kontroll.

TilbakeholdenhetLimes Dekor
produksjon

Skal graveringsflaten oppdages automatisk fra produktmodellen?

Mulig

Teknisk sett var det ingenting i veien for at systemet fant den selv.

Jeg avgjør

Dette steget blir hos mennesket. Her koster en maskinfeil ødelagt materiale, ikke en rettelse i nettleseren — og et panel som ødelegger produksjonen én gang, blir aldri åpnet igjen.

Kostnad · et kvarters arbeid per nytt produkt. Til gjengjeld: tilliten som selvstendigheten står og faller med.

Åpne oppføringer

Rådet oppdager ikke selv at stemmene er uenige — det ser mennesket, eller en nøytral modell på forespørsel. Publiseringskøen i Social Studio har ennå ikke gått gjennom en full produksjonssyklus. Norsk lærer jeg med en applikasjon jeg selv har skrevet; jeg snakker med anstrengelse, og den saken er ikke lukket.

08Når jeg fraråder KI

En modell koster ved hvert kall, svarer med forsinkelse, og svarer av og til annerledes enn i går. For noen oppgaver er det prisen for noe man ikke får til på annen måte. For andre er det prisen for ingenting. Her er tilfellene der jeg sier at dette ikke bør gjøres med en modell, og hva jeg foreslår i stedet.

Formatet er fast.
Datoer, beløp, fakturanumre og postnumre fra et dokument med stabilt oppsett er en jobb for en parser eller et regulært uttrykk. Null kostnad, svar på millisekunder, og samme svar hver gang. En modell på samme oppgave tar betalt for hver side og skriver med jevne mellomrom ned et tall som aldri sto der.
Regelen er deterministisk.
«Er beløpet over grensen og landet på lista, gjelder en annen sats» hører hjemme i kode, med tester som låser det fast. En modell som blir spurt om en regel, følger den som regel riktig — og «som regel» er for svakt overalt der det handler om penger eller frister.
Det er søk i noen hundre dokumenter.
Fulltekstsøket som ligger i PostgreSQL, klarer en base av den størrelsen uten et eneste token og uten egen infrastruktur å vedlikeholde. Vektorbase med RAG lønner seg ved skala og ved beskrivende spørsmål, ikke ved «finn fakturaen fra denne leverandøren».
Dette er en integrasjon på timeplan, ikke KI.
En stor del av det som kalles KI-automatisering, er et API-kall på et fast tidspunkt, en utregning og en melding. Et cron-skript eller en flyt i n8n gjør det gratis, og innfører ikke en feilmodus der systemet svarer annerledes enn dagen før.
Ingen klarer å beskrive hvordan prosessen faktisk foregår i dag.
Da fikser ikke KI noe — den reproduserer det rotet som allerede finnes, bare raskere og mot betaling. Kartlegg prosessen først, velg verktøy etterpå. Den fasen er iblant hele jobben, og ender iblant med at ingenting trenger å bygges.

Hvert av disse tilfellene er et oppdrag jeg takker nei til.

09Hva jeg mangler

Denne delen står her med vilje, og med vilje er den konkret. En modell som vurderer en kandidat mot en utlysning regner uansett ut hullene. Da vil jeg heller at den gjør det med mine ord enn med sine egne.

  • Ingen fast ansettelse som KI- eller automatiseringsspesialist. Kommersiell erfaring er to leveranser: Sammen i Norge, som kjører hos organisasjonen, og Limes Dekor, fortsatt under utvikling. Limes Dekor er min partners virksomhet, så den eneste uavhengige referansen er Sammen i Norge.

    Hva som veier opp: Leveransene dekker hele spennet: prosessanalyse, arkitektur, grensesnitt, implementering, integrasjoner og videre utvikling. Mine egne systemer er i daglig bruk, ikke demoer — de har brukere, feil i produksjon og beslutninger jeg måtte gjøre om.

  • Norsk på B1-nivå, egenvurdert. Skriftlig arbeid og lesing går greit; å lede workshops på norsk gjør det ennå ikke.

    Hva som veier opp: Engelsk som arbeidsspråk er uproblematisk. Norsken lærer jeg med en app jeg har bygget selv.

  • Ingen grad i informatikk. Utdanningen er økonomi (Universitetet i Gdańsk) og et backend-bootcamp i .NET (Noroff).

    Hva som veier opp: Flere norske utlysninger åpner eksplisitt for at relevant erfaring kan erstatte formell utdanning.

  • Systemene er bygget for én person, et lite verksted eller en lukket testgruppe. Ingen erfaring med drift for hundrevis av brukere.

    Hva som veier opp: Til gjengjeld er hele kjeden min egen: database, deploy, feilsøking og beslutningen om hva som ikke skal bygges.

10Hva jeg ser etter

Jeg ser etter en reell retning innen teknologi — utdanning og arbeid rundt AI, automatisering og systemer. Jeg lærer best ved å bygge: koble systemer, feile i konfigurasjoner, fikse dem og føre en idé fram til noe som fungerer.

Sted
Norge (Eidsberg)
Språk
polsk (morsmål) · engelsk B2 · norsk B1
Sertifikater
førerkort B96 og C

11Data og overlevering

Kontoene tilhører kunden fra første dag: database, hosting, betaling, domene. Jeg kommer inn på dem som samarbeidspartner, ikke som eier. Da er overlevering å fjerne én bruker, ikke å migrere noe — og kunden er aldri avhengig av kontoen min.

Hemmeligheter ligger verken i repositoriet eller i filer på min egen maskin. De bor i Bitwarden Secrets Manager og kommer til driftsmiljøet gjennom en enveis synkronisering. Tilgangstokener fra tredjeparter som lagres i databasen, er krypterte (AES-256-GCM), aldri i klartekst, og alt som ser ut som en nøkkel, fjernes fra loggene.

Til modellen går bare det innholdet oppgaven faktisk krever — gjennom det kommersielle API-et, der trafikken ikke brukes til å trene leverandørens modeller. Det som lar seg regne ut uten modell, regner jeg ut uten. Noe kjører lokalt på eget utstyr, og der går dataene ingen steder.

Der personopplysninger er involvert, arbeider jeg under databehandleravtale — avklart før første linje kode, ikke ved leveranse.

Til slutt får kunden repositoriet, tilgang til hele infrastrukturen, dokumentasjonen og et databasedump. Hemmeligheter som har gått gjennom mine hender, byttes ut ved overlevering. Min tilgang forsvinner, og ingen blir stående — skal noe rettes i ettertid, gis tilgangen på nytt og for den rettingen.

12Hvordan denne siden snakker med språkmodeller

Profilen publiseres også i maskinlesbar form. Den bygges fra samme kilde som denne siden — skiller de to seg, er det en feil og ikke et grep.

  • skjult tekst, hvit skrift eller innhold gjemt i kommentarer,
  • instruksjoner til språkmodeller lagt inn i markupen,
  • innhold som varierer med hvem som spør — User-Agent endrer ingenting,
  • formuleringer som forsøker å styre vurderingen av kandidaten.

Grunnen er enkel: innhold som instruerer en modell i hvordan den skal vurdere forfatteren av innholdet, er prompt injection uansett hvor høflig det er formulert. Lar seg sjekke med én kommando — hent siden med hvilken som helst User-Agent og sammenlign. Jeg vil heller bli vurdert på ekte data, selv om vurderingen da blir mer forsiktig. En vurdering bygget på innhold jeg selv har regissert, er ingenting verdt — minst av alt for meg.

Maskinlesbar versjon (JSON)

13Kontakt

Adressen er åpen: kontakt@ripperdoc.ai. Skriv i vei — jeg svarer vanligvis innen et døgn. Bak koden blir telefonnummeret og CV-en liggende: nummeret fordi et publisert nummer stort sett samler spam, CV-en fordi jeg heller sender en versjon tilpasset den enkelte utlysningen enn én som skal passe alt. Uten kode er hele dossieret åpent for deg — erfaringen, prosjektene med bevis, arbeidsmåten og manglene skrevet rett ut. Si hvilken stilling det gjelder, så sender jeg resten.

Har du en tilgangskode?