Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Email marketing as code (open source Customer.io alternative) (segflow.io)
7 points by bjornpagen 68 days ago | hide | past | favorite | 3 comments
After getting frustrated with Customer.io's limitations, I built an open-source alternative that lets you write marketing automation in pure code. Define user segments in SQL, write email flows in TypeScript, and template emails in React+Tailwind.

Support for campaigns, segments, events, users, and transactions. SMS support planned.




Some questions remain answered from your home page ( from someone at a mid sized firm writing their "build-it-yourself" version of the same goal at largish scale)

1. How often is each campaign run?

2. How does it avoid re-sending the same campaign to the same segment over and over? You really should change your queries with a where close of the last N mins to avoid sending all users all the time. where N is the answer to (1)

3. Is there a way to send reminders, with exponential backoff?

4. My first instinct was searching for postgres, mysql. both were not present. Consider saying supported. and then mention your orm, maybe which all db's it supports.

5. It seems like the channel right now is only email. But it wasn't clear if the channels could be push/sms/etc in the future. Because its likely companies already are accustomed to multi/omni channel. A roadmap would help.

6. Your docs mention the email channel as postmark. but i couldnt find a list of supported email apis. Maybe a way to add your own vendor would be great for contributors.

7. Tools and alternatives to temporal/inngest/hatchet/trigger/zeplo/mergent/restate are welcome, and this seems focussed on messaging/comms.

Kudos to a nice start. Good luck!


Thanks bosky101!

1. Currently campaigns are oneshot: users enter once and progress through until the generator flow returns. No auto re-entry yet, but planned for 'dynamic' campaigns. They are triggered by events that you can send to the api, or by a user automatically entering a segment.

2. See 1

3. Yes, the campaign flow definition is "just typescript". It's turing complete and runs in a QuickJS VM, and therefore supports exponential backoff.

4. MySQL is supported, Postgres not yet

5. Yeah, it's only focused on comms now

6. I plan to support SMS


Update: users automatically rejoin 'dynamic' campaigns as soon as they fulfill the criteria




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: