★ Milestone · It's on the Microsoft Store

From a Warehouse Floor to the Microsoft Store

A cheap laptop makes a specific sound right before it gives up. For most of last year, that sound was my soundtrack.

By Marcin Firmuga·2026-07-02·8 min read·Milestone

There's a temperature a cheap laptop reaches right before it gives up. Mine hits it at 94°C — fan screaming, the keyboard too hot to rest my wrists on. For most of last year, that scream was the soundtrack to my nights.

I coded through it anyway. Not because I loved it. Because I was scared that if I stopped moving, I'd vanish — quietly, the way twelve dead projects before this one did. The way I almost did at twenty-two.

This morning that fear got the strangest answer I can imagine.

PC Workman — the Windows monitor I built on that screaming laptop, alone, broke, between shifts — is live on the Microsoft Store. Not a random ZIP. Not "clone the repo." A real listing, in the same store as the software I grew up thinking only companies could make.

Let me tell you how a barcode scanner got here. The good parts, the desperate parts, and the math underneath all of it.

PC Workman 1.8.0 dashboard — live CPU/GPU/RAM with the offline AI assistant
PC Workman 1.8.0. Live everything, plus an AI that actually explains it.

The number you never see cross a line

My father died when I was seventeen.

I didn't break that week. I broke slowly, over two or three years, and that's the part nobody warns you about: there's no moment. No line you catch yourself crossing.

It's a power rail sagging. Twelve volts becomes 11.9, becomes 11.8, and every reading is still "within spec," so nothing alarms. And then one day you look at the number and it's just wrong, and you have no idea when that happened. Somewhere around twenty-two, that was me. I gave up on myself. Quietly, the way almost everyone does it.

Remember that rail. It comes back later, in code.

The warehouse

Nine months in a warehouse in the Netherlands. Fifteen kilometres a day on foot, scanning barcodes, for nineteen złoty an hour that turned into about fifteen after deductions. Call it three and a half euros. Nine-hour shifts, and then — because I couldn't not — six more hours at night on that 2014 laptop.

Then, three days before Christmas, the same people who'd smiled at me for weeks smiled again and said: "You didn't pass the trial. Tomorrow, goodbye. And out of the apartment."

The 22nd of December. Suitcases by the door before I'd finished understanding the sentence. Two dogs waiting for me in another country. Maybe a month of money left.

Leaving the Netherlands, 22 December 2025
22 December. I stood in a corridor and shouted that I wasn't a terrorist, three days before Christmas, in a language that wasn't mine. Long story. Different post.

I didn't open a job board that night. I didn't write my hundredth identical CV. I opened my editor and started rebuild number four. Three weeks later I shipped the first .exe. Twelve projects had died before it. I didn't know yet that this was the one that wouldn't.

Here's the truest sentence I own from that year. Build something. Commit something. Watch a progress bar move. Feel like you exist. That's not a motivational poster — that's survival.

What I actually built

PC Workman tells you why your PC is slow. Not that it is — you already know that. Why.

It talks to you through hck_GPT, an assistant I wrote that runs entirely on your machine. Eighty-four intents, a nine-layer router, no cloud, no API key, nothing ever leaving your computer. Ask "is this a virus?" and it checks who really signed the file. Ask "what should I upgrade?" and it reads your own fourteen-day load history and names the actual bottleneck.

hck_GPT — the offline AI assistant answering questions inside PC Workman
hck_GPT. No internet, no key, nothing sent anywhere. It reads your live machine and answers in plain language.

But the part I actually lose sleep over is memory.

Every monitor on earth forgets you the second you close it. HWiNFO, Afterburner — open them tomorrow and they'll draw your 78°C against the exact same line they draw for every machine that has ever existed. I couldn't live with that. The most useful number a monitor can give you isn't the temperature. It's whether this temperature is normal for you.

So every reading lands in one of five workload buckets, and each bucket keeps its own learned normal — folded forward with a Welford accumulator. Three numbers per bucket. Never recomputed:

def _welford_add(acc, x):
    """Fold one sample into a running accumulator (Welford, 1962)."""
    n     = acc["n"] + 1
    delta = x - acc["mean"]
    mean  = acc["mean"] + delta / n
    acc["n"]    = n
    acc["mean"] = mean
    acc["M2"]   = acc["M2"] + delta * (x - mean)

82°C while you game: fine. 82°C sitting idle: something's wrong. Same number, opposite verdict. Judged against your own past, not a spec sheet. Voltages get the oldest math in the project: median and MAD, Nelson rules from 1984, hunting the slow sag a threshold will never catch.

Now, the rail from earlier. I am the one that sagged for three years inside spec while everyone, me included, swore nothing was wrong. I built the alarm I never had. Statistics from the sixties, babysitting a power supply. Boring, predictable, and that's exactly why I trust them. Statistics don't hallucinate. People do. People looked me in the eye at fifteen złoty an hour and said "just try harder, the rate will improve." It never improved. The math, at least, never lied to me.

A year, measured in releases

You never see the grind. You see the version number.

So here's the receipt. It started as a prototype that could barely draw a graph. Then a first stable .exe. Then a SQLite stats engine. Then a hybrid AI, and a Startup manager, and a Services manager. Then the biggest quality jump. Then Smart Learning, the release where the monitor finally got a memory. Eleven releases in all, around eight hundred commits, four complete rebuilds of the whole interface. Every one of them written after a shift, on the same warm laptop.

Welding by day — the physical job behind the project
These days it's a welding gun by day. Hot air, melting plastic back together — and the welding taught me the one thing the learning engine needed: you don't get an eye for hot metal from a manual. Cherry red, straw, blue that means you've gone too far. It accumulates. You earn it.

Microsoft said no. Then Microsoft said yes.

Two weeks ago I published a post called "Microsoft said no."

My first .msix got rejected. Not for the code. For a blurry tile icon and a privacy-policy link that pointed at the wrong file. A year of voltage-anomaly math and offline AI, and my blocker was a fuzzy PNG. The reviewer was right, and it stung anyway.

So I fixed it. A crisp new icon, drawn clean. A real, readable privacy policy, living where it belongs. A patched build with thirteen more fixes my testers had found in the meantime. Resubmit. Wait.

This morning: approved. A rejection that says "fix these two things and resubmit" was never a no. It was the Store telling me I was this close.

And here's what the Store actually fixes. You don't have to trust a stranger's ZIP anymore. Every build is Sigstore-signed, clean on VirusTotal, checked by CodeQL on every commit — proof, not promises, that the file is really from me. I built that paranoia in from the first release. The Store just makes it obvious to everyone.

The kid who was afraid of disappearing

For the first months, I shipped into an empty room. Thirty views on a post. Zero stars on the repo. You write into that silence long enough and you start to wonder if you're really there at all.

Then one of my articles reached forty-four thousand people, and I wrote the most honest thing I've ever put online: that I keep building because I'm terrified of disappearing. That I ship code to prove I still exist.

I don't have a clean ending for that fear. Anyone who sells you one is lying.

But I have this. A permanent listing in the Microsoft Store is about the most concrete "I exist" a solo dev can get. The kid who quietly quit at twenty-two didn't stay quit. The rail that sagged inside spec got its alarm. Twelve projects had to die so this one could stand in a store next to software made by companies with a thousand engineers and a real salary each.

I built a program that learns for the entire life of the install. I learn for the life of mine. This grind is a year old, it hasn't ended, and it isn't going to. And I've finally understood that this isn't the tragedy of the story. It's the proof of it. A finished man has nothing left to recover. I get to keep going. That's a pulse.

Marcin with his two dogs, Kacia and Lusia
Kacia (11) and Lusia (2). Best teammates for the breaks. Still here.
Thank you. To every tester who spent hours breaking things I'd never have found alone. To the strangers whose questions turned into real features. To everyone who starred it, read a post, or just said "keep going." This one is yours too.

PC Workman is free and open source (MIT). No accounts, no cloud AI, nothing leaves your machine. Physical work by day, code by night. The same rhythm that built every line of it. The next chapter is already loading.

Still here. Still shipping.

MicrosoftStoreBuildInPublicPythonAIOpenSource
This is the project behind the story. PC Workman is a free Windows system monitor with a fully offline AI assistant — everything above is real, shipped code. Get it on the Microsoft Store, download the ZIP, or read the source.
MF

Marcin Firmuga

Solo developer · HCK_Labs · building PC Workman in public

A year building in public — a Windows monitor with a fully offline AI, now on the Microsoft Store. Built after work shifts, on a 2014 laptop. More: my story.