Reposted by Benedikt DeickeJason Cohen @asmartbear.com · 12/09/2026It’s never too late to admit you made a mistake. It’s more powerful to admit a mistake, than to persist when everyone else knows it’s a mistake. It’s a mistake either way, but only one way means you’re either oblivious or disingenuous. 081
Benedikt Deicke @benediktdeicke.com · 09/09/2026Yesterday has been crazy, stressful, and an emotional roller coaster. The joys of being an entrepreneur 🎢 Still, I’m glad that for the most part, we’ve built a company that we enjoy working at, despite the challenges thrown at us regularly 🤗 070
Reposted by Benedikt DeickePatrick Donahue @levelbrook.bsky.social · 05/09/2026Every schema constraint you skip becomes an if statement in six places, and one of them will be missing. Put it in the database where it cannot be forgotten. #RubyOnRails #Rails #PostgreSQL 053
Reposted by Benedikt DeickeJason Cohen @asmartbear.com · 10/08/2026After more than a year of labor, my book 𝘏𝘪𝘥𝘥𝘦𝘯 𝘔𝘶𝘭𝘵𝘪𝘱𝘭𝘪𝘦𝘳𝘴 has launched! It's all my best ideas -- and best writing -- on how to grow your company with your existing budget and team. And yes, I read the audiobook myself. :-) (1/5) 7367
Reposted by Benedikt DeickeJane Portman @uibreakfast.com · 10/08/2026Top 5 tips for managing B2B email marketing (as someone asked today): ▪️Don't be afraid to email more ▪️Treat this as a process with continuous improvement/expansion, rather than a one-off project ▪️Be helpful ▪️Keep your messages short and focused ▪️DON'T OVERTHINK Simple, not easy. 021
Benedikt Deicke @benediktdeicke.com · 10/08/2026I’ve got a super early 7am flight to Oslo on Friday and have a couple of hours to kill before checkin and an evening event 🇳🇴 Any recommendations on how to spend those hours? 😄 200
Reposted by Benedikt DeickeJane Portman @uibreakfast.com · 07/08/2026Selling an ESP is like selling a mattress. A mattress is bulky, hard to replace, essential for your sleep. It's unlikely you'll rave about your mattress or post about it on social media. Replacing a mattress won't make you sexy/healthy/rich. It's just a mattress. It's just an ESP. 011
Reposted by Benedikt DeickeBozhidar Batsov (a.k.a. Bug) @batsov.net · 05/08/2026RuboCop 1.89 is out with improved rubydex integration that unlocks several project-wide analysis opportunities metaredux.com/posts/2026/0... Enjoy! #Rubymetaredux.comRuboCop 1.89: Project-Wide Analysis with RubydexRuboCop 1.89 is out, and it comes with the usual assortment of new cops and bug fixes. But there’s one theme running through this release that I’m particularly excited about, and that’s what I want to... 073
Reposted by Benedikt DeickeJane Portman @uibreakfast.com · 05/08/2026Here's exactly why consultants are paid to do their thing. Only a fraction of SaaS companies have dedication, resources, and knowledge to expand their lifecycle marketing in a systemic way. Also, who makes comments this long and awesome? 031
Reposted by Benedikt DeickeDmytro Krasun @dmytrokrasun.com · 05/08/2026I will likely not buy from you if you have a free or cheap price and I can’t explain how you can make money and make it sustainable. 011
Reposted by Benedikt DeickeJane Portman @uibreakfast.com · 04/08/2026Did you know that the Split Test node isn't just for A/B tests? It's a random group generator, splitting users into up to 5 paths at whatever percentages you choose. Split testing is the obvious use: create different user journeys, then compare using email metrics or conversion goals. Classic. 111
Reposted by Benedikt DeickeJane Portman @uibreakfast.com · 03/08/2026What makes a perfect welcome email? (hundreds of companies still obsess about a single email, while forgetting about the rest of their lifecycle) But seriously? 131
Benedikt Deicke @benediktdeicke.com · 02/08/2026As a metalhead who likes to play the drums (but is intermediate level… at best), most of the music I love and listen to is way too hard for me to play 😩 This week I stumbled upon transcription for Since U Been Gone by Kelly Clarkson, and I'm having way too much fun with it than I care to admit 🤣 120
Reposted by Benedikt DeickeJane Portman @uibreakfast.com · 31/07/2026This January we offered a review call to all paying customers, and most people who replied were newly added team members. They didn't know much about @userlist.com, or what's happening in their accounts. This blew our mind. So we set up a simple workflow (took me 15 minutes). 121
Benedikt Deicke @benediktdeicke.com · 31/07/2026Working from home in a fully remote company means that I don’t have a commute 😎 That’s great… but it also means that there isn’t a good time to “wind down” 😵💫 However, I realized cooking dinner is my way to do this these days 👨🍳 070
Reposted by Benedikt DeickeMike Dalessio @flavorjon.es · 29/07/2026Upgrade Rails immediately, kids, this is a big one. github.com/rails/rails/...github.comPossible arbitrary file read and remote code execution in Active Storage variant processing### Impact In its default configuration, a Rails application that displays image variants may allow an unauthenticated attacker to read arbitrary files from the server, including the process envi... 14930
Benedikt Deicke @benediktdeicke.com · 29/07/2026Features we're adding to @userlist.com's new theme editor, that nobody will ever appreciate, but make me very happy: When saving theme schemas, server side validations will render inline in the embedded code editor 🤩 150
Reposted by Benedikt DeickeJane Portman @uibreakfast.com · 29/07/2026"Now that I have user onboarding in place, what else can I do?" Your best next step is: a workflow for your paying customers. It runs at a slow pace (every 1-2 weeks) and combines educational content, feature nudges, and customer loyalty interventions (asking for referrals, reviews, etc). 131
Reposted by Benedikt DeickeJane Portman @uibreakfast.com · 27/07/2026Software companies overthink email marketing in the same way we overthink social media. A single post won’t impact your LinkedIn account. A hundred of them might. A single email won’t impact your growth. A hundred of them might. Zero emails… Safe bet. #bdtpblurbs #emailmarketing 021
Benedikt Deicke @benediktdeicke.com · 27/07/2026My co-founder @uibreakfast.com and I are "recovering perfectionists". To remind us to not chase perfection for forever, we established "Better Done Than Perfect" as our mantra. It went as far as naming our podcast after it, creating merch with the slogan on it, and her getting a "b.d.t.p." tattoo. 131
Benedikt Deicke @benediktdeicke.com · 24/07/2026Getting my feet wet with Terraform and AWS so we potentially, maybe, can migrate off of Heroku… Still a bit intimidated by the thought (and the complexity), but also intrigued by the new possibilities 👀 330
Benedikt Deicke @benediktdeicke.com · 22/07/2026When writing classes in Ruby, I've always been leaning towards minimal interfaces, and exposing as little as internal state as possible 🔒 This week, for the first time in my 20+ year career of writing Ruby, I went a bit further and changed a class to freeze itself after initialization 🧊 220
Reposted by Benedikt DeickeMichael Koper @michaelkoper.com · 21/07/2026see indie hackers make this mistake all the time. The advice is: solve your own problem, then find more people like you. The problem? You probably wouldn't pay $50/month to solve that problem, so people like you probably won't either. 191
Benedikt Deicke @benediktdeicke.com · 20/07/2026On the last episode of Slow & Steady, I talked about why it's important to remind people of who you are when emailing your list after being quiet for a while. People will just forget you. Quickly. You have to be very explicit to help them remember. 000
Reposted by Benedikt DeickeJane Portman @uibreakfast.com · 14/07/2026Time delays in @userlist.com now support advanced calendar settings. E.g. the 10th of the month, the first Monday, or the second Tuesday in March. Now you can send messages related to billing cycles, monthly check-ins, or annual reminders landing on a specific day. Give it a try in your workflows. 032
Benedikt Deicke @benediktdeicke.com · 10/07/2026One unexpected side effect of adding full WYSIWYG editing to Userlist: We now have fairly decent support for right-to-left languages in our editor 😊 020
Benedikt Deicke @benediktdeicke.com · 04/07/2026Starting Userlist merch production with my nieces 🤣 030
Benedikt Deicke @benediktdeicke.com · 03/07/2026The hardest part of improving existing features is figuring out a smooth transition path from the old to the new way of doing things so there are no interruptions in production 🙈 030
Benedikt Deicke @benediktdeicke.com · 01/07/2026Customer facing thing we worked on lately that nobody will ever actively notice: Improved server side validation for conditions, recurring rules, and workflow tree nodes 🙃 010
Benedikt Deicke @benediktdeicke.com · 29/06/2026We're in year 9 of working on @userlist.com and some days it feels like we're way behind on our goals and ambitions 🥵 However, if you'd told my old self from back when we're started about where we're at now, my mind would've be blown 🤯 0101
Reposted by Benedikt DeickeJane Portman @uibreakfast.com · 25/06/2026Still can't find time to set up your lifecycle emails? We're stoked to announce a new lineup of done-for-you services at @userlist.com 🔥 We refreshed the existing packages that have been running for years, and added a few new ones. Check'em out: userlist.com/services/ 042
Benedikt Deicke @benediktdeicke.com · 19/06/2026Struggling a bit on how to implement a "password confirmation" for sensitive actions in our app. The front-end is an SPA, the backend API only, and we've got a separate auth server. They're all tied together via OAuth 2.0 🔐 110
Reposted by Benedikt DeickeJane Portman @uibreakfast.com · 18/06/2026Small but useful @userlist.com update from @benediktdeicke.com. You can now edit user (and company) properties manually from the profile page. Previously, this was done via integration sync. With this, Userlist can cover more of your CRM workflow, with custom fields editable on the spot. Woot 🙌 022
Reposted by Benedikt DeickeJared Norman @jardo.dev · 14/06/2026been seeing so much of this kind chatter around how LLMs are affecting software teams. not sure we have enough empirical data, but this analysis does make sense to me agileotter.blogspot.com/2026/06/dra… 021
Benedikt Deicke @benediktdeicke.com · 12/06/2026"Hello [FIRST_NAME]" gets boring fast. That's why we've collected a ton of email greeting and salutation examples over on the Userlist blog 👀 userlist.com/blog/saas-email-...userlist.comSalutations and Greetings in SaaS Email Marketing: 50+ ExamplesThe greeting line is the first thing your recipient reads, setting the tone for the rest of your email. 030
Benedikt Deicke @benediktdeicke.com · 10/06/2026We're currently working on getting full WYSIWYG to our message editor, so it actually renders the email inside the selected theme while editing the content, not just when previewing 💅 There have been a few challenges, but we're close to getting it shipped. And it's a massive step in terms of UX 🤯 120
Benedikt Deicke @benediktdeicke.com · 08/06/2026A couple of things I wish we'd have done differently in Userlist's codebase: Allow accounts to have multiple workspaces, enforcing data types on data ingestion, and partitioning a couple of our largest stables right away 🙈 I'm sure we'll get to all of them eventually, it's just a lot harder now 😬 160
Benedikt Deicke @benediktdeicke.com · 05/06/2026Who thought that stripping links from strings can be a challenge? This week on Slow & Steady @raae.dev and I talk about a couple of improvements we rolled out at Userlist and how she's becoming an investor. share.transistor.fm/s/a87ba558share.transistor.fmBenedicte makes an investment. Benedikt and the Userlist team enforces password strength requirements.Benedicte is currently enjoying life at a chill pace, which is a nice change for her. On the work front, she managed to get the auth working across Whee!’s two sites. Benedicte also made an... 010
Reposted by Benedikt DeickeAaron Patterson @tenderlove.dev · 04/06/2026I don't understand why "it's only downhill from here" means things are going to get worse. Imagine fighting an uphill battle only to find out that it's only downhill from here 4324
Benedikt Deicke @benediktdeicke.com · 03/06/2026“Man, I spent a day on this. I guess I’ll have to spend even more…” This sentence was @uibreakfast.com's reaction to my critique of a new component for our website. I didn’t like it. 100
Benedikt Deicke @benediktdeicke.com · 01/06/2026Val's (@valsopi.com) recent post resonated with me. I've noticed my own goal posts shifting over the years. You have to be aware of it, though. It's a marathon, not a sprint. Don't burn yourself chasing the current goal, because it likely isn't the actual goal 😅 valsopi.com/never-make-itvalsopi.comNever make itHear me out. It's a good one. 280
Reposted by Benedikt DeickeJane Portman @uibreakfast.com · 28/05/2026We've got a new video library at @userlist.com 🚀 From general training, to frameworks, to individual features. Thanks @benediktdeicke.com for the motivation 😊 132
Benedikt Deicke @benediktdeicke.com · 25/05/2026Having a day off, but seeing the team handle day to day operations seamlessly will never get old for me 🔥 Feels good to know things work smoothly even when I’m not around 💛 060
Benedikt Deicke @benediktdeicke.com · 22/05/2026While @raae.dev was having fun in NYC, I was bug hunting for days with our frontend engineer. I also share a @userlist.com related win that we should probably be celebrating more than we are so far… 😅 share.transistor.fm/s/325b09bdshare.transistor.fmBenedicte talks about her recent bachelorette trip to New York City, a Celebration of Life, and 17th of May in Norway. Benedikt shares an almost week long debugging hunt with a happy ending. Mentioned on the show:Userlist Training VideosExhausterwhelmulatedThe Man Drawer 041
Benedikt Deicke @benediktdeicke.com · 20/05/2026I finally figured out what caused this 🥳 We have a test helper to temporarily change translations. It was implemented by switching the I18n backend and resetting it afterwards. Turns out the backend is cached somewhere internally, so it was leaking outside of the tests that used it. 130
Reposted by Benedikt DeickeMichael Koper @michaelkoper.com · 18/05/2026Brand new member to our SaaS-people-who-do-music accountability group! Used to be drum only, but why not other instruments? Welcome @valsopi.com 👋 2121
Benedikt Deicke @benediktdeicke.com · 15/05/2026My co-founder @uibreakfast.com has been on a roll lately and recorded a ton of explainer videos for various Userlist features 🔥 There are so many already that we started collecting them all on a page in our docs: userlist.com/docs/getting-sta...userlist.comTraining VideosWatch training videos for core Userlist features 020
Reposted by Benedikt Deickejamie @jamie.ideasasylum.com · 14/05/2026@benediktdeicke.com congrats on the Rails PR 🎉 github.com/rails/rails/...github.comAdd support for `RETURNING` to `INSERT`/`UPDATE`/`DELETE` statements by benedikt · Pull Request #47161 · rails/railsMotivation / Background This pull request adds support for RETURNING clauses to INSERT/UPDATE/DELETE statements in Arel. This is useful to build queries that modify data and return it (or something... 1112
Reposted by Benedikt DeickeMichael Koper @michaelkoper.com · 13/05/2026Using @userlist.com like a pro marketing guru 🤣 052
Benedikt Deicke @benediktdeicke.com · 13/05/2026Our marketing manager Krista recently published a great piece on how AI SaaS companies do email marketing, with some great insights from industry experts 👀 userlist.com/blog/email-marke...userlist.comHow AI SaaS Companies Do Email Marketing: Insider Stories & ExamplesShould AI-native companies even bother with email marketing? Spoiler: they absolutely should. 020