Meeting Title: Omni AI Demo Preparation Sync Date: 2025-10-08 Meeting participants: Uttam Kumaran, Samuel Roberts
WEBVTT
1 00:00:42.510 ⇒ 00:00:43.480 Samuel Roberts: A.
2 00:00:44.270 ⇒ 00:00:45.080 Uttam Kumaran: Ayy.
3 00:00:47.360 ⇒ 00:00:48.330 Uttam Kumaran: How’s everything?
4 00:00:48.990 ⇒ 00:00:50.800 Samuel Roberts: Going alright.
5 00:00:51.520 ⇒ 00:00:54.270 Samuel Roberts: Took a little break for a minute there.
6 00:00:54.270 ⇒ 00:00:55.390 Uttam Kumaran: Yeah, me too.
7 00:00:55.550 ⇒ 00:00:57.109 Samuel Roberts: But, yeah, getting back to it.
8 00:00:57.420 ⇒ 00:01:00.750 Samuel Roberts: A few minutes before you, to have mentioned it, so…
9 00:01:01.210 ⇒ 00:01:05.449 Uttam Kumaran: I’m curious, I’m like, I saw your message and I got really excited, so I’m just curious as.
10 00:01:05.450 ⇒ 00:01:09.669 Samuel Roberts: I mean, honestly, like, just… yeah, yeah, let me… I mean, I haven’t… so have you played with the AI at all?
11 00:01:10.080 ⇒ 00:01:11.010 Samuel Roberts: In Omni?
12 00:01:11.590 ⇒ 00:01:16.969 Samuel Roberts: It’s… it’s basically just, like, exactly what I would want, it seems. Like, it…
13 00:01:17.350 ⇒ 00:01:20.140 Samuel Roberts: Let me, let me share this real quick,
14 00:01:23.510 ⇒ 00:01:26.210 Samuel Roberts: Like, I mean, this is just, like, very…
15 00:01:26.720 ⇒ 00:01:29.379 Samuel Roberts: Quickly playing around with it a minute ago.
16 00:01:29.630 ⇒ 00:01:30.570 Samuel Roberts: But…
17 00:01:31.120 ⇒ 00:01:37.859 Samuel Roberts: I just started chatting over this e-com data, and I was like, okay, what’s something I would ask? Like, most ordered item? And it nailed that.
18 00:01:38.190 ⇒ 00:01:40.969 Samuel Roberts: It… it just generates, like.
19 00:01:41.350 ⇒ 00:01:45.890 Samuel Roberts: the queries for you, right? So I was looking at some of the safety stuff, too, before I started digging in.
20 00:01:46.150 ⇒ 00:01:51.290 Samuel Roberts: And at least for, like, most of this type of chat, like, it’s just…
21 00:01:51.850 ⇒ 00:01:55.219 Samuel Roberts: figuring out the SQL, you know?
22 00:01:55.790 ⇒ 00:01:58.800 Samuel Roberts: It hit some weird issues, I forget what happened here…
23 00:01:59.100 ⇒ 00:02:03.180 Samuel Roberts: Oh, yeah, it suggested, like, learn from this conversation, but I hadn’t actually done anything.
24 00:02:04.880 ⇒ 00:02:09.839 Samuel Roberts: to chat about it, so I think there’s more than I’m doing here, but I was even just getting to generate
25 00:02:09.880 ⇒ 00:02:28.499 Samuel Roberts: results, and somewhere I got it to generate some charts, but it all just kept updating here, so I kind of just overwrote a ton of it, but I hit some interesting stuff where I was like, let’s look at repeat customers, and realized in this dataset, there are no repeat customers, and it helped me figure that out and what was going on. It was… it was really…
26 00:02:29.160 ⇒ 00:02:30.260 Samuel Roberts: Pretty good.
27 00:02:31.370 ⇒ 00:02:32.390 Uttam Kumaran: Nice.
28 00:02:32.390 ⇒ 00:02:33.730 Samuel Roberts: Yeah, like…
29 00:02:34.280 ⇒ 00:02:43.119 Samuel Roberts: you know, I can show this off a little bit now, or a little bit now. I feel comfortable just being like, let’s chat over some of this econ data. Even finding problems in the data was great, like…
30 00:02:43.370 ⇒ 00:02:47.899 Samuel Roberts: I don’t know if I can… I… I haven’t necessarily figured out how to, like, save all this and, like…
31 00:02:48.450 ⇒ 00:02:51.559 Uttam Kumaran: So that, that I, I can fill in the gaps, because.
32 00:02:51.560 ⇒ 00:02:54.029 Samuel Roberts: I figured that. I wasn’t super worried about that.
33 00:02:54.030 ⇒ 00:02:58.450 Uttam Kumaran: Did you ever… did you ever do any… have you ever done any work with, like, Looker or Tableau?
34 00:02:59.140 ⇒ 00:03:02.960 Samuel Roberts: limited when I was doing the hair care company stuff, they were trying to set some of that.
35 00:03:02.960 ⇒ 00:03:12.200 Uttam Kumaran: Yeah, basically all it is, is, like, queries need to get, like… so, at the most basic level, you run a query, it’s a query over…
36 00:03:12.340 ⇒ 00:03:30.069 Uttam Kumaran: a table, and you get back results, right? So you start building abstractions from there. And so the data game right now is all about abstractions and in which layer the abstraction lives. And so right now, what you’re seeing is you’re seeing query on top of already modeled data, and the marketing lives in…
37 00:03:30.110 ⇒ 00:03:33.500 Uttam Kumaran: the modeling, in this case lives in Omni, and so.
38 00:03:33.500 ⇒ 00:03:34.510 Samuel Roberts: Yeah, okay.
39 00:03:34.510 ⇒ 00:03:41.470 Uttam Kumaran: You can actually take this query and then further materialize this as, like, its own model.
40 00:03:41.570 ⇒ 00:03:44.900 Samuel Roberts: Oh, I see. Yes, that makes more sense. I saw some of that models and stuff, and it was just…
41 00:03:44.900 ⇒ 00:03:47.789 Uttam Kumaran: If you go to the top left, you’ll see, like, model and view.
42 00:03:47.790 ⇒ 00:03:48.700 Samuel Roberts: Yeah…
43 00:03:48.700 ⇒ 00:03:49.090 Uttam Kumaran: So…
44 00:03:49.090 ⇒ 00:03:49.480 Samuel Roberts: Okay.
45 00:03:49.480 ⇒ 00:04:01.479 Uttam Kumaran: Yeah, so you can save your query as a view, which is literally just a query. That’s cool, okay. The query itself can turn into another view, right? Like, where it’s only these five columns, and then you start from there, so…
46 00:04:01.480 ⇒ 00:04:02.120 Samuel Roberts: Sure, sure.
47 00:04:02.120 ⇒ 00:04:04.050 Uttam Kumaran: extraction on top of…
48 00:04:04.770 ⇒ 00:04:16.730 Uttam Kumaran: Queries. So, in Omni, you can say queries, you have topics. Topics are, like, set points between views, basically. Okay. So you’re in, like, the user acquisition topic, it looks like, I think.
49 00:04:16.730 ⇒ 00:04:20.510 Samuel Roberts: Okay, okay, well, I think that’s changed as I’ve moved things around here a little bit.
50 00:04:20.519 ⇒ 00:04:21.279 Uttam Kumaran: Yeah, it wasn’t…
51 00:04:21.279 ⇒ 00:04:22.229 Samuel Roberts: Yeah, it’s bad.
52 00:04:22.230 ⇒ 00:04:29.979 Uttam Kumaran: There are already multiple topics. All they are are joined between tables, most likely governed by, like, business area, or…
53 00:04:30.210 ⇒ 00:04:32.579 Uttam Kumaran: granularity of the join, for example.
54 00:04:32.580 ⇒ 00:04:33.780 Samuel Roberts: sense. Yeah.
55 00:04:33.780 ⇒ 00:04:39.930 Uttam Kumaran: The nice thing about Monkey, though, is you can set topic-level descriptions, column, view, like…
56 00:04:39.930 ⇒ 00:04:40.330 Samuel Roberts: Hmm.
57 00:04:40.330 ⇒ 00:04:57.850 Uttam Kumaran: you can set a ton of different contexts, and one of the things, you know, once you get into Omni, I actually… we did an interview where we interviewed one of the founders of Omni the other day, and one of the things I talked to him about is, like, you need to make it easy for users to get context into your product.
58 00:04:58.060 ⇒ 00:05:03.480 Uttam Kumaran: You know, we go into a company and we have documents and all this stuff on this data, but…
59 00:05:03.750 ⇒ 00:05:09.109 Uttam Kumaran: I don’t know if my team can take the time to go write descriptions for everything, and so that’s what they’re working on.
60 00:05:09.250 ⇒ 00:05:17.920 Uttam Kumaran: But, like, they’re getting there. And so, basically, given they have all this information, the more descriptions and business context you add.
61 00:05:18.720 ⇒ 00:05:19.870 Uttam Kumaran: The better the…
62 00:05:20.720 ⇒ 00:05:21.750 Samuel Roberts: Right, right.
63 00:05:21.750 ⇒ 00:05:22.940 Uttam Kumaran: AI gets.
64 00:05:22.940 ⇒ 00:05:31.160 Samuel Roberts: Yeah, I mean, even just… I don’t know exactly… I haven’t dug into the data here to see, like, how well this was all organized. I imagine it’s pretty well done for the demo stuff.
65 00:05:31.290 ⇒ 00:05:33.669 Samuel Roberts: But just asking it, like,
66 00:05:34.580 ⇒ 00:05:42.269 Samuel Roberts: What was some of the ones I did earlier? Oh, just, like, look, yeah, here’s a couple weird things, like, but it caught that and fixed it and did it all, like, on its own.
67 00:05:42.560 ⇒ 00:05:46.340 Samuel Roberts: Yeah, I just, I mean, I was looking up, like.
68 00:05:46.520 ⇒ 00:05:50.399 Samuel Roberts: best-selling products, I was looking at best-selling products by month, I was looking up
69 00:05:50.580 ⇒ 00:06:00.320 Samuel Roberts: repeat customers, and that’s where we get some weird stuff, where I realized there’s no… every… there’s a bunch of users with the same email, but they all have different user IDs, and that’s, like, great to find, I guess, even though it’s a little…
70 00:06:00.320 ⇒ 00:06:01.109 Uttam Kumaran: Oh, great, okay.
71 00:06:01.110 ⇒ 00:06:12.150 Samuel Roberts: So there was, like, some cool stuff where I was, like, it returned some data that didn’t make sense. Where were we? Hold on, let’s back up. Yeah. I just said, let’s analyze repeat customers, and then it had a bunch of errors, right?
72 00:06:12.150 ⇒ 00:06:12.870 Uttam Kumaran: Okay.
73 00:06:12.870 ⇒ 00:06:18.299 Samuel Roberts: And then it was like, alright, well, let’s try a few different things. It suggested some things, which is a really cool follow-up that’s, like.
74 00:06:18.860 ⇒ 00:06:29.990 Samuel Roberts: pretty, pretty sweet. And then I was just like, okay, what do they re… what do they spend on average? And then it started doing all that, and I was just getting, like, a single point, and that’s how I finally realized there’s no repeat customers.
75 00:06:30.440 ⇒ 00:06:34.269 Samuel Roberts: I don’t know if I can walk back in time through all this stuff, but,
76 00:06:35.660 ⇒ 00:06:52.419 Samuel Roberts: Yeah, basically. Yeah, it was really interesting, because it was, like, yeah, I saw tons of emails sorted, and they were all different, and, like, finding that easily from this is… was really nice, because, yeah, I had no insight on any of this data, or even the tool all that well, obviously. But it seems, yeah, it seems great.
77 00:06:52.650 ⇒ 00:06:54.209 Samuel Roberts: Yeah, seems like a great tool.
78 00:06:54.680 ⇒ 00:06:59.199 Samuel Roberts: I played a little bit looking at the MCP stuff, and even the AI, I think that was in the…
79 00:06:59.750 ⇒ 00:07:07.509 Samuel Roberts: The deck you sent, but yeah, like, MCP stuff seems like it pretty much can call this, like.
80 00:07:08.310 ⇒ 00:07:12.769 Samuel Roberts: Like, generate query tool, and then run query tool, effectively?
81 00:07:13.160 ⇒ 00:07:24.790 Samuel Roberts: So it basically is access to, like, the AI right here. And then it had an API for other sorts of endpoints, generate query, yeah.
82 00:07:25.210 ⇒ 00:07:30.899 Samuel Roberts: So I don’t know how best to, like, get this into Slack, but it definitely seems achievable, you know?
83 00:07:33.720 ⇒ 00:07:38.430 Uttam Kumaran: Yeah, so, I mean, yeah, basically, I think it’s… I think they even may have,
84 00:07:39.710 ⇒ 00:07:43.059 Uttam Kumaran: Docs, or maybe even their own app, to be honest.
85 00:07:43.060 ⇒ 00:07:53.730 Samuel Roberts: Oh, that’s a good point, I didn’t even think of that as I was looking around. I just saw the MCP and was like, how do you get an MCP server in Slack? And you can… then it was like, it’s not easy to just, like, set that up, you have to have the hell chat agent and everything ready.
86 00:07:54.000 ⇒ 00:07:57.630 Uttam Kumaran: Okay, I feel like they may have an Omni Slack thing, so…
87 00:07:57.630 ⇒ 00:08:03.420 Samuel Roberts: Yeah, I was gonna say, I didn’t even think of that as I was searching around, but if they don’t,
88 00:08:05.010 ⇒ 00:08:11.220 Samuel Roberts: Omni for Slack… Omni Dashboard delivered to Slack?
89 00:08:11.220 ⇒ 00:08:13.820 Uttam Kumaran: Remember, you can get into cursor…
90 00:08:14.760 ⇒ 00:08:21.980 Samuel Roberts: Yeah, I saw that, that looks pretty cool. So, like, if anyone’s using other tools, the MCP server seems nice, but even just…
91 00:08:22.530 ⇒ 00:08:25.430 Samuel Roberts: Either way, your team needs them, everyone’s team is free to access.
92 00:08:25.710 ⇒ 00:08:29.340 Uttam Kumaran: Slack seems like… the best.
93 00:08:29.340 ⇒ 00:08:30.339 Samuel Roberts: Send me back.
94 00:08:31.690 ⇒ 00:08:32.610 Samuel Roberts: Yeah.
95 00:08:32.610 ⇒ 00:08:37.709 Uttam Kumaran: But also, you could ask, you could ask in our partnership channel with them if they have a simple thing.
96 00:08:38.270 ⇒ 00:08:39.420 Samuel Roberts: Oh, yeah.
97 00:08:43.539 ⇒ 00:08:45.109 Samuel Roberts: Up on the…
98 00:08:47.190 ⇒ 00:08:55.260 Samuel Roberts: Yeah, it’s a good idea, I forgot we had that as I was Googling around here, but…
99 00:08:56.710 ⇒ 00:08:58.400 Samuel Roberts: Yeah, but even, even…
100 00:08:58.850 ⇒ 00:09:04.380 Samuel Roberts: Even if not, I see a pretty easy way where it’s, like, just another bot that… Sends that through.
101 00:09:04.520 ⇒ 00:09:13.519 Samuel Roberts: the generate query and load stuff, so you could have this… if they don’t have it already, you know, you could definitely replicate this, because the API endpoints are there.
102 00:09:15.190 ⇒ 00:09:19.529 Samuel Roberts: But yeah, I’ll send something in the Slack where… yeah, there we are.
103 00:09:19.880 ⇒ 00:09:24.080 Samuel Roberts: I finally sat up at my desk today, because I’ve been working, like, out on the deck. It was so nice.
104 00:09:24.080 ⇒ 00:09:24.490 Uttam Kumaran: Oh, no.
105 00:09:24.490 ⇒ 00:09:31.270 Samuel Roberts: Now I got, like, so many more monitors, I was just working on the laptop for so long, and I’m like, oh yeah, now I don’t know where anything is as I plug it in, and it…
106 00:09:31.600 ⇒ 00:09:39.980 Samuel Roberts: Does that Partnership Omni… Cool, yeah. I’ll take a look there.
107 00:09:41.300 ⇒ 00:09:50.339 Samuel Roberts: But yeah, I mean, overall, like, I feel pretty comfortable just, like, demoing a few quick things here, ones I either did, or just on the fly if they ask for something, but…
108 00:09:50.340 ⇒ 00:09:51.140 Uttam Kumaran: Yeah, I think…
109 00:09:51.140 ⇒ 00:09:53.050 Samuel Roberts: Getting Slack… yeah, I’m trying.
110 00:09:53.050 ⇒ 00:09:56.749 Uttam Kumaran: Yeah, just like any demo, we should just, like, lock up the 5.
111 00:09:56.910 ⇒ 00:10:09.749 Uttam Kumaran: questions you’re gonna ask, and then… Yeah. I think, think about it like it’s a CEO, so I think they’re more gonna be interested in, like, the most basic, like, if there’s… if they’re gonna… I don’t think they’re gonna get overwhelmed if they see this screen.
112 00:10:09.910 ⇒ 00:10:10.530 Uttam Kumaran: So, maybe…
113 00:10:10.530 ⇒ 00:10:13.819 Samuel Roberts: Oh, yeah. Well, yeah, this can get hidden.
114 00:10:13.820 ⇒ 00:10:19.270 Uttam Kumaran: Yeah, if anything, we could just focus on, like, this, plus the chart, maybe, or…
115 00:10:19.270 ⇒ 00:10:22.629 Samuel Roberts: I think there’s a way to… yeah, so, like, yeah, in…
116 00:10:23.020 ⇒ 00:10:24.749 Samuel Roberts: Pare this down quite a bit.
117 00:10:25.430 ⇒ 00:10:27.669 Samuel Roberts: But yeah, I definitely…
118 00:10:28.270 ⇒ 00:10:33.900 Samuel Roberts: Yeah, we figured out a few good things, you know, like, I was looking at, like, highest margin items and stuff.
119 00:10:34.130 ⇒ 00:10:38.700 Samuel Roberts: over… the last, you know, 6 months and stuff, this was…
120 00:10:39.670 ⇒ 00:10:54.149 Samuel Roberts: This one, I didn’t forget what I was actually on down here, by the end of it. Show me inventory turnover analysis by category, yeah. Which is, I think, one of the ones I suggested after I did, let’s investigate the inventory, because I just saw there was more data there that I hadn’t touched yet, but,
121 00:10:54.710 ⇒ 00:10:55.750 Samuel Roberts: Yeah.
122 00:10:57.510 ⇒ 00:11:01.390 Samuel Roberts: I can definitely, like, narrow it down to a few eye-level ones there.
123 00:11:06.900 ⇒ 00:11:10.650 Uttam Kumaran: Our call tomorrow is at, like, a 1, or… what is it?
124 00:11:11.830 ⇒ 00:11:17.270 Uttam Kumaran: 12.30 Central. It looks like I’m in meetings until, like, until, like, 11.
125 00:11:17.760 ⇒ 00:11:23.200 Uttam Kumaran: 45. We can meet… Sort of right around 11.45, if you want to.
126 00:11:23.630 ⇒ 00:11:27.990 Samuel Roberts: I’ll make sure I’m looking at the right week here.
127 00:11:27.990 ⇒ 00:11:28.720 Uttam Kumaran: going.
128 00:11:29.560 ⇒ 00:11:37.449 Samuel Roberts: Yeah, we can. I have a… I’ve been trying to set… I’ve been trying to get some time with Henry, because I think a while back he had posted about him doing more AI stuff.
129 00:11:38.510 ⇒ 00:11:41.360 Samuel Roberts: And we just keep bumping it, because everything comes up in the meantime, and it’s not…
130 00:11:41.360 ⇒ 00:11:45.280 Uttam Kumaran: Oh, well, yeah, why don’t I mean, why don’t I try to, like, I mean.
131 00:11:45.510 ⇒ 00:11:50.469 Samuel Roberts: X12 works, too, you know, it’s just a quick… I haven’t really chatted.
132 00:11:50.470 ⇒ 00:11:55.849 Uttam Kumaran: Your meeting with him is at OL. Oh, you’re on, oh, I’m saying.
133 00:11:56.050 ⇒ 00:11:58.400 Samuel Roberts: Oh, wait a minute, yeah, you’re talking Central.
134 00:11:58.430 ⇒ 00:12:03.270 Uttam Kumaran: Even better, yep, that’s perfect then. Okay, cool. Yeah, yeah, yeah, keep your meeting with them.
135 00:12:03.270 ⇒ 00:12:07.370 Samuel Roberts: Okay, sorry, yeah, I always forget the time zone thing. I’m aware of it for some, but I keep forgetting.
136 00:12:07.370 ⇒ 00:12:12.180 Uttam Kumaran: I mean, yeah, looking at your calendar, you got, like, Swiss cheese calendar now, so I’ll fix that, or I’ll…
137 00:12:12.650 ⇒ 00:12:13.280 Uttam Kumaran: Alright, cool.
138 00:12:13.280 ⇒ 00:12:19.460 Samuel Roberts: Yeah, I mean, it’s not terrible. The AVC thing is right in the middle here. That’s the only one that’s, like, real bad.
139 00:12:19.460 ⇒ 00:12:24.060 Uttam Kumaran: Well, but, like, who’s run… you’re… you’re running it now, so even for the next, like.
140 00:12:25.060 ⇒ 00:12:27.290 Uttam Kumaran: week or so, we can move it, right? Is the client on.
141 00:12:27.290 ⇒ 00:12:44.779 Samuel Roberts: Yeah, honestly, today, we couldn’t actually get onto the call, because I think she had, like, a few different calls scheduled in, so the room wasn’t available. And I was chatting with Casey Mustaf on Slack, and we were, like, debating whether or not to even get on. I was like, an async update is fine for this, as long as, I just wanted to make sure, like, triage and stuff was happening for ABC, but they’re on top of the other stuff, so…
142 00:12:44.780 ⇒ 00:12:45.350 Uttam Kumaran: Okay.
143 00:12:45.780 ⇒ 00:13:03.340 Samuel Roberts: I’m not too worried about that. I had told them we would actually discuss it in the, AI data… probably could call it AI team meeting at this point, but, the meeting at, like, 9 that we have when we’ll all be on, and I’ll just do a quick, like, ABC check-in there. So I’m not worried about that tomorrow. That one’s probably… I can even just say no to it. I don’t know.
144 00:13:04.480 ⇒ 00:13:08.829 Samuel Roberts: So yeah, whatever works then. Yeah, 1245 to 1, totally.
145 00:13:10.350 ⇒ 00:13:15.660 Samuel Roberts: And I’ll dig in and see about the Slack. I’m seeing mention of a Slack bot here. I just gotta figure out…
146 00:13:17.170 ⇒ 00:13:18.630 Samuel Roberts: Where that is.
147 00:13:20.230 ⇒ 00:13:26.290 Samuel Roberts: AI is… the Slack experience. Okay.
148 00:13:27.370 ⇒ 00:13:31.839 Samuel Roberts: Yeah. So what are you… what else… what else are you working on right now?
149 00:13:32.540 ⇒ 00:13:41.030 Uttam Kumaran: Yeah, I was going to take a stab at shipping, kind of, like, one big thing and one small thing. So, one is I wanted to ship
150 00:13:41.380 ⇒ 00:13:45.819 Uttam Kumaran: And maybe I can talk… actually, like, yeah, let’s… maybe I can talk through… through with you.
151 00:13:45.940 ⇒ 00:13:55.720 Uttam Kumaran: on architecture, but I wanted to ship the transcript minimizer like, on… copy the.
152 00:13:57.160 ⇒ 00:13:59.089 Samuel Roberts: Yes, yes, we did talk about that, that’s great.
153 00:13:59.090 ⇒ 00:14:05.160 Uttam Kumaran: So, I have the function… Is there any gotchas I should think about?
154 00:14:05.160 ⇒ 00:14:09.969 Samuel Roberts: This is actually interesting, because I was literally just… this came up with the…
155 00:14:10.900 ⇒ 00:14:18.130 Samuel Roberts: Turbo Pupper stuff, where, like, I want to keep that transcript with the timestamps, because it’s helpful for a few things in that view.
156 00:14:18.130 ⇒ 00:14:23.019 Uttam Kumaran: Yeah, like, I don’t… I… you mentioned that last time, too, so I can totally, like…
157 00:14:23.200 ⇒ 00:14:25.569 Uttam Kumaran: This can… this doesn’t have to impact the front end.
158 00:14:25.570 ⇒ 00:14:32.049 Samuel Roberts: No, no, I agree, I agree. We were debating on the call earlier whether or not Turbo Puffer needs all that timestamps and stuff, too.
159 00:14:32.610 ⇒ 00:14:35.830 Uttam Kumaran: Oh, I mean, definitely not.
160 00:14:35.830 ⇒ 00:14:41.150 Samuel Roberts: Yeah, I think for now, he said it was running fine so far, and I was like, alright, well, at some point, part of the…
161 00:14:41.410 ⇒ 00:14:45.999 Samuel Roberts: the load to Turbo Puffer, we might want to implement this function that you’re working on anyway.
162 00:14:46.030 ⇒ 00:14:47.690 Uttam Kumaran: I see.
163 00:14:47.690 ⇒ 00:14:58.150 Samuel Roberts: So, yeah, I think… I’m just trying to think the best way is, like, for now, if you just want it on, like, on copy, I think that should be pretty easy, and as long as the logic is there, we can reuse that, because I think…
164 00:14:59.720 ⇒ 00:15:04.119 Uttam Kumaran: Basically, you’re thinking of, like, you should just have it in Superbase as another column.
165 00:15:05.340 ⇒ 00:15:12.980 Samuel Roberts: Potentially, yeah, either storing it that way, or we just have, like, a simple function that gets hit that can export it cleanly. But yeah, if we wanted to make a separate column.
166 00:15:13.090 ⇒ 00:15:16.720 Samuel Roberts: You know, some of the transcripts get long, I don’t know if it’s worth that right now.
167 00:15:18.060 ⇒ 00:15:21.740 Uttam Kumaran: This compressor is pretty good, but…
168 00:15:21.740 ⇒ 00:15:25.439 Samuel Roberts: Yeah, I just don’t want to necessarily keep the full thing and the compressor, because I feel like…
169 00:15:26.260 ⇒ 00:15:30.079 Samuel Roberts: I… yeah, let’s for now just get it in and, like, on the copy, and then if it’s…
170 00:15:30.080 ⇒ 00:15:30.750 Uttam Kumaran: Okay.
171 00:15:31.620 ⇒ 00:15:32.600 Samuel Roberts: If it seems worth…
172 00:15:32.600 ⇒ 00:15:33.949 Uttam Kumaran: Jess can take it from there if you need it.
173 00:15:33.950 ⇒ 00:15:37.490 Samuel Roberts: Yeah, I think that’s fine. I’m trying to think what…
174 00:15:37.640 ⇒ 00:15:41.960 Samuel Roberts: Yeah, I mean, really, I would say just declare… let me see, actually, I don’t know if that button…
175 00:15:42.360 ⇒ 00:15:47.250 Samuel Roberts: That button probably has some hook there anyway. That’s on the meetings page.
176 00:15:50.850 ⇒ 00:15:56.689 Samuel Roberts: Transcript… Copy… handle copy…
177 00:15:57.030 ⇒ 00:16:02.700 Samuel Roberts: Okay, yeah, so it looks like we got a handle copy function in the meetings ID page.
178 00:16:05.950 ⇒ 00:16:10.830 Samuel Roberts: See, this is what I’m talking about, where, like, some of this stuff is the same and probably duplicated, but I bet…
179 00:16:11.170 ⇒ 00:16:13.370 Samuel Roberts: Here, let me show you, actually, let me jump back over.
180 00:16:14.090 ⇒ 00:16:16.590 Samuel Roberts: So, do you have the platform code up?
181 00:16:18.320 ⇒ 00:16:20.170 Uttam Kumaran: I do, yes.
182 00:16:20.400 ⇒ 00:16:24.209 Samuel Roberts: Okay, I was gonna say, because I could share the screen, but I might as well just walk you through where I think…
183 00:16:24.210 ⇒ 00:16:26.020 Uttam Kumaran: But basically…
184 00:16:26.020 ⇒ 00:16:28.710 Samuel Roberts: There’s a, there’s a handled copy, yeah.
185 00:16:35.880 ⇒ 00:16:38.380 Samuel Roberts: Yeah, let me make this a little bit bigger.
186 00:16:38.490 ⇒ 00:16:40.360 Samuel Roberts: I can’t have the screen. Okay.
187 00:16:41.200 ⇒ 00:16:43.840 Samuel Roberts: So yeah, if you dig into,
188 00:16:45.610 ⇒ 00:16:54.469 Samuel Roberts: I would even just do, like, a quick… I know the file, so it’s gonna be a little weird, because there’s gonna be lots of copy stuff. I think it’s called handled copy, but…
189 00:16:57.070 ⇒ 00:17:05.329 Samuel Roberts: Yeah, so, like, here we get the marketing page, where I created a new one, or had to add one there. There’s one on the Zoom search meeting, there’s one on the,
190 00:17:05.670 ⇒ 00:17:09.050 Samuel Roberts: Yeah, so I think the… Wait.
191 00:17:09.339 ⇒ 00:17:15.530 Samuel Roberts: Did I mess up? Hold on. There should be another one here, what’s it called? Yeah, handle copy and meeting ID slash page.
192 00:17:16.740 ⇒ 00:17:21.079 Samuel Roberts: I don’t know why it’s… Oh, I know I haven’t seen.
193 00:17:21.089 ⇒ 00:17:21.949 Uttam Kumaran: No, this is it, yeah.
194 00:17:22.430 ⇒ 00:17:30.360 Samuel Roberts: Yeah, so I think this is the other issue, is, like, you can view a page from, like, the Zoom search, and also view from the meeting, and, like, they’re kind of the same file, but they were just…
195 00:17:30.610 ⇒ 00:17:37.680 Samuel Roberts: implemented probably two different times or something. Okay. But this is the kind of stuff that, like, needs to get… some of it is repeat, some of it is already cleaned up, but…
196 00:17:37.680 ⇒ 00:17:38.580 Uttam Kumaran: This is where I’m like.
197 00:17:38.580 ⇒ 00:17:49.480 Samuel Roberts: there’s some things that need to happen here to maintain this code better. But yeah, this handle copy, basically, is just gonna take the… so if you, like, click on handle copy.
198 00:17:50.140 ⇒ 00:17:56.659 Samuel Roberts: And, you can see where it gets called later. But it’s just… it’s just whatever text is passed in, and I think we’re just literally passing in.
199 00:17:57.100 ⇒ 00:18:01.039 Uttam Kumaran: How do you… what’s the shortcut to, like, click on a function and find…
200 00:18:01.040 ⇒ 00:18:05.489 Samuel Roberts: As I was just saying that, I was gonna try to tell you what to do, and then I’m like, it’s so muscle memory, I’m not even sure.
201 00:18:05.490 ⇒ 00:18:06.280 Uttam Kumaran: land.
202 00:18:06.620 ⇒ 00:18:08.559 Samuel Roberts: So normally what I would do is I would…
203 00:18:08.890 ⇒ 00:18:14.749 Samuel Roberts: see that, I’d highlight it, and then I’d hit Command-D, and I would just see quickly that it’s only in one spot.
204 00:18:14.910 ⇒ 00:18:16.469 Samuel Roberts: The other thing you can do is…
205 00:18:16.470 ⇒ 00:18:19.649 Uttam Kumaran: It looks like if I just press Command, I can see other references.
206 00:18:19.650 ⇒ 00:18:29.589 Samuel Roberts: That’s exactly what I was gonna… that’s the one… that’s the better, but my usual is, like, just to Command-D around. But yeah, basically, this is just passing in the transcript, so…
207 00:18:30.360 ⇒ 00:18:46.830 Samuel Roberts: because it’s only used in one place, you could just make it, like, handle transcript copy, and then put the logic in that function. The other side of it is you could keep this as a clean function that just does the copying, and then in the onClick, or make a new function that actually does the
208 00:18:47.320 ⇒ 00:18:50.929 Samuel Roberts: The compression.
209 00:18:51.590 ⇒ 00:18:53.910 Uttam Kumaran: What’s the… what does the second one mean? Like…
210 00:18:54.530 ⇒ 00:18:59.530 Samuel Roberts: So, like, alright, so this is the handle copy, and so my thought would be to keep this lean.
211 00:18:59.910 ⇒ 00:19:02.499 Samuel Roberts: Cause if we want to use it anywhere else, I, I, you know.
212 00:19:02.840 ⇒ 00:19:06.440 Uttam Kumaran: I wouldn’t necessarily want to make this handle transcript. I’d create another one.
213 00:19:06.740 ⇒ 00:19:09.900 Samuel Roberts: I would say, yeah, and they would call this, probably.
214 00:19:10.020 ⇒ 00:19:15.689 Samuel Roberts: But you can even see, like, in this file, in this function, it says transcript copied, so it’s only really used for transcript.
215 00:19:16.580 ⇒ 00:19:26.110 Uttam Kumaran: Yeah, I don’t mind having it be… yeah, I can leave the copy the way it is, but do you… are you guys writing… is this the way, like, you should just write the function directly in the page, like this?
216 00:19:26.440 ⇒ 00:19:32.410 Samuel Roberts: Sometimes, and sometimes not. You know what I mean? Like, a copy function like this is probably something we could abstract out.
217 00:19:33.540 ⇒ 00:19:39.969 Samuel Roberts: But, like, lots of these functions that are specific to the UI, like, more encapsulated in a React component.
218 00:19:40.190 ⇒ 00:19:45.500 Samuel Roberts: should be in those components, like, that’s the logic that applies to that component. So, like.
219 00:19:45.820 ⇒ 00:19:49.080 Samuel Roberts: high-level view here, you know, React is component-based.
220 00:19:49.210 ⇒ 00:19:53.310 Samuel Roberts: You know, you definitely want to try to keep things as,
221 00:19:54.390 ⇒ 00:19:56.099 Samuel Roberts: what’s the word they use? Like…
222 00:19:56.760 ⇒ 00:20:00.189 Samuel Roberts: In the compo- like, the logic for the component should live in that component.
223 00:20:00.370 ⇒ 00:20:01.439 Samuel Roberts: You know what I mean?
224 00:20:02.100 ⇒ 00:20:02.570 Uttam Kumaran: Yes.
225 00:20:02.570 ⇒ 00:20:17.360 Samuel Roberts: When things are repeated places, it’s either an indication that you need a new component that abstracts a few more things out, or there are helper functions that, you know, like this, that the logic is irrelevant, it just needs to get something onto the clipboard, you know?
226 00:20:17.360 ⇒ 00:20:18.440 Uttam Kumaran: Okay.
227 00:20:18.440 ⇒ 00:20:22.129 Samuel Roberts: So what I… what I would say here, is we would want…
228 00:20:22.440 ⇒ 00:20:26.290 Samuel Roberts: Trying to think, would we use this anywhere else besides this copy button right now?
229 00:20:28.030 ⇒ 00:20:32.229 Samuel Roberts: Probably not. I would just say to, make a new function in this
230 00:20:32.370 ⇒ 00:20:43.509 Samuel Roberts: page for now. Again, this is all gonna get cleaned up eventually so that the other ones will apply too, but we can look at that later. Or… there is a utils folder that you could do this for. Okay.
231 00:20:44.260 ⇒ 00:20:50.980 Samuel Roberts: Which might be smarter right now, because I think we just noticed that Zoom internal page is also going to probably need this eventually.
232 00:20:51.820 ⇒ 00:20:53.070 Uttam Kumaran: Hmm, okay.
233 00:20:53.070 ⇒ 00:20:57.780 Samuel Roberts: So I would say in the utils folder, where’s that?
234 00:20:58.330 ⇒ 00:21:00.029 Samuel Roberts: My little jaw tool here.
235 00:21:00.180 ⇒ 00:21:06.679 Samuel Roberts: So down in the utils… oh, no, okay. As I’m trying to draw, I’m like, I shouldn’t stop, yeah. In utils,
236 00:21:06.890 ⇒ 00:21:11.640 Samuel Roberts: Source, utils, yeah. So, that’s a bunch of… this is a bunch of stuff for connecting to Supabase.
237 00:21:11.920 ⇒ 00:21:17.980 Samuel Roberts: Obviously that gets you used everywhere, but you could just make a new… Probably…
238 00:21:19.160 ⇒ 00:21:22.169 Samuel Roberts: See, this is, again, where it gets weird, because it’s a migration. What’s in lib?
239 00:21:25.450 ⇒ 00:21:34.110 Samuel Roberts: Yeah, see, there’s a bunch of repeat stuff, like, I don’t think we need both of these super-based things at times. This is a lot of, like, again, it was just migrated over, I didn’t really do a whole lot of.
240 00:21:34.110 ⇒ 00:21:39.999 Uttam Kumaran: No, you should… you should just have… you should, dude, you should just tell Cortex to go, like, clean some of this stuff up.
241 00:21:40.000 ⇒ 00:21:47.560 Samuel Roberts: I definitely… yeah, exactly. When I was using Cursor before, it was really just, like, let’s keep everything the same so we don’t break anything. Now, we can probably do a lot of that.
242 00:21:47.750 ⇒ 00:21:50.000 Samuel Roberts: Yeah, and you… I haven’t even touched Cortex yet. How is that?
243 00:21:50.000 ⇒ 00:21:55.560 Uttam Kumaran: We have to try it, dude, we get it as part of our account, and I had to spend, like, 5 minutes doing something the other day, and…
244 00:21:55.710 ⇒ 00:22:01.459 Uttam Kumaran: you could just give it, like, narrow tasks, and then it’ll create a PR with the changes.
245 00:22:01.460 ⇒ 00:22:04.190 Samuel Roberts: Yeah, that’s… I should definitely… I’m writing that down right now on my…
246 00:22:04.190 ⇒ 00:22:07.270 Uttam Kumaran: You can just… but go, like, go area by area, like, start.
247 00:22:07.270 ⇒ 00:22:07.890 Samuel Roberts: Yeah.
248 00:22:10.480 ⇒ 00:22:13.600 Samuel Roberts: Anyway, but I would say, yeah, I would make, like, a util…
249 00:22:13.740 ⇒ 00:22:18.130 Samuel Roberts: file, or, like, file in the utils folder. That’s just,
250 00:22:19.650 ⇒ 00:22:24.329 Samuel Roberts: gen… I don’t know, like, this is where it gets a little more style over anything, like…
251 00:22:24.970 ⇒ 00:22:28.649 Samuel Roberts: Are there gonna be other functions that are gonna be, like.
252 00:22:28.880 ⇒ 00:22:37.890 Samuel Roberts: this kind of compression-related or, like, transcript-related stuff, but this is where I’m, like, I’d be more inclined to just throw it in the Zoom meeting now.
253 00:22:38.050 ⇒ 00:22:47.470 Samuel Roberts: Okay. And if we need to abstract it out to anywhere else, we’ll do that. But I don’t want to necessarily make a new util file that has one function that we import into one place.
254 00:22:47.660 ⇒ 00:22:48.670 Samuel Roberts: Does that make sense?
255 00:22:49.070 ⇒ 00:22:50.090 Uttam Kumaran: Yes, okay.
256 00:22:50.340 ⇒ 00:22:55.680 Samuel Roberts: So I would just say for now, yeah, in this, in this, oh, okay, we’re not seeing it anymore. In that meetings page.
257 00:22:56.190 ⇒ 00:22:57.770 Samuel Roberts: For now,
258 00:22:58.060 ⇒ 00:23:04.170 Samuel Roberts: And I think that’s where most of that copy’s gonna be, yeah. I would just let the…
259 00:23:05.040 ⇒ 00:23:08.630 Samuel Roberts: Make a new function that’s, like, compress transcript, and put your logic in there.
260 00:23:09.030 ⇒ 00:23:09.740 Uttam Kumaran: Okay.
261 00:23:10.400 ⇒ 00:23:12.020 Samuel Roberts: Actually, you know what you could even do?
262 00:23:12.670 ⇒ 00:23:16.420 Samuel Roberts: No, I’m not gonna complicate this. Just put in that function.
263 00:23:16.420 ⇒ 00:23:16.850 Uttam Kumaran: Okay.
264 00:23:16.850 ⇒ 00:23:22.449 Samuel Roberts: Or just below that. Well, because this is where it gets weird, where, like, certain things are React and need to be in the component.
265 00:23:22.900 ⇒ 00:23:40.210 Samuel Roberts: And certain things can be outside the component, so they’re not part of the, like, render process. Because, like, technically, every time this page gets called, or something updates, it instantiates a new version of handle copy, which, for handle copy, doesn’t really matter. I was just thinking, like, maybe this might be a bigger function, but for now.
266 00:23:40.450 ⇒ 00:23:51.410 Samuel Roberts: if we see it degrading performance, we’ll address it later, but there’s probably plenty of other things to handle that right now. So yeah, just underneath this, I would say create, you know, const compressed transcript.
267 00:23:51.660 ⇒ 00:23:59.440 Samuel Roberts: and then… It would be the logic you have there, or wherever you have it.
268 00:23:59.910 ⇒ 00:24:05.660 Samuel Roberts: And it would take in the, like, transcript… As a string and output.
269 00:24:05.830 ⇒ 00:24:10.969 Samuel Roberts: the compressed transcript as a string, and then on the onClick, I would basically just feed
270 00:24:11.350 ⇒ 00:24:16.590 Samuel Roberts: That function into the handleCopy function, and it’ll just do it all into the copy, because you don’t really need it anywhere else.
271 00:24:17.710 ⇒ 00:24:20.520 Uttam Kumaran: Okay, okay, great. Alright, I’ll take a… I’ll take a crack at it, let’s see it.
272 00:24:20.520 ⇒ 00:24:30.939 Samuel Roberts: Yeah. Yeah, so, like, handleCopy will still be used, and we could probably even abstract that a little bit, but again, don’t worry about it now. And then in the onClick, just make use of both functions, so they’re kind of, like, strung together.
273 00:24:31.200 ⇒ 00:24:31.820 Uttam Kumaran: Okay.
274 00:24:32.280 ⇒ 00:24:36.730 Samuel Roberts: And then you should be pretty good, because I think, you know, if we see you in other places…
275 00:24:36.730 ⇒ 00:24:40.089 Uttam Kumaran: that, and then I’m also gonna try to design and ship
276 00:24:40.440 ⇒ 00:24:59.560 Uttam Kumaran: a small feature around multi-select meeting chat. Like, this one is a little bit complicated, because I’ll have to discover how, like, the current Copilot kit works, but I basically want to see if we can… a user can select multiple meetings, and all of those chats, all of those transcripts can be brought into context.
277 00:25:00.040 ⇒ 00:25:05.799 Samuel Roberts: Oh… Okay, so, warning here…
278 00:25:06.130 ⇒ 00:25:06.780 Uttam Kumaran: Sure.
279 00:25:07.160 ⇒ 00:25:10.029 Samuel Roberts: this is…
280 00:25:10.410 ⇒ 00:25:15.730 Samuel Roberts: Okay, how do I explain this now? So, Copilot Kit has a bunch of ways to pass stuff into the context, right?
281 00:25:15.730 ⇒ 00:25:16.460 Uttam Kumaran: Yeah.
282 00:25:16.460 ⇒ 00:25:20.019 Samuel Roberts: We already had the N8N workflows set up.
283 00:25:20.280 ⇒ 00:25:22.669 Samuel Roberts: That do all of the client hub stuff.
284 00:25:23.080 ⇒ 00:25:23.670 Uttam Kumaran: Yeah.
285 00:25:23.670 ⇒ 00:25:31.870 Samuel Roberts: So at first, I was just like, yeah, we’ll pass in the transcript, we’ll pass in the participants, it’ll chat over this meeting, and then I realized, once I got a little deeper into N8N, that
286 00:25:32.140 ⇒ 00:25:35.629 Samuel Roberts: that misses out on the Slack messages, that misses out on, like.
287 00:25:35.780 ⇒ 00:25:36.530 Uttam Kumaran: Yeah.
288 00:25:36.530 ⇒ 00:25:42.630 Samuel Roberts: a whole bunch of stuff. And so, I kind of just have them pointing right now to call that N8N workflow.
289 00:25:42.800 ⇒ 00:25:43.480 Uttam Kumaran: Okay.
290 00:25:43.480 ⇒ 00:25:47.889 Samuel Roberts: Which means… It really only has the context of that meeting ID.
291 00:25:47.890 ⇒ 00:25:51.960 Uttam Kumaran: Whoa, what if, like, Should I just go ahead and try, like.
292 00:25:52.640 ⇒ 00:25:56.749 Uttam Kumaran: V0 or something, and see, like, how do you enable, like.
293 00:25:57.110 ⇒ 00:26:06.670 Uttam Kumaran: simple chat, like, I don’t care if it has context of the clients at all. I just want to be able to bring in dynamic context into the.
294 00:26:06.670 ⇒ 00:26:11.340 Samuel Roberts: Yeah, in that case, you could definitely set up, like, I don’t know if that would be, like, a…
295 00:26:12.240 ⇒ 00:26:13.330 Samuel Roberts: A new page you?
296 00:26:13.330 ⇒ 00:26:15.279 Uttam Kumaran: I can try with Copilot, I can try with the.
297 00:26:15.280 ⇒ 00:26:16.770 Samuel Roberts: Yeah, play around with it, definitely.
298 00:26:17.220 ⇒ 00:26:27.720 Samuel Roberts: Because if you can set that up, you could easily have, like, multiple meetings, and then feed in the transcripts as context directly into CopilotKit, not even hit the N8N stuff.
299 00:26:27.860 ⇒ 00:26:28.290 Uttam Kumaran: Yeah.
300 00:26:28.290 ⇒ 00:26:37.070 Samuel Roberts: And that would be… again, like, we’re trying to get there anyway, like, we… this is all the stuff that I want to get in Mastra better, and then we can make use of these things
301 00:26:37.390 ⇒ 00:26:39.710 Samuel Roberts: more,
302 00:26:40.230 ⇒ 00:26:52.170 Samuel Roberts: like, block-based, instead of just, like, N8N, do the whole client hub. We could actually be like, okay, analyze the transcript, do this, do that, as tools, and build workflows off those tools, but there’s still pieces we could
303 00:26:52.420 ⇒ 00:26:57.839 Samuel Roberts: move around. So, like, sometimes the client hubs are so slow, depending on what they’re doing.
304 00:26:58.030 ⇒ 00:26:58.800 Uttam Kumaran: Yeah.
305 00:26:58.800 ⇒ 00:27:02.380 Samuel Roberts: And I don’t think they need to be that slow, because they don’t need to do everything every time.
306 00:27:02.530 ⇒ 00:27:03.970 Samuel Roberts: But it does right now.
307 00:27:04.220 ⇒ 00:27:05.010 Uttam Kumaran: Yeah, I agree.
308 00:27:05.460 ⇒ 00:27:15.229 Samuel Roberts: So, that’s where we’re getting to. So far, Monsters looked really cool. Mustafa used it for Interlude to do some, like, SVG processing.
309 00:27:15.350 ⇒ 00:27:24.810 Samuel Roberts: and, like, pulling all the stuff out of the SVG, and it looks… it looks great. That was, like, the first real use case we had, because I was playing around, just trying to see how it worked with Copilot Kit, but,
310 00:27:25.120 ⇒ 00:27:28.530 Samuel Roberts: that’s stuff to also ticket out, I think.
311 00:27:29.390 ⇒ 00:27:40.700 Samuel Roberts: But yeah, take a swing at it, see what, or, like, model it up, like, mock it up, and see what it would even look like, because if it’s gonna have to be, like, a separate page, then yeah, you could just create a new Copilot kit UI and pass in the stuff.
312 00:27:40.940 ⇒ 00:27:49.389 Samuel Roberts: pretty… pretty cleanly, and not make a… I might have to help you a little bit with the back end there, because I think right now it’s all kind of going to N8N, but…
313 00:27:51.290 ⇒ 00:27:56.860 Samuel Roberts: But we can do that pretty easily. So yeah, I would say take a stab, see where it gets you.
314 00:27:57.090 ⇒ 00:27:59.470 Samuel Roberts: Any roadblocks, you know, we can…
315 00:27:59.760 ⇒ 00:28:04.459 Samuel Roberts: Figure out ways around, or just plow through what we need to get it working.
316 00:28:06.950 ⇒ 00:28:10.740 Uttam Kumaran: Okay, cool, I’ll try it, and I’ll… I’ll let you know how it goes.
317 00:28:10.950 ⇒ 00:28:16.170 Samuel Roberts: Yeah, that sounds great. That’d be… yeah, that’d be really cool, because I had… I was thinking about that with the turbo puffer stuff, too.
318 00:28:16.330 ⇒ 00:28:17.130 Uttam Kumaran: like…
319 00:28:17.660 ⇒ 00:28:21.810 Samuel Roberts: a lot of stuff it’s searching. I’m like, how can we make better use of this in general, but…
320 00:28:22.600 ⇒ 00:28:29.659 Samuel Roberts: Yeah, anyway, that was just… I was testing out the turbo puffer branch a little while ago.
321 00:28:31.360 ⇒ 00:28:32.440 Uttam Kumaran: Oh, nice.
322 00:28:32.470 ⇒ 00:28:36.359 Samuel Roberts: I think there’s a couple issues that I hadn’t gotten around to posting about yet. Like, I don’t think…
323 00:28:37.150 ⇒ 00:28:42.150 Samuel Roberts: I think the turbo puffer search works. I’m not sure the, like, meeting and participants filters works now.
324 00:28:42.260 ⇒ 00:28:43.440 Uttam Kumaran: Because of that?
325 00:28:47.190 ⇒ 00:28:49.920 Samuel Roberts: Oh my god, I don’t… Yeah, I think, like.
326 00:28:50.330 ⇒ 00:28:57.439 Samuel Roberts: It… that… those ones work kind of on the… Fetching the meeting info side?
327 00:28:57.990 ⇒ 00:29:02.979 Samuel Roberts: So, like, when you pick a participant, or ideally pick multiple, because I have a new multi-select
328 00:29:03.720 ⇒ 00:29:07.160 Samuel Roberts: component that I built for the marketing page that I want to use there.
329 00:29:07.320 ⇒ 00:29:13.250 Samuel Roberts: It just filters out meetings that don’t have those… participants.
330 00:29:13.400 ⇒ 00:29:18.060 Samuel Roberts: But the turbo puffer then just does a huge search over everything.
331 00:29:19.680 ⇒ 00:29:22.859 Samuel Roberts: And so nothing gets filtered by participants still. So I’m not sure…
332 00:29:23.710 ⇒ 00:29:36.259 Samuel Roberts: how best to handle that yet. I think Mustafa’s working on, like, pulling those pieces out right now, so that we can know, oh, this one shows up because there’s a participant, this one shows up because they’re mentioned in the transcript, that sort of stuff.
333 00:29:38.410 ⇒ 00:29:41.829 Samuel Roberts: And then I think we can fix that, basically, but,
334 00:29:43.750 ⇒ 00:29:49.540 Samuel Roberts: Yeah, I don’t know why I got on that, I was just thinking Turbo Puffer for some reason. Oh, the searching and the multiple meeting stuff, yes.
335 00:29:49.540 ⇒ 00:29:50.419 Uttam Kumaran: Yeah, yeah, yeah.
336 00:29:50.420 ⇒ 00:29:58.150 Samuel Roberts: Yeah, that’s why. Okay, sorry. I think, yeah, multiple meetings is a cool idea, too. I would love to figure out the best UI for that.
337 00:29:59.210 ⇒ 00:30:03.410 Uttam Kumaran: Yeah, I mean, basically, I’m just gonna be like, can you multi-select, and then open a chat?
338 00:30:03.600 ⇒ 00:30:05.749 Uttam Kumaran: I’m just gonna try to see if that works.
339 00:30:05.750 ⇒ 00:30:07.420 Samuel Roberts: Yeah, that’d be great, yeah.
340 00:30:07.420 ⇒ 00:30:14.220 Uttam Kumaran: you guys go from there on, like, I want to chat with all meetings for a client, or all meetings for a sales lead, you know?
341 00:30:14.390 ⇒ 00:30:15.220 Samuel Roberts: Yeah.
342 00:30:15.920 ⇒ 00:30:19.489 Uttam Kumaran: And then we’re… you’re certainly gonna have to compress all the transcripts.
343 00:30:20.530 ⇒ 00:30:27.340 Uttam Kumaran: And then we’ll get even… it’ll… from there, like, that’s the primitive, and then I think you can build a lot from there, so…
344 00:30:28.020 ⇒ 00:30:33.720 Samuel Roberts: That’s actually a really good point, now that you’ve even said it. We can… because, like, you mentioned storing the compressed transcripts anyway.
345 00:30:34.570 ⇒ 00:30:37.489 Samuel Roberts: and Supabase, like, the full transcript is.
346 00:30:37.490 ⇒ 00:30:47.649 Uttam Kumaran: This is such a core object, but, like, that’s the thing, like, I’ll… I’ll write the function, and then you guys… because to do that, I think I’ll have to go update Dagster, and…
347 00:30:47.930 ⇒ 00:30:48.340 Samuel Roberts: Yeah.
348 00:30:48.340 ⇒ 00:30:49.260 Uttam Kumaran: Bill?
349 00:30:50.020 ⇒ 00:30:52.460 Uttam Kumaran: That’s… that, like… I’m that…
350 00:30:52.460 ⇒ 00:30:53.000 Samuel Roberts: Oh my god.
351 00:30:53.000 ⇒ 00:30:55.000 Uttam Kumaran: I can do that over the weekend. I just need to drink.
352 00:30:55.000 ⇒ 00:31:03.620 Samuel Roberts: Yeah, I’m just trying to think, because, like, even the embedding, if we’re going to compress the transcript, the embedding for, like, the client hub and the Zoom meeting search.
353 00:31:03.870 ⇒ 00:31:05.349 Samuel Roberts: Probably only need that.
354 00:31:05.600 ⇒ 00:31:07.500 Samuel Roberts: Compressing? One?
355 00:31:07.810 ⇒ 00:31:08.750 Uttam Kumaran: Hmm…
356 00:31:09.320 ⇒ 00:31:14.370 Samuel Roberts: So, like, even if we store both just so we can surface, like, timestamps to someone watching a meeting.
357 00:31:14.520 ⇒ 00:31:19.780 Samuel Roberts: I don’t know if that’s relevant for… well, sometimes. I actually sometimes like asking the meeting to, like.
358 00:31:19.910 ⇒ 00:31:21.410 Uttam Kumaran: Asking the meeting chat.
359 00:31:21.440 ⇒ 00:31:25.480 Samuel Roberts: to, like, summarize with timestamps, so I know where to jump to when I’m looking for something.
360 00:31:26.180 ⇒ 00:31:31.870 Samuel Roberts: So maybe that’s not right, but… I think storing the compression one should be pretty easy. We could probably even do that on Supabase.
361 00:31:32.780 ⇒ 00:31:35.349 Samuel Roberts: Like, whenever a meeting gets put in.
362 00:31:35.510 ⇒ 00:31:36.210 Uttam Kumaran: Oh, really?
363 00:31:36.210 ⇒ 00:31:43.029 Samuel Roberts: Run this compression step, and… Store it as another row, or another column in the field.
364 00:31:43.700 ⇒ 00:31:47.299 Uttam Kumaran: Yeah, I mean… I mean, ideally, like, you should have multiple
365 00:31:47.520 ⇒ 00:31:52.220 Uttam Kumaran: types of compression. You should have, like, lossless, and then you can start to, like, have
366 00:31:53.000 ⇒ 00:31:56.919 Uttam Kumaran: Degrees of compression based on, like, how much you need to compress.
367 00:31:56.920 ⇒ 00:31:59.470 Samuel Roberts: Yeah, yeah, because you’re gonna do, like, all meetings, yeah.
368 00:31:59.470 ⇒ 00:32:02.889 Uttam Kumaran: and then the title is the ultimate, like, compressed version, right? And then…
369 00:32:02.890 ⇒ 00:32:03.440 Samuel Roberts: Right, right.
370 00:32:03.440 ⇒ 00:32:08.740 Uttam Kumaran: and sort of work your way back from there. So, I think it’s important to have, like, multiple versions.
371 00:32:09.360 ⇒ 00:32:10.310 Samuel Roberts: Smart, yeah.
372 00:32:11.220 ⇒ 00:32:16.620 Uttam Kumaran: But, like, I’ll ship a version of it, and then y’all can… Check it out.
373 00:32:16.620 ⇒ 00:32:17.820 Samuel Roberts: Yeah, yeah, I think it’s that.
374 00:32:17.820 ⇒ 00:32:20.240 Uttam Kumaran: He bakes into GBT, like, all day.
375 00:32:20.820 ⇒ 00:32:21.649 Samuel Roberts: Say that again?
376 00:32:21.650 ⇒ 00:32:24.490 Uttam Kumaran: I copy and paste into ChatGBT, like, all day.
377 00:32:24.490 ⇒ 00:32:25.610 Samuel Roberts: Multiple meetings and stuff.
378 00:32:25.610 ⇒ 00:32:32.050 Uttam Kumaran: I, and I run, I run the, I run the, compression locally.
379 00:32:32.420 ⇒ 00:32:48.140 Samuel Roberts: Oh, yeah, no, definitely add that at least here for the copy, like, to get that out of the way, so that it makes that part easier. But yeah, the multiple meeting thing, using that compression would be very cool. Or even just not using the compression, depending on the number of meetings, like, it could be, like.
380 00:32:48.210 ⇒ 00:32:53.450 Samuel Roberts: You can even analyze the length of the transcripts and figure out, like, rough token usage and know if it needs
381 00:32:53.710 ⇒ 00:33:00.029 Samuel Roberts: But… I mean, everything’s embedded in Superbase, too, so the vector searches are a little different there.
382 00:33:00.290 ⇒ 00:33:01.050 Samuel Roberts: But…
383 00:33:01.650 ⇒ 00:33:07.239 Samuel Roberts: That’s just building the context that it has, so if you’re gonna do that for multiple meetings, you probably just want as much context as possible.
384 00:33:07.460 ⇒ 00:33:17.549 Uttam Kumaran: Yeah. So, like, I… but again, it’s like, I will… I’ll put as much context as we can put in, but for some use cases, like, you don’t need that much context.
385 00:33:17.730 ⇒ 00:33:18.300 Samuel Roberts: No.
386 00:33:18.300 ⇒ 00:33:25.330 Uttam Kumaran: And, you know, you can first… like, for example, if you’re trying to find a meeting that discussed a certain topic.
387 00:33:25.800 ⇒ 00:33:30.159 Uttam Kumaran: you can just use, like, a Medium content, you can use a Medium transcript to get there.
388 00:33:30.520 ⇒ 00:33:31.010 Samuel Roberts: Yeah.
389 00:33:31.010 ⇒ 00:33:32.999 Uttam Kumaran: go from there, right? So…
390 00:33:33.130 ⇒ 00:33:39.830 Samuel Roberts: Yeah, that’s true, that’s true. Because yeah, like, Turbo Puffer doesn’t need timestamps, but the meeting search might…
391 00:33:40.390 ⇒ 00:33:48.679 Samuel Roberts: like, the meeting chat agent probably does to help you, like, identify if you want. Yeah, I like that. Okay. That’s got me thinking a lot now.
392 00:33:49.130 ⇒ 00:33:52.190 Samuel Roberts: Something else was in my brain, and I forgot what it was.
393 00:33:53.480 ⇒ 00:33:56.299 Samuel Roberts: Impression… Meeting search.
394 00:33:56.470 ⇒ 00:34:09.159 Samuel Roberts: Oh, yeah, this relates to, like, the whole client hub thing in general, where it dumps a ton of stuff into context, depending on what you asked, and, like, sometimes these certain things aren’t necessary, and if we can get it in Mastra, where I think we have a little more flexibility.
395 00:34:09.440 ⇒ 00:34:23.579 Samuel Roberts: Then we can use, like, okay, do a pass over the most compressed stuff, you know, do a pass over the other ones, like, when needed, and yeah, I… multiple levels of compression is a smart idea, and if that’s all just in Supabase, we can do whatever we need to.
396 00:34:23.580 ⇒ 00:34:24.370 Uttam Kumaran: Yeah.
397 00:34:27.090 ⇒ 00:34:28.120 Samuel Roberts: Alright, cool.
398 00:34:30.420 ⇒ 00:34:32.120 Samuel Roberts: I have so much to do at my level.
399 00:34:36.060 ⇒ 00:34:39.320 Uttam Kumaran: And then, what did she think about interview with… with Joe?
400 00:34:39.830 ⇒ 00:34:47.949 Samuel Roberts: Oh, yeah, I saw that you guys were chatting about it, I didn’t get a chance to plan it today. Yeah, no, I mean, I think Justin hit it on the head, like, he seems good, just young,
401 00:34:48.870 ⇒ 00:34:53.589 Samuel Roberts: you know, I’m… I feel like… His technical level is, like…
402 00:34:54.159 ⇒ 00:34:55.959 Uttam Kumaran: Yeah, I don’t think he’s technical, I think he’s…
403 00:34:55.960 ⇒ 00:34:56.650 Samuel Roberts: Yeah.
404 00:34:56.650 ⇒ 00:34:57.129 Uttam Kumaran: more of, like.
405 00:34:57.139 ⇒ 00:34:57.789 Samuel Roberts: I…
406 00:34:57.790 ⇒ 00:34:59.310 Uttam Kumaran: From the sales, like.
407 00:35:00.220 ⇒ 00:35:06.120 Uttam Kumaran: just, like, becoming more, like, I’ve been able to automate stuff on the sales side, like, certainly not traditional engineering background.
408 00:35:06.120 ⇒ 00:35:14.420 Samuel Roberts: Exactly, yeah, I think he, you know, he seemed to be capable that way, like, he could probably get into N8M pretty well. You know, he might not know it yet, but…
409 00:35:14.620 ⇒ 00:35:17.289 Samuel Roberts: I bet he could figure that out.
410 00:35:17.390 ⇒ 00:35:35.360 Samuel Roberts: And then… yeah, I mean, he’s… like I said, he… it’s definitely, like… I kind of forget how young some people are at times, because I’m like, oh, right, right, right, I’m… I’m in my mid-30s now, and it’s different. When you posted Good Charlotte earlier today… Oh my god, I was thrown for a, like, Wayback Machine kind of thing when you posted
411 00:35:35.740 ⇒ 00:35:36.330 Samuel Roberts: clear.
412 00:35:37.230 ⇒ 00:35:43.610 Samuel Roberts: But yeah, no, I think, like, he could be good. You know, I definitely… that, like.
413 00:35:43.720 ⇒ 00:35:49.190 Samuel Roberts: strategist, or I see you changed to, like, solution architect kind of thing, like, whatever that is, it could be all right there, but…
414 00:35:49.300 ⇒ 00:35:54.500 Samuel Roberts: the lack of, like More technical experience makes me think it’s a little less…
415 00:35:54.830 ⇒ 00:36:00.259 Uttam Kumaran: Yeah, I mean, I think he’s, like, potentially could come on to…
416 00:36:01.160 ⇒ 00:36:07.269 Uttam Kumaran: Well, this is the thing, I mean, we just don’t have much outside of, like, solution architect, engineer, or…
417 00:36:07.690 ⇒ 00:36:11.309 Uttam Kumaran: like… true sales.
418 00:36:11.710 ⇒ 00:36:12.300 Samuel Roberts: Right.
419 00:36:12.300 ⇒ 00:36:17.029 Uttam Kumaran: So, the problem with our company is a lot of people want to come to our company to learn.
420 00:36:17.440 ⇒ 00:36:17.800 Samuel Roberts: Yeah.
421 00:36:17.800 ⇒ 00:36:21.939 Uttam Kumaran: And it has to be a… there has to be a win-win.
422 00:36:21.940 ⇒ 00:36:22.330 Samuel Roberts: Of course.
423 00:36:22.330 ⇒ 00:36:23.460 Uttam Kumaran: high school.
424 00:36:23.740 ⇒ 00:36:24.399 Samuel Roberts: Yeah, yeah.
425 00:36:24.400 ⇒ 00:36:28.300 Uttam Kumaran: Bringing people that have raw talent, even if you have just full-stack talent.
426 00:36:28.430 ⇒ 00:36:36.089 Uttam Kumaran: then we’ll do… we’ll… we can bring them onto AI stuff, but if… if you’re really non-technical, we don’t have projects, like…
427 00:36:36.340 ⇒ 00:36:40.119 Uttam Kumaran: I feel like he could have been good on, like, a default, but still, like…
428 00:36:41.140 ⇒ 00:36:45.680 Uttam Kumaran: I don’t know, it’s not senior enough, so I’m kind of trying to think about where he could fit in. I mean.
429 00:36:46.690 ⇒ 00:36:50.790 Uttam Kumaran: Initially, he could probably just fit in to even help our sales team automate stuff.
430 00:36:50.790 ⇒ 00:36:56.820 Samuel Roberts: That’s exactly what I was just about to say, like, if he’s, like, the, like, guy to do that automation stuff that’s, like.
431 00:36:57.140 ⇒ 00:37:01.960 Samuel Roberts: higher-level technical stuff, but not, like, nitty-gritty in the code stuff, I think.
432 00:37:01.960 ⇒ 00:37:02.700 Uttam Kumaran: Yeah.
433 00:37:02.890 ⇒ 00:37:08.889 Samuel Roberts: he definitely could understand that pretty well, because he seemed to be doing some stuff like that with, like, he mentioned some CRM stuff, and
434 00:37:09.450 ⇒ 00:37:11.850 Samuel Roberts: Some clay stuff and things like that, so…
435 00:37:12.160 ⇒ 00:37:12.920 Uttam Kumaran: Yeah.
436 00:37:12.920 ⇒ 00:37:14.520 Samuel Roberts: If that’s… if that, like…
437 00:37:14.790 ⇒ 00:37:18.410 Samuel Roberts: is a good place for him to fit. I think that could be where he would fit right now.
438 00:37:18.510 ⇒ 00:37:21.590 Samuel Roberts: But…
439 00:37:22.900 ⇒ 00:37:28.370 Samuel Roberts: Yeah, I mean, besides that, he was great to talk to, like, he seems like he could be a good person in front of,
440 00:37:28.960 ⇒ 00:37:32.160 Samuel Roberts: clients eventually kind of thing, like Justin said, I think, even.
441 00:37:32.540 ⇒ 00:37:35.769 Samuel Roberts: you know, he’s just young and inexperienced, I wouldn’t say, like.
442 00:37:36.140 ⇒ 00:37:38.940 Samuel Roberts: Anything else really negative about him that way, but…
443 00:37:41.730 ⇒ 00:37:53.890 Uttam Kumaran: Okay, cool, I’ll think about it. And then I have, like, one other… one or two other people, like, they’re… they’re just, like, kind of junior engineers, but I… I think they could just help plug in, so I’m interviewing them this week to see.
444 00:37:53.890 ⇒ 00:37:54.660 Samuel Roberts: Okay, cool.
445 00:37:54.660 ⇒ 00:37:55.920 Uttam Kumaran: Yeah, I mean…
446 00:37:56.420 ⇒ 00:37:59.350 Samuel Roberts: That, that, I mean, junior engineers, if they, if they can…
447 00:37:59.910 ⇒ 00:38:09.079 Samuel Roberts: you know, like you said, you know, we’re not… people come to learn, but also, like, if they can learn by doing quickly, that’s fine. If they already have some base level of, like.
448 00:38:10.500 ⇒ 00:38:13.149 Samuel Roberts: Understanding of this stuff, you know?
449 00:38:14.230 ⇒ 00:38:16.740 Samuel Roberts: Yeah.
450 00:38:16.920 ⇒ 00:38:17.660 Samuel Roberts: Cool.
451 00:38:19.630 ⇒ 00:38:24.360 Samuel Roberts: I don’t think there’s anything else from that, but… No.
452 00:38:25.820 ⇒ 00:38:26.470 Uttam Kumaran: Okay.
453 00:38:27.530 ⇒ 00:38:30.110 Uttam Kumaran: Awesome. Alright, thank you, dude.
454 00:38:30.110 ⇒ 00:38:30.840 Samuel Roberts: Yeah, no problem.
455 00:38:30.840 ⇒ 00:38:34.100 Uttam Kumaran: And then, yeah, let me know how far you end up getting on Omni stuff.
456 00:38:34.450 ⇒ 00:38:36.979 Uttam Kumaran: Today, then I’m… I’m probably gonna…
457 00:38:37.510 ⇒ 00:38:41.439 Uttam Kumaran: Maybe put together a couple slides, or at least some rough outline for tomorrow.
458 00:38:41.440 ⇒ 00:38:45.240 Samuel Roberts: Okay. Yeah, no, now that I got a pretty good sense of the AI stuff, I can, like.
459 00:38:45.530 ⇒ 00:38:49.550 Samuel Roberts: Test out a few, like, initial questions that are good to demo.
460 00:38:49.880 ⇒ 00:38:55.580 Samuel Roberts: And then I’ll try to figure out the Slack thing, if I can find it online, if not, I’ll message them in the… their Slack channel.
461 00:38:57.910 ⇒ 00:38:58.540 Uttam Kumaran: Okay.
462 00:38:59.680 ⇒ 00:39:05.879 Samuel Roberts: And then, yeah, I’ll figure that out, and if I have any questions, I’ll let you know, like, where to put SlackBot or something, if it’s needed.
463 00:39:06.460 ⇒ 00:39:07.120 Uttam Kumaran: Okay.
464 00:39:07.550 ⇒ 00:39:08.210 Samuel Roberts: Cool.
465 00:39:09.470 ⇒ 00:39:10.510 Uttam Kumaran: Thanks, dude.
466 00:39:10.510 ⇒ 00:39:11.489 Samuel Roberts: Yeah, no problem.
467 00:39:11.630 ⇒ 00:39:12.240 Uttam Kumaran: Okay.
468 00:39:12.550 ⇒ 00:39:13.529 Samuel Roberts: Alright, peace.