Benedikt Deicke

Benedikt Deicke

@benediktdeicke.com

πŸ’» Co-founder / Engineering at @userlist.com πŸŽ™οΈ Co-host at slowandsteadypodcast.com πŸ› οΈ Ruby, Rails, Ember.js, PostgreSQL ❀️ Loves music, food, and cooking πŸ₯ Plays the drums benediktdeicke.com

1.9K followers195 following278 posts

Pinned

Hello Bluesky πŸ‘‹ I'm Benedikt, a full stack software engineer turned (mostly) bootstrapped founder πŸ˜„ Together with my co-founder I run and build Userlist, an email marketing automation platform for SaaS businesses πŸ’Œ Mostly working with Ruby on Rails, Ember.js, and PostgreSQL at the moment πŸ› οΈ

Why do I keep running into support chat widgets that tell me to contact support to help with my issue? What does it think I'm trying to do? 😩

Benedikt Deicke reposted

It’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.

Yesterday 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 πŸ€—

Benedikt Deicke reposted

Every 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

Benedikt Deicke reposted

After 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)

Benedikt Deicke reposted

Top 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.

I’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? πŸ˜„

Benedikt Deicke reposted

Selling 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.

Benedikt Deicke reposted

Benedikt Deicke reposted

Here'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?

Benedikt Deicke reposted

I 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.

Benedikt Deicke reposted

Did 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.

Benedikt Deicke reposted

What makes a perfect welcome email? (hundreds of companies still obsess about a single email, while forgetting about the rest of their lifecycle) But seriously?

As 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 🀣

Benedikt Deicke reposted

This 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).

Working 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 πŸ‘¨β€πŸ³

Benedikt Deicke reposted

"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).

Benedikt Deicke reposted

Software 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

My 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.

We love it, a lot of our customers and friends love it, but there's one problems: It's an awkward thing to offer to someone when we screwed up and want to apologize πŸ˜…

Getting 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 πŸ‘€

When 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 🧊

Why? I'm wondering if I can cache a larger data structure and reuse it between classes to minimize the overhead of building it from scratch all the time. Let's see if and how that works out πŸ˜…

Benedikt Deicke reposted

see 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.

On 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.

Benedikt Deicke reposted

Time 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.

The 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 πŸ™ˆ

Customer facing thing we worked on lately that nobody will ever actively notice: Improved server side validation for conditions, recurring rules, and workflow tree nodes πŸ™ƒ

We'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 🀯

Struggling 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 πŸ”

RFC 9470 is great for the "step up" aspect of it, but still looking for a good solution how a user can re-authenticate. A full round-trip to the auth server is a bit awkward from a UX perspective. However, I want the SPA to never "touch" the password, or even care how authentication happens πŸ™ˆ

I think that leaves us with using an iframe in a modal? But that comes with cross-domain issues and X-Frame-Options fiddling. Doesn't feel great either 😐 Anyone got any ideas, suggestions, or experiences from building this yourself? πŸ˜„

Benedikt Deicke reposted

Small 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 πŸ™Œ

We'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 🀯

A 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 😬