Meeting Title: Hedra Data Integration Planning Call Date: 2025-10-31 Meeting participants: Hedra, Ghalib’s Fathom Notetaker, Ghalib Suleiman, Justin Offermann, Jon Emerson, Sandra Nachforg, Uttam Kumaran
WEBVTT
1 00:02:03.620 ⇒ 00:02:04.840 Ghalib Suleiman: Hi, Justin.
2 00:02:08.500 ⇒ 00:02:09.549 Justin Offermann: Hey, how’s it going?
3 00:02:10.009 ⇒ 00:02:11.329 Ghalib Suleiman: Good, not too bad.
4 00:02:12.050 ⇒ 00:02:16.939 Justin Offermann: I’m, just waiting for the rest of the team. I’m more… more or less a fly on the wall for this conversation.
5 00:02:17.330 ⇒ 00:02:18.760 Ghalib Suleiman: Yep, understood.
6 00:02:19.060 ⇒ 00:02:19.710 Justin Offermann: Yeah.
7 00:02:35.220 ⇒ 00:02:38.799 Ghalib Suleiman: Now, Justin, briefly, are you an engineer at TEDRA, or what?
8 00:02:38.800 ⇒ 00:02:43.689 Justin Offermann: No, I’m head of, sales-led growth, so I’m managing our enterprise sales side of things.
9 00:02:43.870 ⇒ 00:02:45.039 Ghalib Suleiman: Oh, Golfish, okay.
10 00:02:45.240 ⇒ 00:02:54.110 Justin Offermann: So yeah, so I mean, I do want some visibility into, certain aspects of the data tracking, but but yeah, I’m not the technical person at all.
11 00:02:54.530 ⇒ 00:02:55.309 Ghalib Suleiman: Yeah, I guess.
12 00:03:15.050 ⇒ 00:03:16.709 Justin Offermann: And let me go ahead and ping the team here.
13 00:03:17.060 ⇒ 00:03:17.760 Jon Emerson: Yo!
14 00:03:18.390 ⇒ 00:03:21.619 Ghalib Suleiman: Hey, gentlemen, how’s it going? I’m Carl LeBeau, co-founder of CEO.
15 00:03:22.150 ⇒ 00:03:26.339 Ghalib Suleiman: Waiting for Sandra to join.
16 00:03:35.180 ⇒ 00:03:37.879 Ghalib Suleiman: Jenny, you’re calling from the office? Are you guys in SF? Yeah.
17 00:03:38.470 ⇒ 00:03:44.399 Jon Emerson: Yeah, I’m in San Francisco. I was in New York most of this week, but flew back last night.
18 00:03:44.400 ⇒ 00:03:46.769 Ghalib Suleiman: Oh, okay, okay, cool, yeah, we’re in SF as well.
19 00:03:46.970 ⇒ 00:03:47.600 Jon Emerson: Nice.
20 00:03:47.600 ⇒ 00:03:50.610 Ghalib Suleiman: Yeah, I would have done this in person if I… If I’d known.
21 00:03:52.140 ⇒ 00:03:56.939 Jon Emerson: This is great! I mean, I have a lot of… there’s a lot of stuff going on today, so just to hop on a call is so…
22 00:03:56.940 ⇒ 00:04:05.810 Ghalib Suleiman: Yeah, yeah, yeah. You’re fiendishly busy, so this meeting very much is to be… its agenda is to be set by you as to how best you’d like to
23 00:04:06.220 ⇒ 00:04:08.309 Ghalib Suleiman: steer me, on this cold.
24 00:04:08.530 ⇒ 00:04:12.290 Ghalib Suleiman: That’s your… what’s on your mind, until Sandra shows up.
25 00:04:12.290 ⇒ 00:04:13.490 Jon Emerson: Yeah, so…
26 00:04:13.490 ⇒ 00:04:18.410 Ghalib Suleiman: Again, she said you’re very busy, so I just want to make sure you let me know how you’d like this to go.
27 00:04:18.839 ⇒ 00:04:23.980 Jon Emerson: I think we need a data lake, or a lake house, or whatever you want to call it.
28 00:04:23.980 ⇒ 00:04:24.410 Ghalib Suleiman: Yep, yep.
29 00:04:24.410 ⇒ 00:04:31.900 Jon Emerson: Because we are moving towards having sales and marketing systems that are going to be the source of truth for our sales team, and…
30 00:04:31.900 ⇒ 00:04:32.470 Ghalib Suleiman: Yep.
31 00:04:32.470 ⇒ 00:04:48.670 Jon Emerson: eventually grow into our commissions structure and all that other stuff that companies our size start to grow into. But meanwhile, we have all our production data of what users are actually doing, are they taking advantage of the platform, what features they’re using, etc, stored in our Postgres database.
32 00:04:48.670 ⇒ 00:04:53.210 Jon Emerson: And we want to merge these two things and be able to run, queries.
33 00:04:53.210 ⇒ 00:04:54.080 Ghalib Suleiman: Yeah, the usual.
34 00:04:54.080 ⇒ 00:04:58.710 Jon Emerson: standing. I… my engine team?
35 00:04:59.030 ⇒ 00:05:09.020 Jon Emerson: they’re great at building product. They’re back-end engineers, they’re front-end engineers, that’s what they do. Data pipeline stuff, not so much their wheelhouse.
36 00:05:09.080 ⇒ 00:05:25.449 Jon Emerson: That’s not why they came to Hedra, but it’s a hard problem. It’s not something you just hire anybody to do. You want it to be done well, and so to hire someone who really knows how to get our data out of Postgres and Salesforce and whatever back-end systems into…
37 00:05:25.810 ⇒ 00:05:44.249 Jon Emerson: something like Snowflake, would be really helpful, and also to set up dbt, because there’s various derived data sets that Sandra wants, so that we can, like, understand how much revenue per day we’re having, like, split by various things, and that would be rather complex to calculate from scratch every time.
38 00:05:44.550 ⇒ 00:05:49.789 Ghalib Suleiman: Yep, yep, yeah, I mean, all sort of stuff as we are sort of platform does. Sandra is a previous
39 00:05:50.020 ⇒ 00:05:58.259 Ghalib Suleiman: customer of ours, which is actually why I’m on the call. Yep. I don’t know if she’d mentioned that, so, you know, nothing shocking to Sandra. Sandra, you did mention syncing to…
40 00:05:58.750 ⇒ 00:06:01.049 Ghalib Suleiman: Attio as well, is that correct?
41 00:06:01.350 ⇒ 00:06:13.470 Sandra Nachforg: Yeah, because right now we are not transitioning yet to Salesforce, we just don’t have enough, like, volume to justify it. But yeah, so for audio, it would be nice to have, like, some
42 00:06:13.610 ⇒ 00:06:17.089 Sandra Nachforg: customer usage data in Adio, so Justin can, like.
43 00:06:17.330 ⇒ 00:06:23.109 Sandra Nachforg: Quickly access it and, troubleshoot or, like, reduce churn, hopefully, with that.
44 00:06:23.110 ⇒ 00:06:29.419 Ghalib Suleiman: Okay, cool. Let me… we’re waiting for Utam to show up. Give me one second.
45 00:06:29.670 ⇒ 00:06:31.960 Ghalib Suleiman: In message.
46 00:06:33.100 ⇒ 00:06:35.519 Ghalib Suleiman: Hope this guy’s doing okay.
47 00:06:37.190 ⇒ 00:06:38.549 Ghalib Suleiman: Let’s give him a minute.
48 00:06:39.810 ⇒ 00:06:40.810 Sandra Nachforg: No worries.
49 00:06:59.780 ⇒ 00:07:04.210 Ghalib Suleiman: While you show up, Sandra, on the dbt stuff, are there…
50 00:07:04.480 ⇒ 00:07:07.070 Ghalib Suleiman: What are needs there on your side?
51 00:07:07.760 ⇒ 00:07:09.320 Sandra Nachforg: Is it sort of standard?
52 00:07:09.320 ⇒ 00:07:10.299 Ghalib Suleiman: I don’t know.
53 00:07:11.450 ⇒ 00:07:15.630 Ghalib Suleiman: What do you have in mind, similar to what you had at Hager, or what exactly?
54 00:07:16.220 ⇒ 00:07:21.219 Sandra Nachforg: Yeah, I think that would be helpful, like, just, like, setting it up, like, initially.
55 00:07:21.410 ⇒ 00:07:25.090 Sandra Nachforg: Putting together, like, a guide on how to set it up locally.
56 00:07:25.630 ⇒ 00:07:29.870 Sandra Nachforg: And then…
57 00:07:30.110 ⇒ 00:07:36.859 Sandra Nachforg: Yeah, I think, like, creating those tables, like, the derived tables, I think we would start with, like, two.
58 00:07:37.230 ⇒ 00:07:40.940 Sandra Nachforg: That are necessary, like the users table,
59 00:07:41.260 ⇒ 00:07:43.960 Sandra Nachforg: With some additional attributes, and then the…
60 00:07:44.180 ⇒ 00:07:47.599 Sandra Nachforg: revenue, like, Stripe revenue table, we need, like, some…
61 00:07:48.000 ⇒ 00:07:51.459 Sandra Nachforg: a better view. I think, like, those can be created in, like, dbt.
62 00:07:51.950 ⇒ 00:07:52.280 Ghalib Suleiman: Yep.
63 00:07:52.280 ⇒ 00:07:54.040 Sandra Nachforg: Once we ha- once we have it set up.
64 00:07:54.460 ⇒ 00:07:59.100 Ghalib Suleiman: Yep, and then as far as sources, ATO Postgres… Stripe.
65 00:07:59.290 ⇒ 00:08:00.400 Ghalib Suleiman: Anything else?
66 00:08:00.670 ⇒ 00:08:03.360 Sandra Nachforg: Audio…
67 00:08:03.530 ⇒ 00:08:05.769 Justin Offermann: Does default need to be a part of that list?
68 00:08:06.460 ⇒ 00:08:13.239 Sandra Nachforg: We don’t need to sync default data, I think, because that should… yeah, that’s just, like, the routing…
69 00:08:14.040 ⇒ 00:08:16.479 Sandra Nachforg: Scheduler, right, that we use it for.
70 00:08:17.750 ⇒ 00:08:20.939 Sandra Nachforg: But there is Brevo.
71 00:08:21.030 ⇒ 00:08:23.289 Ghalib Suleiman: Which is something that…
72 00:08:23.630 ⇒ 00:08:31.110 Sandra Nachforg: Yeah, so we actually have a bunch of issues with Revo data right now, so it would be great if we can set up some kind of.
73 00:08:31.110 ⇒ 00:08:31.490 Ghalib Suleiman: Yep.
74 00:08:31.490 ⇒ 00:08:32.530 Sandra Nachforg: pipeline.
75 00:08:32.750 ⇒ 00:08:38.110 Sandra Nachforg: surya would know probably more on how it’s currently set up, like our engineer.
76 00:08:38.549 ⇒ 00:08:43.379 Sandra Nachforg: But I don’t think that we have, like, a clear pipeline. I think it might be all through webhooks.
77 00:08:44.200 ⇒ 00:08:46.970 Sandra Nachforg: So the data is ingested through the webhooks.
78 00:08:47.400 ⇒ 00:08:52.339 Ghalib Suleiman: Yeah, like I mentioned yesterday, they do have an API, and so we can, you know, build a native integration there.
79 00:08:52.810 ⇒ 00:09:01.740 Ghalib Suleiman: Got it. John, I don’t know if you know, technically, your Postgres. Are there any quirks with it? I mean, is it just running on AWS RDS?
80 00:09:02.050 ⇒ 00:09:04.090 Jon Emerson: I think it’s Aurora.
81 00:09:04.500 ⇒ 00:09:06.419 Ghalib Suleiman: Or Aurora, that’s fine too, yep.
82 00:09:06.420 ⇒ 00:09:10.249 Jon Emerson: Yeah, not anything too perky, AWS.
83 00:09:10.570 ⇒ 00:09:23.599 Ghalib Suleiman: Yeah, yeah, all standard stuff. I think it does… oh, goodness, it does look like… well, Tom may be in some… maybe sick or something. Sam, I’m so sorry, we may have to postpone here to have him…
84 00:09:23.940 ⇒ 00:09:31.330 Ghalib Suleiman: join, so you can talk to the consultant. So, John, we’re the platform, we’re a software platform, ultimately, and this fellow, Utam, is the data consultant.
85 00:09:31.500 ⇒ 00:09:32.300 Jon Emerson: Oh, I see.
86 00:09:32.300 ⇒ 00:09:38.769 Ghalib Suleiman: Yeah, so, although I’m a data guy, you know, historically, but we are a SaaS platform to handle the pipes.
87 00:09:39.100 ⇒ 00:09:48.399 Ghalib Suleiman: Tom is someone who would set up the models that Sandra had mentioned. And Sandra, I am sorry, but it does look like we may have to just postpone this.
88 00:09:48.930 ⇒ 00:09:51.149 Jon Emerson: Well, if I could ask one question while we’re all.
89 00:09:51.150 ⇒ 00:09:52.210 Ghalib Suleiman: Peace. Yeah, yeah.
90 00:09:52.210 ⇒ 00:09:57.149 Jon Emerson: Why should we be doing polyatomic right now, rather than just…
91 00:09:58.590 ⇒ 00:10:02.380 Jon Emerson: pipelining everything to Postgres, like, taking the audio stuff.
92 00:10:02.380 ⇒ 00:10:02.980 Ghalib Suleiman: Oh.
93 00:10:02.980 ⇒ 00:10:04.859 Jon Emerson: whatever else, and just putting in our own Postgres.
94 00:10:06.370 ⇒ 00:10:08.609 Ghalib Suleiman: your production Postgres database? Yeah.
95 00:10:09.020 ⇒ 00:10:23.359 Jon Emerson: Well, mate, that’s… potential? I mean, we’re a Series A, we’re not… we don’t have billions of dollars. So… I know that using production in that way is a little bit gross, but…
96 00:10:24.170 ⇒ 00:10:31.340 Ghalib Suleiman: Yeah, there’s… there’s a couple of things to cover here. If you do just overload your production database.
97 00:10:31.550 ⇒ 00:10:37.770 Ghalib Suleiman: Well, how many users do you have? You know, are you sort of, like, 5 users and no one really cares-yet sort of stage?
98 00:10:37.770 ⇒ 00:10:39.690 Jon Emerson: No, we’re bigger than that.
99 00:10:39.690 ⇒ 00:10:44.419 Ghalib Suleiman: Sandra’s talking to me, then I suspect you have more than 5, you know, 5 or 10 users.
100 00:10:44.420 ⇒ 00:10:48.030 Jon Emerson: Yeah, we have, tens of thousands of users a day.
101 00:10:48.030 ⇒ 00:10:51.590 Ghalib Suleiman: Yeah, okay, so then, production, the big no-no.
102 00:10:52.570 ⇒ 00:11:01.279 Ghalib Suleiman: I think a more valid question is, why not spin up an extra Postgres database rather than go to Snowflake? But hitting your production database does risk slowing down
103 00:11:02.370 ⇒ 00:11:11.349 Ghalib Suleiman: responses, right, for your users. These jobs, you know, especially if you do have transactions in Stripe, for example.
104 00:11:12.540 ⇒ 00:11:16.600 Ghalib Suleiman: this data will need to be written to Postgres, and Postgres…
105 00:11:17.900 ⇒ 00:11:21.770 Ghalib Suleiman: Well, there’s a limit on concurrency there.
106 00:11:21.770 ⇒ 00:11:24.840 Jon Emerson: Yeah. And you just do run into…
107 00:11:25.180 ⇒ 00:11:28.379 Ghalib Suleiman: This is a very risky proposition, I’ll say that much, only because…
108 00:11:28.380 ⇒ 00:11:33.939 Jon Emerson: Well, have you seen people do a replica that is not an identical replica, but replicates
109 00:11:35.460 ⇒ 00:11:41.750 Jon Emerson: Postgres to Postgres, but then we also write our audio and other stuff to that replica.
110 00:11:42.280 ⇒ 00:11:46.750 Ghalib Suleiman: Yes, seeing this sort of situation. The problem there…
111 00:11:48.130 ⇒ 00:11:59.050 Ghalib Suleiman: Do you know the difference between column-oriented and row-oriented databases? Yeah. And so this is… Postgres is row-oriented, and so when running analytics, it’s actually dreadfully slow.
112 00:11:59.750 ⇒ 00:12:16.469 Ghalib Suleiman: This is really it. And ultimately, it just depends, you know, I suspect if Sandra’s talking about bringing in Stripe data, I suspect someone will want to aggregate transactions, for example. And Sandra, do correct me if I’m wrong, but usually when people bring in Stripe, they do want to aggregate transactions. Any aggregation
113 00:12:16.670 ⇒ 00:12:23.840 Ghalib Suleiman: is going to be dog slow. Again, unless your dataset sizes are tiny, if we’re talking 1,000 rows, I’d say, yeah, spend.
114 00:12:23.840 ⇒ 00:12:24.999 Jon Emerson: So we have…
115 00:12:25.000 ⇒ 00:12:26.070 Ghalib Suleiman: Snowflake.
116 00:12:26.070 ⇒ 00:12:32.500 Jon Emerson: So, 20 million generations have happened on our platform, and so that’s our largest table.
117 00:12:32.500 ⇒ 00:12:33.230 Ghalib Suleiman: Yep.
118 00:12:33.340 ⇒ 00:12:39.210 Ghalib Suleiman: And then, whatever sort of correlates with that regarding activities and Stripe and so on.
119 00:12:39.320 ⇒ 00:12:51.330 Ghalib Suleiman: I would very much advocate, at that size, to use a warehouse. Could be BigQuery, which is a bit cheaper than Snowflake, could be Snowflake itself, which is the most expensive option, has a bunch of bells and whistles, straightforward.
120 00:12:51.370 ⇒ 00:13:02.789 Ghalib Suleiman: BigQuery sort of does the same thing, but it’s a bit cheaper. But Postgres being row-oriented, I think someone like Sandra will go a bit crazy, and those consuming the data will go a bit crazy, waiting for queries to finish.
121 00:13:03.050 ⇒ 00:13:06.100 Jon Emerson: Well, if we did enough dbting that…
122 00:13:06.630 ⇒ 00:13:09.190 Jon Emerson: A lot of the data was already there, and…
123 00:13:09.690 ⇒ 00:13:11.619 Ghalib Suleiman: Oh, were you pre-computed?
124 00:13:12.290 ⇒ 00:13:21.830 Ghalib Suleiman: I suppose, and then, so no one would ever be running a live aggregation, it’d just be single row lookups. That’s where Postgres excels, if you’re looking up a single row and moving on with your life.
125 00:13:22.350 ⇒ 00:13:29.449 Jon Emerson: Well, I don’t know if it’d be a single row, but, like, maybe 100 rows, because you want to see a table over the last 3 months.
126 00:13:30.870 ⇒ 00:13:36.540 Ghalib Suleiman: Yeah, and would you do any date filtering, for example, right? Show me all rows that’s…
127 00:13:37.200 ⇒ 00:13:40.940 Jon Emerson: satisfy the certain date filter. Now, that’s a range query.
128 00:13:41.170 ⇒ 00:13:49.960 Ghalib Suleiman: That’s still a lot faster on warehouses. To really get down to it, I mean, if you really want to go down this path, which is a bit unorthodox, I have to admit, but benchmarking…
129 00:13:50.480 ⇒ 00:13:51.110 Jon Emerson: Yeah.
130 00:13:51.110 ⇒ 00:13:55.659 Ghalib Suleiman: is really the way to sort it out. It would definitely be odd, I’d say, even, you know, given your
131 00:13:56.080 ⇒ 00:14:02.360 Ghalib Suleiman: 20 million, and then whatever’s related data. It’s definitely an odd path to take versus everyone else out there.
132 00:14:02.360 ⇒ 00:14:03.150 Jon Emerson: Yeah, snowfall.
133 00:14:03.150 ⇒ 00:14:10.800 Ghalib Suleiman: If you’re really insistent, you know, I mean, you know, someone would spend time benchmarking, which is, you know, as an engineer to engineer, there’s really no better proof
134 00:14:10.950 ⇒ 00:14:14.340 Ghalib Suleiman: than running your own benchmarks. But…
135 00:14:14.510 ⇒ 00:14:27.230 Ghalib Suleiman: philosophically, architecturally, those who work in data really do not recommend this path, and me amongst them, however, we are a neutral party in some sense, you know, we move data and that’s that.
136 00:14:27.380 ⇒ 00:14:27.720 Jon Emerson: Yeah.
137 00:14:27.720 ⇒ 00:14:36.519 Ghalib Suleiman: But you see the role-oriented aspect. Inevitably, someone… I didn’t know, Sandra, are there… do you have a BI tool planned to bring in for visualizations?
138 00:14:37.460 ⇒ 00:14:39.280 Sandra Nachforg: Yeah, we’re using HEX, actually.
139 00:14:39.280 ⇒ 00:14:40.849 Ghalib Suleiman: Right, so somewhere…
140 00:14:40.850 ⇒ 00:14:43.239 Sandra Nachforg: I query, basically, from Postgres.
141 00:14:43.470 ⇒ 00:14:44.210 Sandra Nachforg: Through him.
142 00:14:44.210 ⇒ 00:14:52.150 Ghalib Suleiman: Yep, yep. And so that can work okay. It’s just, at some point, you know, someone may go, you know, I want all Stripe transactions before the certain date, click.
143 00:14:52.610 ⇒ 00:15:05.970 Ghalib Suleiman: And someone else, like you, may be investigating. Again, I don’t know how quickly you guys are growing regarding new people coming in, but it’s the simultaneous running. I think if it’s simply Sandra on her own, where she knows what queries are running and can take things into account.
144 00:15:06.440 ⇒ 00:15:07.250 Ghalib Suleiman: Yeah, maybe.
145 00:15:07.250 ⇒ 00:15:10.860 Jon Emerson: Yeah, I think at least a replica would be the minimum.
146 00:15:11.030 ⇒ 00:15:14.019 Ghalib Suleiman: The replica would be a minimum, yeah. I’d say benchmark, but…
147 00:15:14.140 ⇒ 00:15:23.829 Ghalib Suleiman: If you are growing, you know, all it takes is, I don’t know, 3 or 4 more people coming in and looking at things concurrently to cause annoyances and anger.
148 00:15:24.020 ⇒ 00:15:24.640 Jon Emerson: Yeah.
149 00:15:24.820 ⇒ 00:15:26.350 Ghalib Suleiman: And… And what…
150 00:15:26.350 ⇒ 00:15:29.639 Justin Offermann: If I could ask a quick question, what’s the,
151 00:15:30.210 ⇒ 00:15:40.229 Justin Offermann: like, how wasteful are we being if we were to go with, like, a replica, and then, you know, I don’t know, 6 months down the road, we were like, okay, we’ve grown to a point where this doesn’t make sense anymore?
152 00:15:41.190 ⇒ 00:15:46.070 Justin Offermann: how much time are we wasting in migrating that over to, say, something like Snowflake?
153 00:15:46.360 ⇒ 00:15:56.389 Ghalib Suleiman: I mean, especially using us, frankly, not much time at all. I don’t know, you wait maybe less than a day for the data to move over, and then you can get going with your warehouse.
154 00:15:57.380 ⇒ 00:16:00.339 Justin Offermann: Okay, okay, so it doesn’t sound like that’s a huge…
155 00:16:00.340 ⇒ 00:16:04.729 Ghalib Suleiman: No, no, it’s just what are the motivations for avoiding a warehouse, is really the question.
156 00:16:04.920 ⇒ 00:16:05.860 Jon Emerson: Just cost.
157 00:16:06.800 ⇒ 00:16:09.040 Ghalib Suleiman: Oh, I see. Sort of running costs.
158 00:16:09.570 ⇒ 00:16:16.099 Ghalib Suleiman: Certainly try program… yeah, then, you know, why not? Spin up a Postgres database and see how far you get.
159 00:16:16.370 ⇒ 00:16:19.299 Ghalib Suleiman: Yeah, again, we are neutral, we’ll write to anything.
160 00:16:20.280 ⇒ 00:16:27.410 Ghalib Suleiman: And could very well be, or maybe it is okay. Maybe it’s even okay to have sort of a beefier Postgres, right, and that’s still.
161 00:16:27.410 ⇒ 00:16:35.680 Jon Emerson: So we would use Polytomic to pipe our production database to our analytics postgres.
162 00:16:36.150 ⇒ 00:16:36.530 Ghalib Suleiman: Yeah.
163 00:16:36.530 ⇒ 00:16:39.540 Jon Emerson: I also use Polytomic to get audio over to.
164 00:16:39.540 ⇒ 00:16:42.520 Ghalib Suleiman: Stripe, and Attio, and Brevo, and so on, yeah.
165 00:16:42.520 ⇒ 00:16:42.860 Jon Emerson: Yeah.
166 00:16:42.860 ⇒ 00:16:43.620 Ghalib Suleiman: Yeah.
167 00:16:44.120 ⇒ 00:16:49.479 Sandra Nachforg: How is it comparing to Fivetran? I know that, John, you mentioned that, so curious, like, if you compare it
168 00:16:49.900 ⇒ 00:16:50.670 Sandra Nachforg: comic.
169 00:16:50.890 ⇒ 00:17:03.210 Ghalib Suleiman: Yeah, the big difference is we can go both ways, and so Fivetrad will only go to a warehouse, whereas we can go to Attio, or to Google Ads, or wherever you want when going to SaaS applications.
170 00:17:03.630 ⇒ 00:17:13.050 Ghalib Suleiman: So we’re the one platform that just moves data somewhat in a neutral fashion in all directions, whereas the whole market is fragmented into vertical solutions.
171 00:17:13.900 ⇒ 00:17:16.709 Ghalib Suleiman: So far, into warehouses only.
172 00:17:17.839 ⇒ 00:17:18.159 Sandra Nachforg: Okay.
173 00:17:18.160 ⇒ 00:17:25.649 Ghalib Suleiman: And then for Attia in particular, Attia themselves are a customer of ours. We have a very, very tight integration with Attia, where we support,
174 00:17:26.450 ⇒ 00:17:31.750 Ghalib Suleiman: You know, here’s one. I don’t know if you guys have a marketing team yet, but we support lists and writing, too.
175 00:17:32.000 ⇒ 00:17:37.629 Ghalib Suleiman: And from Attio lists, for example, which is quite a popular use for Attio as companies grow.
176 00:17:38.560 ⇒ 00:17:41.769 Sandra Nachforg: Yeah, we do have, we do have, marketing.
177 00:17:42.110 ⇒ 00:17:54.209 Ghalib Suleiman: Yeah, and the more specific, it is a very, very tight Attier integration, and we’re very close to the team, because they do… they are a customer of ours anyway. And then on the more generic, it’s… we go in all directions, so that’s the difference.
178 00:17:54.210 ⇒ 00:17:54.640 Sandra Nachforg: I see.
179 00:17:54.640 ⇒ 00:17:56.070 Ghalib Suleiman: multiple vendors.
180 00:17:57.380 ⇒ 00:17:58.380 Sandra Nachforg: Understood.
181 00:17:59.080 ⇒ 00:18:02.470 Sandra Nachforg: I think the cost factor is definitely something.
182 00:18:02.930 ⇒ 00:18:10.690 Sandra Nachforg: That we probably want to figure out, and I… John, you might have a better understanding of the volume of data that we would move.
183 00:18:12.130 ⇒ 00:18:18.999 Jon Emerson: We have 20 million trans… 20 million generations so far over the course of Hedra’s…
184 00:18:19.750 ⇒ 00:18:21.250 Jon Emerson: Less than a year.
185 00:18:22.010 ⇒ 00:18:29.999 Jon Emerson: So… That’s about… 100,000 writes a day?
186 00:18:30.740 ⇒ 00:18:32.529 Jon Emerson: On the order of 100,000?
187 00:18:32.930 ⇒ 00:18:34.860 Ghalib Suleiman: Yeah, that’s really tiny, actually.
188 00:18:36.640 ⇒ 00:18:37.590 Ghalib Suleiman: Sorry, for us, anyway.
189 00:18:37.590 ⇒ 00:18:39.950 Sandra Nachforg: Sounds like a lot.
190 00:18:39.950 ⇒ 00:18:44.980 Ghalib Suleiman: 100,000… yeah, I mean, 100,000 writes a day, and we’re counting row updates rather than.
191 00:18:45.190 ⇒ 00:18:48.319 Jon Emerson: I’ll maybe 10x it, just to be generous.
192 00:18:48.320 ⇒ 00:18:48.870 Ghalib Suleiman: Yeah.
193 00:18:48.870 ⇒ 00:18:50.989 Jon Emerson: Like, that order of magnitude.
194 00:18:51.120 ⇒ 00:18:56.720 Ghalib Suleiman: Yeah, yeah, I might actually have, you know, 30 million updates a month. I mean, that’s pretty tiny.
195 00:18:56.850 ⇒ 00:19:02.890 Ghalib Suleiman: So that’s all well and good, and then the other question is what’s going on with Stripe, and how much data is in there.
196 00:19:03.990 ⇒ 00:19:10.950 Sandra Nachforg: Probably the same, because it’s like… I mean, no, no, it’s less, actually. Yeah, it’s the purchase subscriptions.
197 00:19:12.420 ⇒ 00:19:14.690 Ghalib Suleiman: Yeah, okay. And then…
198 00:19:15.620 ⇒ 00:19:34.180 Ghalib Suleiman: I think, yeah, it’s certainly worth, you know, certainly get a quote from our side, and… I think it’s worth, then, at least rescheduling so I can get someone, or I’d realize, yeah, Tom, actually, he’s just messaged me, he has gotten hit with sickness, goodness. But should be in ship shape, I suspect, Monday onwards, the way these food poisonings go.
199 00:19:35.550 ⇒ 00:19:41.310 Ghalib Suleiman: And then, I think you can just take stock of cost from that side as well. Sandra and John.
200 00:19:42.590 ⇒ 00:19:43.310 Sandra Nachforg: Sounds good.
201 00:19:43.310 ⇒ 00:19:44.040 Ghalib Suleiman: See what’s worse.
202 00:19:44.040 ⇒ 00:19:44.560 Sandra Nachforg: Cool.
203 00:19:45.140 ⇒ 00:19:46.730 Sandra Nachforg: While we’re…
204 00:19:47.300 ⇒ 00:19:56.879 Ghalib Suleiman: So yeah, John, again, on Postgres, it’s… you know, I’d really just say give it a go. We do free trials as well, and so, you know, it may be worth, frankly, just spin up a Postgres
205 00:19:57.080 ⇒ 00:20:05.689 Ghalib Suleiman: you know, we do a week’s free trial, which is plenty, and then we set up pipelines into this Postgres your team spins up, and then Sandra can run some queries.
206 00:20:05.690 ⇒ 00:20:09.160 Jon Emerson: And if we don’t like it, we just point it to Snowflake instead, and we start using Snowflake.
207 00:20:09.270 ⇒ 00:20:10.610 Ghalib Suleiman: Yeah, sweet, exactly.
208 00:20:11.630 ⇒ 00:20:16.139 Ghalib Suleiman: This is a very, sort of, humdrum, mundane situation as far as we’re concerned.
209 00:20:16.140 ⇒ 00:20:16.489 Jon Emerson: That’s pretty cool.
210 00:20:16.490 ⇒ 00:20:26.820 Ghalib Suleiman: Actually, the data set sizes are so tiny. But yes, that’s the benefit. You just point us at whatever, and we’ll get going, and so if you don’t like Postgres, two clicks and we’re going to Snowflake instead.
211 00:20:26.820 ⇒ 00:20:27.240 Jon Emerson: Sweet.
212 00:20:27.240 ⇒ 00:20:40.110 Ghalib Suleiman: And so, yeah, maybe give it a go. I hope you can excuse me for pausing. It is a request, or a thought that people don’t bring up often. Everyone just leaps to the warehouse and they’re on their way. But let’s do this and see, right? Maybe it does work.
213 00:20:40.110 ⇒ 00:20:40.960 Jon Emerson: I mean…
214 00:20:42.080 ⇒ 00:20:47.830 Ghalib Suleiman: It’s, you know, maybe very well pragmatic in the end, you know, if it does work out, then again, benchmarking proves everything.
215 00:20:48.820 ⇒ 00:20:52.720 Ghalib Suleiman: Then stick around with Postgres and avoid the snowflake tax for a bit.
216 00:20:54.930 ⇒ 00:20:58.860 Jon Emerson: Cool. Well, think about it. I’m curious, like, how much money are we actually saving by not.
217 00:20:58.860 ⇒ 00:21:03.020 Ghalib Suleiman: Well, this is the thing. I mean, again, I know your investors, and…
218 00:21:03.420 ⇒ 00:21:08.460 Ghalib Suleiman: There’s an aspect of, well, you know, you’re not some dying company.
219 00:21:08.650 ⇒ 00:21:11.510 Ghalib Suleiman: And how much are you saving? I don’t know, like.
220 00:21:11.620 ⇒ 00:21:15.029 Ghalib Suleiman: what, 5K a year? Something like that, 3K.
221 00:21:15.030 ⇒ 00:21:16.049 Jon Emerson: Oh, that’s it?
222 00:21:17.170 ⇒ 00:21:18.319 Ghalib Suleiman: Can’t imagine.
223 00:21:18.530 ⇒ 00:21:23.209 Ghalib Suleiman: At your size, your operating cost would be that much higher for snowfall.
224 00:21:23.210 ⇒ 00:21:25.530 Justin Offermann: That’s… that’s a comparison against Snowflake cost.
225 00:21:25.930 ⇒ 00:21:32.239 Ghalib Suleiman: Yeah, I mean, your Snowflake, I don’t know, like, really, you know, in the extreme, what, 8, 9K of snowflake?
226 00:21:32.240 ⇒ 00:21:33.360 Jon Emerson: compute cost.
227 00:21:34.970 ⇒ 00:21:36.350 Justin Offermann: It seems, yeah.
228 00:21:36.350 ⇒ 00:21:38.149 Jon Emerson: I just do Snowflake, then. Get it over.
229 00:21:38.150 ⇒ 00:21:51.240 Ghalib Suleiman: So again, right, you think of engineering time, right, and well, someone’s benchmarking Postgres, and well, people join, and now work halts while you do, you know, people set up Snowflake again with the permissions and so on. I don’t know, as a data person.
230 00:21:51.980 ⇒ 00:22:01.409 Ghalib Suleiman: We’re neutral, consider this to be a neutral recommendation. I would like to nudge you towards just set up a warehouse and move on with your lives, ship products and do whatever.
231 00:22:01.700 ⇒ 00:22:02.280 Jon Emerson: Yeah.
232 00:22:03.430 ⇒ 00:22:04.230 Jon Emerson: Fair.
233 00:22:04.680 ⇒ 00:22:07.659 Sandra Nachforg: So we just need to figure out the…
234 00:22:07.790 ⇒ 00:22:15.149 Ghalib Suleiman: Yeah, the pragmatic motivations, though. I’m very sympathetic to just do something until it breaks, but in this case, especially, again, it’s your sizes.
235 00:22:16.460 ⇒ 00:22:17.970 Ghalib Suleiman: If we just do it and move on.
236 00:22:19.800 ⇒ 00:22:34.000 Ghalib Suleiman: But otherwise, Sandra, let me actually coordinate with Tom, and I’m so sorry, we’ll just reschedule so you can have a chat with that side. That’s the more salient bit, I think, is regarding costs. I actually don’t know what consultants cost, but this is a known good one.
237 00:22:34.110 ⇒ 00:22:37.329 Ghalib Suleiman: And you can have that chat, and then see what’s what.
238 00:22:38.480 ⇒ 00:22:39.209 Ghalib Suleiman: Cool. Does that make.
239 00:22:39.210 ⇒ 00:22:41.750 Sandra Nachforg: Yep. Sounds good to me.
240 00:22:41.750 ⇒ 00:22:49.669 Ghalib Suleiman: Okay, and lastly, Sandra, do you have access to John’s calendar so that you and I can do the scheduling without hassling him? Okay, great.
241 00:22:50.390 ⇒ 00:23:00.689 Ghalib Suleiman: John, thanks for bearing with me here, and again, feel free to, sort of, use any few minutes on consultations or whatever. I’ve been in data for, I think, over 15 years now.
242 00:23:00.800 ⇒ 00:23:07.589 Ghalib Suleiman: Here in SF, seen all sorts of things. I don’t know if there’s anything else on your mind outside of vendors and consultants.
243 00:23:10.450 ⇒ 00:23:13.110 Jon Emerson: I mean, I think this should be a pretty straightforward integration.
244 00:23:13.110 ⇒ 00:23:20.059 Ghalib Suleiman: It’s very straightforward, yeah. It’s, again, it’s borderline banal, as far as we’re concerned. It’s very, very standard stuff.
245 00:23:20.390 ⇒ 00:23:26.510 Jon Emerson: Yeah, so to have someone who can help with that, which is what this call was supposed to be about, would be just fantastic.
246 00:23:26.510 ⇒ 00:23:27.060 Ghalib Suleiman: Yeah, yes.
247 00:23:27.060 ⇒ 00:23:28.609 Jon Emerson: Get it, get it done.
248 00:23:28.610 ⇒ 00:23:34.739 Ghalib Suleiman: Yeah, yeah, okay. Probably then, if you do have a gap, it probably will be Monday then. But, Sandra, let’s see you and I chat,
249 00:23:35.110 ⇒ 00:23:35.650 Sandra Nachforg: Okay.
250 00:23:35.650 ⇒ 00:23:38.879 Ghalib Suleiman: Great, alright, thank you all. Thanks, John Liu.
251 00:23:38.880 ⇒ 00:23:41.289 Sandra Nachforg: que… Okay. Thanks, everyone. Bye.
252 00:23:42.480 ⇒ 00:23:43.070 Ghalib Suleiman: Bye.
253 00:23:43.320 ⇒ 00:23:44.570 Sandra Nachforg: Talk to you later!
254 00:23:44.920 ⇒ 00:23:46.770 Ghalib Suleiman: Yeah, I’ll follow up on Slack, Sandra.