The Part of Shipping Software That Doesn't Show Up in a Portfolio Screenshot

Leader ●2 ●10
calendar_today ago • schedule2 min read

A few weeks into building a live finance dashboard for a client, I learned something that had nothing to do with writing code.

What I built

The brief was simple to state and harder to deliver: a dashboard connected directly to the client's Excel workbook — no exports, no "send me the latest file," no waiting on me every time a number changed. Edit the sheet, save it, and the dashboard reflects it within seconds.

Under the hood, it's a Python (Flask) backend that reads straight from the workbook on every request, paired with a frontend that polls for changes and re-renders automatically. On top of that, an interactive map view lets the client click into any project location and see its P&L, purchases, and profitability pulled live from the sheet — no manual recalculation, no stale numbers.

The last step was packaging it so the client — who isn't technical — could just double-click one file and have it work. No Python install, no terminal, no code in sight.

Where it actually got hard

Technically, everything worked. Locally, on my machine, the dashboard ran exactly as intended.

Then I packaged it into a standalone .exe to hand off — and Windows flagged it as potentially unsafe before it ever reached the client.

My first instinct was to assume something was wrong with the code. It wasn't. The actual cause was Smart App Control — a Windows 11 feature that's cautious by default about any unsigned, unrecognized executable, regardless of what's inside it. A freshly built app with no signing history and no reputation looks suspicious to it, even when it's completely benign.

Knowing why it happened didn't make it "shippable," though. I couldn't just tell the client "ignore the warning." I submitted the file to Microsoft for analysis through their official review process, and the status sat at Pending for a stretch — there's no way to force that along, it just takes as long as it takes. When the analyst's response came back, it confirmed the file had been incorrectly blocked and had been remediated so it would no longer trigger the warning.

Only then was it actually ready to hand to someone else's computer.

The takeaway

If I ship more builds of this app over time, the same thing could happen again — a new build means a new file hash, and a new file hash means zero reputation, all over again. The durable fix, I learned, is code-signing: a certificate from a trusted authority that lets Windows (and Microsoft's own analysts) recognize the publisher quickly instead of treating every new build as an unknown.

But the bigger lesson wasn't technical. It was this: building something and shipping something to a real, non-technical user are two different bars. The first one is the part that shows up in a portfolio screenshot. The second one — the packaging, the trust signals, the "will this actually work on someone else's machine without me standing next to them" — is invisible until it isn't, and it's just as much a part of the job.

🔥 Join developers growing publicly
Share your knowledge, build in public, and grow your developer presence with a global community.

More Posts

How I Built a React Portfolio in 7 Days That Landed ₹1.2L in Freelance Work

Dharanidharan - Feb 9

Frameworks Are Institutional Memory

Ken W. Algerverified - Sep 17

Cisco's Amy Chang: A Model's "Passport" Doesn't Tell You Where It Actually Came From

Tom Smithverified - Aug 27

Attention-Free Score: How Domain Reports Show Which Pages Need Work

ApogeeWatcherverified - Sep 1

Your AI Doesn't Just Write Tests. It Runs Them Too.

Kevin Martinez - May 12
chevron_left
775 Points • 12 Badges
2Posts
2Comments
4Connections
Data Analyst | Python, Power BI, SQL, GenAI | Building practical AI systems that solve real supply c... Show more

Related Jobs

View all jobs →

Commenters (This Week)

1 comment
1 comment
1 comment

Contribute meaningful comments to climb the leaderboard and earn badges!