Tomasz Mroczyński
I build solutions that amplify people.
I am moving into technology not from a diploma but from the need to build something anew — combining two decades of hands-on work with networks, systems and deployments with what I build today: AI, automation and self-hosted systems.
01The turning point
For nearly two decades I worked in technical roles — computer networks, security systems, deployments and technical support. Throughout those years, and especially after settling in Norway, software development, automation and AI were never my job title, but they were always my passion. Outside of work I kept learning, building my own projects and experimenting with backend development, self-hosting and API integrations — a parallel track that grew steadily alongside my professional life.
In 2025 I began working as a truck driver while completing my Category C licence. A month later a serious workplace accident brought that path to an end. Rather than treating it as a setback, I let it become a turning point — the moment to consciously turn a long-held passion into my professional direction.
This isn’t a leap into the unknown; it’s the continuation of an interest I’ve been developing for years. I completed Noroff’s backend .NET bootcamp, and today I build projects, automations and AI-based systems and work hands-on with self-hosted infrastructure, Docker and API integrations. I learn by building — and now I’m doing it on purpose, as a career.
02Projects
The first system below is being built for a commercial client. The rest I built for myself and develop in daily use or in closed testing. For each one I state the real status, the users and evidence you can check — where there is no link, it means I have nothing to show, not that I forgot.
- in deploymentFirst commercial project · in deployment
Limes Dekor — system sprzedażowo-produkcyjny
A complete system for a small workshop making personalised decorations and laser-cut products. It began as an online shop and grew into a tool covering the whole process — from adding a product and preparing the visualisation to generating the production-ready file.
The owner manages the catalogue, photography, prices and SVG files herself. In the panel she marks the surface available for engraving, picks the permitted typefaces and sets the production constraints. The customer types a dedication and sees it on the product photograph immediately, with scale, angle and perspective accounted for. The same deterministic renderer produces both the preview and the final SVG, so the image shown to the customer matches what goes into production.
The system ties together the shop, orders, payments, the material library, versioning of the personalisation configuration and the assembly of production packages. A Media Studio module is also in development, for building promotional material directly around a specific product.
My role: Analysis of the client’s process, architecture and interface design, implementation, integrations, deployment and ongoing development. The guiding requirement was not to build a panel that needs permanent technical babysitting, but to hand the owner a tool she extends her range with on her own.
Next.js 16ReactPrismaSupabase/PostgreSQLSVGStripeDocker - in use
Ripper Inject
A learning system that turns a document into a course: vocabulary, exercises and SM-2 spaced repetition, with a fidelity check that catches claims the model had no source for.
Next.js 16TypeScriptDrizzleSupabaseOpenAI API - in progress
Ripper Task Force
Agents that decompose a task and carry it through without a human arbitrating mid-process; the human receives the result rather than the interruptions.
TypeScriptMCPzod - in progress
Ripper Brainstorm
Several models from different providers debate the same question while a neutral model hunts for shared, unstated assumptions — two models agreeing is not proof.
TypeScriptmulti-provider LLM - concept
Ripper Body Sync
VR sessions from Meta Quest 3 combined with health data into one picture, analysed by a private trainer model. Self-hosted, because health data is sensitive.
KotlinJetpack ComposeMCPMeta Quest 3 - in use
ripperdoc.ai
This site. Trilingual, with a job-search module behind login: it collects listings, ranks them, assesses them against the profile and drafts applications.
Next.jsTypeScriptPostgreSQLMCPVercel
03Workshop
Whatever repeats, I pull out of the projects into a shared library. Some of it is small — built in under half a day, because the tool is meant to solve one problem and get out of the way rather than become another thing to maintain. The rest are modules that have moved between applications.
Tools built in half a day
Synchronizacja sekretów (bws-env-sync, bws-vercel-sync)
Bitwarden Secrets Manager as the single source of truth for environment variables, synced to Vercel with no secrets in the repository and no temporary files. A companion skill reads the application code, writes the description of every variable itself and saves the result to `.env.example`.
Tablica decyzji
A list of review remarks turns into a single-file HTML board: you tick what gets done, reject the rest, comment on individual items — and at the bottom a ready implementation prompt assembles itself, with a separate list of what NOT to do. The rejections matter as much as the acceptances, because without them the model returns to the same ideas on the next pass.
Reusable modules
Moduł zgłaszania sugestii
Extracted from Ripper Inject: a floating bubble, a reporting mode that captures the fragment of the page being described, voice dictation, and an admin panel with a chat over the reports. It plugs in through a port contract — authentication, database and model are parameters rather than assumptions — so it works regardless of the stack of the application it lands in.
Ripper Social Studio
A social-media module: a post queue moving through draft, review, approval, scheduling and publication straight through the platform APIs, with thumbnails generated browser-side. It was built inside the Limes Dekor delivery and then moved into ripperdoc.ai — across two different productions, with a different database, different authentication and a different visual layer. That is what proves reusability: not a claim, a second deployment.
Ripper Deep Searchprojekt / design only
A research mechanism for job hunting: from an employer name it builds a dossier of statements, each carrying the address of its source. The planner never sees the raw page text — it receives only filtered statements, which closes the path for instructions injected from someone else’s page. Status: design only, no code.
04What I can do
I am not presenting myself as an expert. I am showing the direction I genuinely invest time and energy in — where AI, automation and infrastructure meet a real human problem.
05Experience
- 03–04/2025
Truck driver · Transport Service AS
A short chapter ended by a workplace accident — the start of a conscious return to technology.
- 2013 – present
Distribution · Amedia AS
Steady distribution work, carried alongside learning technology and building my own projects.
- 2009 – 2011
Sales & implementation · PTC Security Systems
Implementing biometric identification systems, acquiring clients in the public and private sectors, working with programmers and coordinating the team.
- 2002 – 2012
Own business · Complet Tomasz Mroczyński
Installation and configuration of computer networks, and computer servicing.
- 2002 – 2006
Sales & technical support · Strawford
CCTV deployments, LAN installation, IT helpdesk, servicing and training.
06Education
- 2024 – 2025
Wright, Trafikkskole
Category C licence with professional driver qualification (yrkessjåfør).
- 2021 – 2022
Noroff — School of Technology and Digital Media
Backend Web Development (.NET).
- 2002 – 2006
University of Gdańsk
Economics, specialization: analyst.
07How I lead the work
I do not write all of this alone. I work with models the way I would work with a team of specialists: I state the problem, listen to the proposals and decide — together with the cost of deciding. The value is not in who types code faster. It is in who asks the right question and who says no — including to himself.
Remove the administrative friction, keep the friction of reflection.
2026-06-18
What belongs to the core of the product and what is an add-on?
Every proposed extension reopened the same argument, settled from scratch each time.
Does the product lose its integrity or identity if you remove this? If it still works fully without it, it is an extension — optional and off by default.
Cost · a shorter feature list in the core. In return: a criterion that decides even when I am not in the room.
2026-06-18
Is two models agreeing proof that they are right?
When two independent models reach the same conclusion, the matter is settled. Most multi-model tools work this way: they treat agreement as the result.
Agreement is often an illusion. Both voices may silently accept the same false premise and agree precisely because they share the blind spot. So the neutral model was given the job of surfacing not only the differences but above all the SHARED, UNSTATED ASSUMPTIONS — and turning them into control questions anchored to a specific passage.
This is why the voices must come from different providers. Two runs of the same model share training data and the same systematic errors — their agreement means nothing.
Cost · an extra round and a third subscription in the full setup. In return: the only way to catch a mistake neither side of the argument can see.
2026-06-18
Should a record of a private discussion be sent to an external service?
Automatic sync — very convenient, little work, and my own idea.
The product promises privacy and work on your own hardware. Quietly shipping private deliberations outside eats that promise. Export stays manual; automation only with explicit consent.
Cost · more clicks and less impressive automation. In return: a promise that survives inspection.
production
Should the engraving area be detected automatically from the product model?
Nothing technical stood in the way of the system finding it on its own.
This step stays with the person. Here a machine error costs destroyed material, not a fix in the browser — and a panel that ruins production once will never be opened again.
Cost · fifteen minutes of work per new product. In return: the trust without which self-sufficiency is only a claim.
The council does not detect on its own that the voices disagree — the human sees it, or a neutral model does when asked. The publishing queue in Social Studio has not yet run a full production cycle. I am learning Norwegian with an application I wrote myself; I speak with effort and that one is not closed.
08What I am missing
This section is deliberate and deliberately specific. A model assessing a candidate against a job ad will compute the gaps either way. I would rather it did so in my wording than in its own.
No salaried employment as an AI or automation specialist. The commercial experience is one client delivery — Limes Dekor, still being finished; everything else is his own systems.
What offsets it: The client delivery covers the full span: process analysis, architecture, interface, implementation, integrations and ongoing development. The own systems are in daily use rather than demos — they have users, production failures and decisions that had to be revisited.
Norwegian at B1, self-assessed. Written work and reading are fine; running workshops in Norwegian is not there yet.
What offsets it: English as a working language is unproblematic. The Norwegian is being learned with an application he built himself.
No degree in computer science. The formal education is economics (University of Gdańsk) and a backend .NET bootcamp (Noroff).
What offsets it: Several Norwegian listings explicitly allow relevant experience to substitute for formal education.
The systems are built for one person, a small workshop or a closed test group. No experience operating at a scale of hundreds of users.
What offsets it: In exchange the whole chain is his: database, deployment, debugging and the decision about what not to build.
09What I am looking for
I am looking for a real direction in technology — education and work around AI, automation and systems. I learn best by building: connecting systems, breaking configurations, fixing them and taking an idea through to something that works.
- Location
- Norway (Eidsberg)
- Languages
- Polish (native) · English B2 · Norwegian B1
- Certificates
- driving licence B96 & C
10How this page talks to language models
The profile is also published in a machine-readable form. It is generated from the same source as this page — if the two ever differ, that is a bug, not a technique.
- hidden text, white-on-white lettering or content buried in comments,
- instructions to language models embedded in the markup,
- content that varies by who is asking — the User-Agent header changes nothing,
- wording that tries to steer the assessment of the candidate.
The reason is simple: content instructing a model how to judge the author of that content is prompt injection regardless of how politely it is phrased. Verifiable in one command — fetch the page with any User-Agent and compare. I would rather be assessed on true data, even if the assessment comes out more cautious. An assessment built on content I staged myself is worth nothing — to me least of all.
11Contact
I do not publish my phone number or address — not to make things difficult, but because a public address mostly collects spam. Write through the form and say which role, and I will send my details together with a CV tailored to that listing. Usually within a day.
Have an access code?
Invalid code. Try again.