Steve McLeod

Steve McLeod

@steveofmcleod.com

Buy my book! "Kill the HiPPO: How bootstrapped software companies decide what feature to build next." Find it at killthehippo.com or on Amazon. My personal site: steveofmcleod.com

1.4K followers238 following1.4K posts

We added an API to Feature Upvote 3 months ago. A customer has used the API to create a better version of our Discord integration. This is exactly the creativity I was hoping an API would unlock.

“EuroBLECH” - fantastic name for a conference. I got an autoresponder today “I’m away at EuroBLECH”. Blech means “sheet metal” in Germany. Not sure if they’re leaning into how this sounds in English on purpose, or its simply an unfortunate cross-language problem. www.euroblech.com/en-gb.html

euroblech.comEuroBLECHAs a vertical trade show, EuroBLECH covers the entire sheet metal working technology chain and offers the industry sector a unique marketplace.

I’ve now commissioned a SOC 2 auditor. We steadily inch towards being about to add a SOC 2 badge and page to our website.

Steve McLeod@steveofmcleod.com

SOC 2 preparation done! Bring on the audit!

Today was the first time this semester I got my daughter to school on time without a single “come on” or “hurry up” or “we’re running late” from me. The power of the clocks going back an hour...

One of our customers, GitKraken, has done a superb job of improving the look of Feature Upvote with custom CSS. It’s much better than our default appearance. I’m tempted to ask if we use their CSS as the starting point for a brand new “v2” look for all of our boards. feedback.gitkraken.com

My first time using Zapier for years, and the microcopy is still as dismal as I remember it being. Help text for the “foobar” field: “Use the foobar option if you use the foobar option”. It’s really that bad.

How bad did it use to be? I recall my first time creating Zapier’s developer portal, and seeing a checkbox labelled “Required (optional)”.

“Come to an expo in Colombia. We’ll pay for your airfare, hotel, and breakfasts and lunches.” Very enticing. And more than a little suspicious.

Feature Upvote feedback boards now get their own changelog. Any customer idea you mark as “done” gets added to the changelog. (Amazing what you can achieve with a simple SQL query and a nicely design layout!)

My daughter disagrees, convinced that “mall” comes from “mole” because moles dig tunnels with lots of rooms, somewhat like a shopping mall. She’s good with languages but only 7 years old, so take her claim with sceptisism.

Here’s our customer story with Enshrouded, published today: “One of the interesting things François discovered was how major feature requests and seemingly simple quality-of-life improvements could attract similar levels of support.” featureupvote.com/customers/en...

featureupvote.comEnshrouded - Feature UpvoteWe spoke with Keen Games’ Community Lead François Hardy about managing player feedback after Enshrouded’s massively successful Early Access launch. It took us a little longer than planned to bring thi...
Steve McLeod@steveofmcleod.com

It’s awesome watching Enshrouded from Keen Studios, one of our favourite Feature Upvote customers, having a stellar 1.0 release after almost 3 years of early access.

SOC 2 preparation done! Bring on the audit!

Steve McLeod@steveofmcleod.com

After three months of preparation, I’m at the very last step of tedious paperwork before starting our first SOC 2 audit. And I’m finding myself wishing for interruptions so I have an excuse to leave this for another day.

After three months of preparation, I’m at the very last step of tedious paperwork before starting our first SOC 2 audit. And I’m finding myself wishing for interruptions so I have an excuse to leave this for another day.

It’s awesome watching Enshrouded from Keen Studios, one of our favourite Feature Upvote customers, having a stellar 1.0 release after almost 3 years of early access.

And look at these Enshrouded reviews on Steam... So tempting to write a self-serving post about the power of listening to players during early access with Feature Upvote.

The pox upon whichever product manager invented the “feature button that leads to an upsell” pattern. “Oh this new feature looks good, let’s try it out!” I say to myself. I click and - voila! - it’s a plan upgrade page. Again, the pox on who invented this, and also on all the people adopting it.

I’m done with toting around my heavy 16” MacBook Pro. My next computer will one of those MacBook Airs. Sounds like they are plenty powerful enough these days.

The joy of having a babysitter from southern Italy. I leave my child with the babysitter for a couple of hours on Sunday morning - and I come home to the smell of cookies baking in the oven.

RICE for feature prioritisation is no better than choosing randomly. You’d do better going with your gut decision than using RICE. I wrote a book about this stuff, btw! 😎

Jason Cohen@asmartbear.com

How to create a useless, unactionable metric: • many inputs • with weights • combined with a formula • with unknown error bars You know, like LTV and RICE and balanced scorecards and stuff like that. Better:

Is this value in the database? An AI tool, yesterday: “Fetch all the values, then iterate over them in code comparing each one.” Ah, the satisfaction of being able to say to an AI tool, “you can replace that block of code with a simple SQL query.” I’m not obsolete yet.

Great read. A golden and well-written “well that’s interesting” thread like Twitter had in its golden era.

Bart⚓️@bartgonnissen.bsky.social

1/x Two of the best-known coats on any high street began as working kit for sailors on cold decks. Both carry names from my little corner of the North Sea: Duffel, a small town near Antwerp, and the Dutch word "pij". The story of the duffel coat and the peacoat. #maritimehistory

We have a good security story at Feature Upvote: Regular pen tests, encryption at rest, we manually try restoring a backup each month, etc. But then I pointed Claude at our source and asked for a security review. It found some serious problems!

I’m posting this, of course, AFTER we resolved all the identified problems. Most of them were problems in theory, but probably not in reality. But some had some potential to be exploited.

A simple 60-second video... that shouldn’t take long to record, right? Oh, the lighting is wrong. The background is wrong. The framing is wrong. Oh, I’ve forgotten the outline. Now I’m hungry. Thirsty. Need to pee. Lost energy in my voice. Hours pass. Video not finished. Try again tomorrow.

Our oldest enterprise customer just renewed for another year. I still get a little feeling of disbelief every time this happens that my tiny company gets paid solid money to be an important part of a household name’s operations.

Time-proven, stable, reliable Java dependencies like Apache Commons and Bouncy Castle have new minor versions with pages and pages of fixes in their release notes. All software is buggy - even the ones we thought were solid. But bugs are being hunted down and fixed at amazing speed.

Government just canceled all events in Barcelona from 8pm tonight (Saturday) until 2pm tomorrow (Sunday). Some Noah-level rain and flooding is forecast.

I’m investigating moving our help docs from Helpscout to Astro Starlight for reasons. So far, Astro Starlight seems like a complete, well-thought-out solution. I’m impressed.

We’re using Cloudflare’s “IP address list” feature to whitelist access to our internal admin site. Cloudflare has done it well - each IP address gets a comment and a “created at” field. Two little things that make managing the list much better.

I learned over the years that, by default, almost every db row should have a “created at” column. I’m now starting to think that, by default, there should also be a “notes” or “comments” or “description” column in most db tables.

In another life, where my studies, career, and family situation went down a different path, this would be the job I‘d want. Just two days ago I said to a friend, “If I didn’t enjoy being my own boss so much, I’d love for my job to be working on the internals of Java.”

Aleksey Shipilëv@shipilev.bsky.social

Hey folks, our team needs more JVM engineers, apply here: www.amazon.jobs/en/jobs/1055...

Some words of wisdom from someone testing our not-yet-announced MCP server: > Feel free to break everything and rebuild better. I think agents can adapt to breaking changes much better than software can to REST API changes. It’s liberating being able to make breaking changes.

There’s a type of Internet person - very vocal, writes or speaks with authority, speaks in absolutes, and always sounds convincing. You know some of them. Invariably, many of their “100% the way it is” pronouncements prove to be extremely wrong.

It’s very important to keep this is mind when reading or hearing utterly convincing pronouncements. I write this as a reminder to myself.

So posting here, on LinkedIn, and on that other platform we don’t mention around here actually worked. Got a little bit of activity going today on our demo board. Or maybe it’s because I also added it to the top nav bar of our website? 🤓

Steve McLeod@steveofmcleod.com

Want to experience using Feature Upvote just like your players or customers would? We have an interactive demo feedback board here where you experience it firsthand. Take a look, add a fake suggestion, do some upvoting! demoboard.featureupvote.com