[HN Gopher] Launch HN: Dittofeed (YC S22) - open-source customer...
       ___________________________________________________________________
        
       Launch HN: Dittofeed (YC S22) - open-source customer engagement
       platform
        
       Hi HN - we're Max and Chandler, and we're building Dittofeed
       https://dittofeed.com. We make it easy for growth and marketing
       teams to message their customers across multiple channels. We're an
       open source alternative to platforms like Iterable,
       http://customer.io/, Braze, and OneSignal. Here's a short demo
       video showing how to run the platform locally, and use it to
       automate a customer onboarding journey:
       https://www.loom.com/share/0f7b67170b3a4205add00c22844ca06f  We
       created Dittofeed to tackle some commonly felt pains with customer
       engagement platforms:  First, existing platforms make it difficult
       to keep imported user data accurate and up to date with your
       primary user datastore. To solve this, we're building first-class
       support for importing data from your data warehouse, for better
       data consistency.  Second, graphical "journey builders" are
       fragile, and difficult to debug at scale, so we're building git-
       based workflows to check your messaging automation into git as
       configuration, as well the ability to run Dittofeed locally in
       development, or in CI with our testing sdk, for improved ease of
       debugging.  Third, companies in industries like finance and
       healthcare are often forced to implement their own solutions in-
       house to avoid sharing sensitive PII with third parties. As an open
       source platform, companies can now self-host us to keep their PII
       in their network.  Chandler, having worked in marketing for
       startups, experienced these challenges first hand. Max, on the
       other hand, was a senior platform infrastructure engineer at Braze,
       where he witnessed similar challenges from a technical perspective.
       Our combined experiences sparked the idea for Dittofeed.  We
       decided to create an open source, developer-focused customer
       engagement platform, because the often unspoken truth is that
       maximizing the effectiveness of these tools requires ongoing
       engineering involvement.  Dittofeed is built on Clickhouse (OLAP
       store used for storing user events, performing user segmentation,
       and aggregations) and Postgres (OLTP store for persisting
       application configuration, and serving user aggregations for
       efficient single-row reads).  If you can use the following, we'd
       love it if you checked us out:  Email support via sendgrid (other
       channels coming soon).  User data import via Segment integration.
       We have a cloud offering, and offer paid support. You can find our
       pricing on our site https://dittofeed.com/pricing.  How to try
       Dittofeed out:  Check out our demo site to play around with the app
       https://demo.dittofeed.com/dashboard  Run the app locally via
       docker compose (https://docs.dittofeed.com/deployment/self-
       hosted/docker-com...).  Join our slack and we'll set you up with
       cloud hosting (https://join.slack.com/t/dittofeed-
       community/shared_invite/z...)  We'd love to hear your thoughts,
       opinions, and experiences with these tools. What's been your
       experience working with this kind of tech?
        
       Author : maxthegeek1
       Score  : 76 points
       Date   : 2023-05-24 17:24 UTC (5 hours ago)
        
       | daxaxelrod wrote:
       | In your demo I tried to create a message template but email go
       | auto selected vs a "Choose your channel" flow that I expected.
       | Cool tech though!
        
         | maxthegeek1 wrote:
         | We're working on our second channel right now (mobile push),
         | which will have the flow you'd expect when released. Thanks!
        
           | daxaxelrod wrote:
           | Neat, thanks!
           | 
           | Also something that irks me is that all these platforms
           | design DAGs as journeys. Journeys are fine but they're
           | inherently value capped. A user is only supposed to go
           | through an onboarding journey once or a memorial day sale
           | journey once.
           | 
           | What I really want as a mobile app dev is loops. I want to be
           | able to say "Run this every day, send a user a push or email
           | at 10am. wait until 6pm. if the user hasnt opened the app
           | yet, send another push based on a different template".
           | 
           | Currently we have a whole ass subproject dedicated to
           | defining these flows. whats worse is that its hard to ab test
           | flow and impossible for anyone non technical to set up a
           | loop. Please build this, we'll pay you sweet sweet MRR if you
           | do.
        
             | maxthegeek1 wrote:
             | Our plan is to model loops by having journeys define re-
             | entry conditions, allowing users to run through journeys
             | multiple times on a schedule. Would love to talk, to learn
             | more about y'all are doing.
             | 
             | My email is: max@dittofeed.com, or feel free to ping me on
             | our community slack!
        
       | michaefe wrote:
       | This looks great!
        
       | eastbayjake wrote:
       | Very cool! Love seeing more JavaScript projects in the
       | Marketing/eComm open source community, really neat value
       | proposition for MarTech teams to be insanely productive with
       | high-leverage full-stack JS developers
        
         | maxthegeek1 wrote:
         | Thank you! Choosing typescript was intentional on our part,
         | because we want growth / marketing engineers to feel
         | comfortable contributing.
        
       | zoogeny wrote:
       | On your pricing page, it just says $75 for cloud.
       | 
       | Is that per month? per year? one time purchase? Pardon me if it
       | is described somewhere, but I've scanned the page multiple times
       | and can't determine it.
        
         | chandlercraig wrote:
         | Thanks for that catch! Just edited. It's a monthly SaaS
         | subscription.
        
       | jacksparrow11 wrote:
       | Amazing! Our team at Airbnb built something similar for internal
       | users: https://medium.com/airbnb-engineering/journey-platform-a-
       | low...
       | 
       | Very cool how we both use Temporal for workflow orchestration.
       | Love the git idea, Wish you the best!
        
         | maxthegeek1 wrote:
         | Thanks for the kind words :) Temporal is a great technology for
         | this use case.
         | 
         | Wow, our DSL even looks similar!
         | 
         | Your app has beautiful design, which I guess shouldn't come as
         | a surprise given that it's Airbnb.
         | 
         | Would love to chat to discuss further.
         | 
         | max@dittofeed.com
        
           | rubenfiszel wrote:
           | Hey Max (and jack), I'm actually curious on your feedback of
           | using temporal for this use-case. I'm building an alternative
           | to temporal (and a low-code builder to run arbitrary code on
           | top) at windmill.dev and keen to learn on your experience. I
           | will send you a DM.
        
             | maxthegeek1 wrote:
             | Great!
        
       | paezand wrote:
       | Great stuff! Curious why you chose Clickhouse instead of other
       | OLAPs like Druid or Pinot.
        
         | maxthegeek1 wrote:
         | One of our motivations for selecting Clickhouse, is that it's
         | relatively simple to run as a single node. This makes things
         | easier for people who are looking to self-host a small to
         | midsized installation of Dittofeed. It's also IMO a better
         | developer experience for Dittofeed contributors who are running
         | Clickhouse locally.
         | 
         | As far as functionality I'm a fan of Clickhouse's swappable
         | table engines.
        
       | aiunboxed wrote:
       | 1. Does every user get their own clickhouse instance or is it
       | shared ? 2. For email / sms which integrations do you support ?
        
         | maxthegeek1 wrote:
         | It depends! If you're self-hosting you'll get your own
         | clickhouse instance.
         | 
         | Our base cloud hosting currently uses a multi-tenant clickhouse
         | instance, but we also optionally provide a single tenant
         | instance as part of our enterprise cloud offering.
         | 
         | Currently we support sendgrid for email, and SMS is upcoming.
        
       | revskill wrote:
       | I don't see the auth for dashboard on github. Am i missing
       | anything ?
        
         | maxthegeek1 wrote:
         | We have authorization built into the app, but are using a
         | simple auth proxy, with oidc for authentication. If you want to
         | authenticate your own app, you can use something like
         | ouath2-proxy with an oidc provider, and set the `AUTH_MODE`
         | configuration in our app.
         | 
         | Happy to walk you through it if you join our slack.
        
       | ilrwbwrkhv wrote:
       | Self-Host with Docker Compose. No thanks. I hope open source
       | projects move away from Docker and move towards a single
       | executable binary like PocketBase.
        
         | singpolyma3 wrote:
         | Nothing forces you to use Docker, it's just their documented
         | happy path because it's popular.
        
         | slig wrote:
         | Do you want a single binary with Postgres/Clickhouse/Kafka
         | built it? Because that's what their Docker Compose is setting
         | up.
        
           | maxthegeek1 wrote:
           | +1. Wanted to jump in to say that the kafka dependency is
           | strictly optional. It's used to batch writes to clickhouse,
           | but for less intensive workloads Dittofeed can use
           | clickhouse's asynchronous inserts for in-memory batching.
        
         | maxthegeek1 wrote:
         | Offering a single executable binary is definitely great, but
         | wouldn't be super practical given our choice of technologies.
         | Tradeoffs.
        
         | daxaxelrod wrote:
         | Curious why?
        
           | nonrepeating wrote:
           | Some people are annoyed with the way Docker (the company) has
           | tried to monetize the technology by revoking free repos from
           | open-source teams. If I recall, Docker doubled back on that.
           | 
           | Realistically, Docker is a fine choice for this.
        
             | ilrwbwrkhv wrote:
             | Not just that. I don't want to run 3 layers of operating
             | systems to then run the program.
        
       | mikaeln wrote:
       | Congrats on the launch!
        
       ___________________________________________________________________
       (page generated 2023-05-24 23:00 UTC)