Skip to main content
Full Stack Radio

121: Benedikt Deicke - Building Userlist.io

50 min episode · 2 min read
·

Episode

50 min

Read time

2 min

AI-Generated Summary

Key Takeaways

  • Server-side integration strategy: Userlist requires server-side API calls instead of JavaScript snippets to ensure reliable tracking without ad blockers, browser limitations, or third party cookie restrictions affecting data collection and automation triggers for customer onboarding sequences.
  • Dynamic segmentation architecture: User segments compile from abstract syntax trees stored as hashes in the database, using Rails AREL to generate SQL queries dynamically. This allows complex nested conditions like email filters combined with event frequency tracking across custom time periods.
  • Workflow execution model: Campaign automations execute as background jobs that process one node at a time, scheduling the next step only after completion. This just-in-time approach allows campaign modifications to affect users mid-sequence without re-queuing all future emails.
  • Email deliverability preparation: SparkPost integration separates customer accounts into subaccounts to prevent one bad actor from damaging deliverability for all users. Custom domain authentication with DKIM is optional but recommended, defaulting to userlistmail.com sending addresses for immediate functionality.

What It Covers

Benedikt Deicke explains building Userlist.io, a SaaS-focused email automation platform, covering technical architecture choices including Rails backend, Ember frontend, server-side integration strategy, dynamic SQL query generation from abstract syntax trees, and workflow engine implementation.

Key Questions Answered

  • Server-side integration strategy: Userlist requires server-side API calls instead of JavaScript snippets to ensure reliable tracking without ad blockers, browser limitations, or third party cookie restrictions affecting data collection and automation triggers for customer onboarding sequences.
  • Dynamic segmentation architecture: User segments compile from abstract syntax trees stored as hashes in the database, using Rails AREL to generate SQL queries dynamically. This allows complex nested conditions like email filters combined with event frequency tracking across custom time periods.
  • Workflow execution model: Campaign automations execute as background jobs that process one node at a time, scheduling the next step only after completion. This just-in-time approach allows campaign modifications to affect users mid-sequence without re-queuing all future emails.
  • Email deliverability preparation: SparkPost integration separates customer accounts into subaccounts to prevent one bad actor from damaging deliverability for all users. Custom domain authentication with DKIM is optional but recommended, defaulting to userlistmail.com sending addresses for immediate functionality.

Notable Moment

Deicke reveals the hardest technical challenge was not the backend workflow engine or SQL query generation, but creating a non-technical friendly UI that translates complex nested filter conditions into visual representations users can understand and modify without editing raw JSON.

Know someone who'd find this useful?

You just read a 3-minute summary of a 47-minute episode.

Get Full Stack Radio summarized like this every Monday — plus up to 2 more podcasts, free.

Pick Your Podcasts — Free

Keep Reading

More from Full Stack Radio

We summarize every new episode. Want them in your inbox?

Similar Episodes

Related episodes from other podcasts

This podcast is featured in Best Cybersecurity Podcasts (2026) — ranked and reviewed with AI summaries.

You're clearly into Full Stack Radio.

Every Monday, we deliver AI summaries of the latest episodes from Full Stack Radio and 192+ other podcasts. Free for up to 3 shows.

Start My Monday Digest

No credit card · Unsubscribe anytime