Portfolio — if you can call it that

Karl Wackerberg

Supply chain professional turned web developer turned whatever this is. Expert-level rabbit hole navigator. 24 public repositories. Undisclosed number of abandoned ones. Not currently looking for a job, but open to being convinced he needs more things to almost finish.
I — What he does, broadly

He makes things work.
Then he makes them complicated.

Karl's professional life has been a slow migration from supply chains to source code. He spent years in procurement and operations — the kind of work where you prevent factories from stopping and nobody thanks you unless you fail. He led teams through supplier crises, fires (actual ones), and the kind of organizational chaos that looks calm on a PowerPoint slide and feels like drowning in a spreadsheet.

Then he decided to learn web development. Not because the other career was going badly. Because he ran out of things to over-engineer at work and needed a new domain to do it in. He is now, by his own description, an "emerging web developer on a mission." The mission remains unspecified.

·
"Other people have hobbies.
Karl has concurrent workstreams
with no defined end date."
A reasonable observation
·
II — Skills, loosely ranked

An honest assessment

Below: what Karl can do, what Karl thinks he can do, and the gap between them. Ranked by the only system that matters — his own self-aware irony.

TypeScript
Primary language. Used in most projects. Will type everything, including things that didn't need types.
Comfortable
Svelte
Built a scooter simulator that handles 3,000 concurrent bikes. The bikes are fake. The pride is real.
Comfortable
React
Can build a frontend. Will have opinions about state management. Cannot guarantee they are correct.
Functional
NestJS / Node
Backend framework of choice. Achieved near 100% test coverage once, and has not stopped mentioning it.
Comfortable
PHP / Magento
Runs Magento on FrankenPHP in Docker because someone said it couldn't be done. Or maybe nobody said that.
Functional
Python
Wrote a duplicate BibTeX detector. Solves real problems nobody has. Perfect Karl project.
Functional
Docker
Will containerize anything. Has containerized things that didn't need containerizing. Considers this a strength.
Comfortable
Supply Chain
An actual career. Procurement, operations, crisis management. The part of his résumé that makes sense.
Professional
Over-engineering
Self-assessed expert level. Will build a framework to choose a restaurant. Will not see the problem with this.
Expert
Finishing things
Twenty-four repos. Unknown completion rate. The journey is what matters. Or so he tells himself.
Under review
·
III — Selected works

Things he built.
Some of them are finished.

TypeScript · NestJS · React · SQLite
A full-stack e-scooter rental platform. REST API, customer app, admin panel. Simulates thousands of scooters moving across a city. None of the scooters are real. The architecture is very real. Near 100% backend test coverage, which he will mention at least twice.
Shipped
Svelte 5 · TypeScript · Tailwind · Turf.js
Scooter control emulator. Monitors 3,000+ bikes, tracks GPS, enforces geo-fencing, manages battery states. Built with Svelte 5 because he wanted to try Svelte 5. That is the entire justification, and it is enough.
Shipped
Docker · FrankenPHP · Magento 2
Magento 2 running on FrankenPHP inside Docker. A Frankenstein of e-commerce. He forked it, configured it, and made it work. Why? Because he was already deep in the rabbit hole and it was too late to turn back.
Maintained
Python · MIT License
A toy system to detect duplicate BibTeX entries. For when you're writing an academic paper and suspect your bibliography has trust issues. The audience for this tool is roughly seven people worldwide. Karl is three of them.
Shipped
EJS · Security
IT security web project. Because after building things, you should probably learn how to not accidentally leave the front door open. A reasonable decision in a career otherwise defined by unreasonable ambition.
Course work
+ 19 more repositories
PHP · JS · Kotlin · C · CSS · HTML
Course projects, experiments, forks, and things that were definitely going to be finished. Includes an Android Kotlin starter, a PHP MVC framework, web components, a design portfolio, and a Linux exercise from 2018 that he has not touched since. The Arctic Code Vault has preserved his contributions. Posterity will decide if it should have.
Various states
·
"A developer with 24 repos and 2 followers is not unpopular.
He is ahead of his audience."
Karl's internal monologue, presumably
·
IV — Career arc

A path that makes sense
if you don't think about it.

Now
Web development + Supply chain
Doing both, somehow. Building full-stack applications while maintaining a procurement career. Studying at BTH. Collects frameworks like frequent flyer miles.
Prior
Supply chain & Procurement
Supplier management, crisis handling, operational efficiency. Helped keep a factory running after a fire. Team effort. He was on the team. The factory stands. Moving on.
Before
Swedish Armed Forces — Leadership
Taught soldiers how to lead. Then left to lead himself into an increasingly confusing series of career decisions. The leadership skills, presumably, remain.
Always
Auditor, Göteborgs scoutdistrikt
Checks the books. Voluntarily. For scouts. The thankless backbone of organized youth outdoors activities. He does not talk about it because nobody asks.
2015–
Ironman triathlete
Five finishes. Improving times. 600 hours of training for the first one. This is not technically a career but it takes up career-level hours so it goes on the list.
·
V — The pitch

What you'd actually get

Someone who learns fast, builds relentlessly, and will absolutely over-scope the first sprint. Someone who can talk to both developers and stakeholders because he has been both. Someone who has debugged a Magento installation and survived an Ironman — and genuinely isn't sure which was harder.

He ships things. Not always on time. Not always in the scope you expected. But the test coverage will be high, the Docker setup will be clean, and somewhere in the codebase there will be a feature nobody asked for that turns out to be exactly what you needed.

He is not a senior developer. He is not a junior developer. He is a Karl developer. The role doesn't exist yet, but he is working on the job description. It is almost finished.

·

If this page made you curious,
that's either a good sign
or a warning.