Michael Koper
michaelkoper.com
Michael Koper
@michaelkoper.com
Dad of two - Founder of https://nusii.com - Bootstrapper - Ruby on Rails
Pinned
Hello again!

We are doing introductions?

I'm Dutch living in Madrid, Spain. I have been working on my own startup Nusii (online proposal software) for 10 the last 10 years.

I recently started to do some temporary freelancing on the side just for fun.

I like playing the drums 🥁
Alright, lets get this out of the way. A test suite doesn't improve (much) by convering from rspec to minitest. I just converted all my model tests from rspec to minitest and it is actually slower.

My stance didn't change. Your test suite isn't slow because of rspec, it is because of system tests.
February 5, 2026 at 12:25 PM
This is how we code now 😅
February 5, 2026 at 8:04 AM
Pavel Durov is injecting political messages to all Spanish Telegram users. 🤯

A supposedly private, end-to-end messaging app. Being used to spread hatred toward the Spanish government.

Isn’t that a bit much?
February 4, 2026 at 9:50 PM
Spicy opinion? Using minitest/rspec fixtures/factories doesn't really matter. What slows your tests down are system tests.

Not going to do it, but in my case, I will probably win a second or maybe 2?
February 4, 2026 at 6:55 PM
People are storing quite some data in their proposals!
February 4, 2026 at 3:25 PM
Now more than ever, it’s important to have first-party gems so Rails apps work almost the same everywhere, since LLMs thrive on that.

I hope Rails gets a default permissions solution.

Nusii uses CanCanCan, and I have to ask the LLM to first explore the codebase, which is a loss.
February 3, 2026 at 8:42 AM
Many people see SaaS as the ultimate dream. I think it is a bit overrated and romantic. I think it is the dream, if you are unhappy at your job. Or you really want total freedom.

The upsides are obvious. The downsides aren't so.
February 2, 2026 at 9:47 AM
Heroku made me skip Docker untill now and hopefully for many more years to come.
January 31, 2026 at 12:10 PM
I used the chrome Claude Code feature for the first time so it can verify itself when updating the website.

Added submenus, this took 5 prompts, pretty cool!
January 31, 2026 at 11:48 AM
Next step is getting rid of Redis completely! We need more Postgres and less other stuff :)
And it is done! The whole migration took just 10 minutes!
I'm thinking of migrating the database from Heroku to CrunchyData.

Should I do this? Please talk me out of it 😅
January 30, 2026 at 1:17 PM
And it is done! The whole migration took just 10 minutes!
I'm thinking of migrating the database from Heroku to CrunchyData.

Should I do this? Please talk me out of it 😅
January 30, 2026 at 11:51 AM
This is why people should look at B2B SaaS instead of B2C stuff. A 10 year old profitable bootstrapped SaaS and under 6GB of data. Almost no traffic, and recently added a tiny bit of caching for the very first time 😂
My database is just 6GB so I guess I could use the self migration and have less than 10 minutes downtime.
January 30, 2026 at 8:36 AM
I'm thinking of migrating the database from Heroku to CrunchyData.

Should I do this? Please talk me out of it 😅
January 29, 2026 at 8:44 PM
Working with a WooCommerce shop at the moment, and what can I say? Not a fan of Wordpress... 😅

Everything feels so fragile, hard to find, and bleeeh!
January 29, 2026 at 3:52 PM
Something I never understood with Ruby. Why doesn't respond_to?(:method_name) takes account for private/projected methods by default?

I would expect it the other way around instead?

respond_to?(:private_method_name_that_exist) # false

respond_to?(:private_method_name_that_exist, true) # true
January 28, 2026 at 1:03 PM
Kids school closed. Core memory created successfully ✅

(Spanish kids don’t see snow every year)
January 28, 2026 at 10:57 AM
Wanted to show a friend how I modeled my way of doing SaaS integrations in the database. Claude made this easy and created an ERD, which, surprisingly, github knows how to handle.

gist.github.com/michaelkoper...
erd.md
GitHub Gist: instantly share code, notes, and snippets.
gist.github.com
January 27, 2026 at 11:56 AM
I made claude make some sort of code documentary of Nusii's changelog. And this is one section of memorable commit messages 😅

Also the Crises Survived!
January 27, 2026 at 9:19 AM
A fun prompt I got from twitter:

“Create a HISTORY.md file that tells the story about this app's development, progress, and crises, as revealed by the git commit history and branches.”
January 27, 2026 at 8:36 AM
How do people update knowledge base screenshots via AI these days? Asking for a friend.
January 27, 2026 at 8:04 AM
I'm going to a dev meetup in February, don't know the topic, don't know the people. The only reason why I'm going is that it is at the office of a company I used to work 😂

Randomness is sometimes a nice way to meet some new people 👌
January 27, 2026 at 8:02 AM
Just created an employee to categorize all the cancelation reasons from last month. Search our entire knowledge base, for features they might have missed. Then create some outreach strategy document of the people I might be able to win back.

Let's see how that works out!
January 26, 2026 at 8:20 PM
Stuff like this doesn't make it any more appealing for me... The last thing I want to do is, to work while my laptop is closed.

Also, am I the only one that doesn't have Netflix in the bedroom? 😂
January 26, 2026 at 4:51 PM
Bus vibing
January 23, 2026 at 10:04 AM
You can simply email people that didn't convert when you launched a new feature and ask them to come back.

Sometimes it just works!
January 22, 2026 at 10:21 PM