Meeting Title: Uttam <> Patrick-Weekly Date: 2024-06-27 Meeting participants: Patricktrainer, Uttam Kumaran
WEBVTT
1 00:03:24.420 ⇒ 00:03:25.280 Uttam Kumaran: My gosh.
2 00:03:25.580 ⇒ 00:03:26.285 patricktrainer: Yo.
3 00:03:26.990 ⇒ 00:03:27.660 Uttam Kumaran: Aye.
4 00:03:28.560 ⇒ 00:03:29.460 patricktrainer: What’s going on.
5 00:03:31.360 ⇒ 00:03:32.360 Uttam Kumaran: News.
6 00:03:34.180 ⇒ 00:03:34.709 patricktrainer: What’s that?
7 00:03:35.026 ⇒ 00:03:39.450 Uttam Kumaran: After the usual me and Jacob are going to like this
8 00:03:41.190 ⇒ 00:03:44.490 Uttam Kumaran: happy hour thing in like 30 min or so.
9 00:03:44.790 ⇒ 00:03:45.380 patricktrainer: Oh, nice!
10 00:03:45.380 ⇒ 00:03:46.150 Uttam Kumaran: News.
11 00:03:46.520 ⇒ 00:03:49.849 patricktrainer: I was, I was. Gonna say, you’re you’re you’re wearing the polo and the.
12 00:03:49.850 ⇒ 00:03:51.100 Uttam Kumaran: And last.
13 00:03:51.100 ⇒ 00:03:51.500 patricktrainer: That he.
14 00:03:51.500 ⇒ 00:03:58.579 Uttam Kumaran: I look, I look oddly professional. No, I feel like, yeah, yeah, I guess usually I’m in like a
15 00:03:58.770 ⇒ 00:04:02.039 Uttam Kumaran: I mean, like an athletic t-shirt on the way to the gym, or something, but.
16 00:04:02.369 ⇒ 00:04:05.990 patricktrainer: Yeah. Don’t just like. Didn’t mean to make you self conscious.
17 00:04:05.990 ⇒ 00:04:08.839 Uttam Kumaran: No, no, I’m not. I mean, like I even like
18 00:04:09.120 ⇒ 00:04:13.771 Uttam Kumaran: I don’t know these days. It’s nice to get to get like a little bit dressed up, but
19 00:04:14.180 ⇒ 00:04:16.970 patricktrainer: Yeah, no, i i i feel good. My uniform.
20 00:04:16.970 ⇒ 00:04:19.369 Uttam Kumaran: Polo’s 1 i can rock. It’s way too hot.
21 00:04:19.529 ⇒ 00:04:20.419 patricktrainer: Right?
22 00:04:20.519 ⇒ 00:04:27.319 patricktrainer: Yeah, my uniforms like a T-shirt and gym shorts, and like, if, after like 2 weeks of
23 00:04:27.499 ⇒ 00:04:29.974 patricktrainer: not going outside.
24 00:04:30.800 ⇒ 00:04:31.850 Uttam Kumaran: The thing he.
25 00:04:31.850 ⇒ 00:04:33.039 patricktrainer: Like a bum.
26 00:04:35.400 ⇒ 00:04:38.313 Uttam Kumaran: This week’s been overall really good, though.
27 00:04:39.960 ⇒ 00:04:45.910 Uttam Kumaran: I’ve done like we’ve done like a whole lot of work in notion on organizing stuff for sales I’ve had like.
28 00:04:45.910 ⇒ 00:04:46.610 patricktrainer: Right.
29 00:04:47.800 ⇒ 00:04:56.094 Uttam Kumaran: I had like 3 or 4 meetings a day on different sales stuff for like the last 2 weeks. So I’m just like wired the fuck in on that
30 00:04:56.380 ⇒ 00:04:57.000 patricktrainer: Oh, yeah.
31 00:04:57.000 ⇒ 00:04:59.449 Uttam Kumaran: And and it’s good. I still think, like
32 00:05:00.280 ⇒ 00:05:06.419 Uttam Kumaran: I still think we’re. I need to just like, close the gap on some content stuff. But it’s been nice, because I think around
33 00:05:06.460 ⇒ 00:05:11.369 Uttam Kumaran: shipping logistics and and manufacturing. We have a lot of pathways.
34 00:05:11.520 ⇒ 00:05:12.169 Uttam Kumaran: right?
35 00:05:13.200 ⇒ 00:05:18.979 Uttam Kumaran: and it’s been interesting, like, I. You know. I it’s been interesting to think about like, how does our content get distributed?
36 00:05:19.000 ⇒ 00:05:20.920 Uttam Kumaran: The people I know
37 00:05:21.946 ⇒ 00:05:26.009 Uttam Kumaran: or companies we’re gonna reach out to or like Linkedin.
38 00:05:26.080 ⇒ 00:05:28.420 Uttam Kumaran: and like we have a mix of like.
39 00:05:28.960 ⇒ 00:05:33.460 Uttam Kumaran: we almost have a mix of like partners who are like either the vendors, people.
40 00:05:33.600 ⇒ 00:05:41.759 Uttam Kumaran: or like companies. We also have like distribution methods for content. And like getting leads, we have leads.
41 00:05:42.125 ⇒ 00:05:45.370 Uttam Kumaran: We have like industries going up. So there’s all these relations.
42 00:05:45.410 ⇒ 00:05:46.610 Uttam Kumaran: Basically
43 00:05:48.440 ⇒ 00:05:54.530 Uttam Kumaran: so it’s been, I will say, like it would have been, it’s like it would not have been possible for me to think
44 00:05:54.600 ⇒ 00:05:57.370 Uttam Kumaran: about engineering every day and this. So it’s been really nice.
45 00:05:57.370 ⇒ 00:05:58.130 patricktrainer: Yeah.
46 00:05:58.290 ⇒ 00:05:59.849 Uttam Kumaran: I’ve been able to come in
47 00:06:00.230 ⇒ 00:06:04.459 Uttam Kumaran: for meetings and like key things, but that you guys have handled everything is
48 00:06:04.590 ⇒ 00:06:05.931 Uttam Kumaran: been like a huge help.
49 00:06:06.200 ⇒ 00:06:11.789 patricktrainer: Yeah. Well, hell, yeah. Glad that like it. I mean, it definitely. Seems like it’s working out from
50 00:06:11.850 ⇒ 00:06:16.879 patricktrainer: my point of view, too. I I think everybody seems to be pretty humming along.
51 00:06:17.280 ⇒ 00:06:20.889 Uttam Kumaran: Yeah, I think the last 2 or 3 weeks especially, I think, like.
52 00:06:20.970 ⇒ 00:06:24.199 Uttam Kumaran: you know, we made a good amount of changes, and and I think
53 00:06:24.330 ⇒ 00:06:32.479 Uttam Kumaran: the interns it took I wanted. They’re moving along. And I basically I’m glad that it seems like you. You’ve been helping a bunch of people, and everybody’s like kind of paired up now, and
54 00:06:32.530 ⇒ 00:06:33.980 Uttam Kumaran: our stuff, and
55 00:06:34.210 ⇒ 00:06:42.780 Uttam Kumaran: you know again, like the whole name of the game is for me to get out of the way and then come in when there’s like a need
56 00:06:42.850 ⇒ 00:06:50.559 Uttam Kumaran: for like, okay, I can sign. I can see the bigger picture like I’ll come in. Or, for example, on pool parts, like they’re always a little bit like all over the place, though.
57 00:06:50.810 ⇒ 00:06:53.450 Uttam Kumaran: if you, instead of like trying to
58 00:06:53.800 ⇒ 00:06:56.120 Uttam Kumaran: get rid of that whole problem. It’s just like
59 00:06:56.500 ⇒ 00:07:07.129 Uttam Kumaran: an hour before the meeting. Tell me what we’re talking about. I’ll have it. I’ll come in. I’ll get out, and I keep going, and like that’s like the where I think we’ve landed for the most part, which is, which is great. I think
60 00:07:07.420 ⇒ 00:07:13.899 Uttam Kumaran: we’ve been doing well on like having everything in issues, having the stand up bar replace like stand ups
61 00:07:14.308 ⇒ 00:07:30.489 Uttam Kumaran: and then generally like, this is our 1st week, where we had the Monday planning, which? Because we had the A Friday like planning. And then this week will be like our 1st like, okay, what? What do we plan to do? What do we agree with everybody to do? What do we get done and like cover.
62 00:07:31.140 ⇒ 00:07:31.610 patricktrainer: Right.
63 00:07:31.610 ⇒ 00:07:33.360 Uttam Kumaran: Almost like a full like
64 00:07:33.720 ⇒ 00:07:37.879 Uttam Kumaran: thing, because sometimes we miss the planning, sometimes we miss the retro, and so I think this week
65 00:07:38.970 ⇒ 00:07:40.040 Uttam Kumaran: we’ll do kind of like the full.
66 00:07:40.040 ⇒ 00:07:40.480 patricktrainer: Thing.
67 00:07:40.480 ⇒ 00:07:42.120 Uttam Kumaran: Picture, yeah.
68 00:07:42.940 ⇒ 00:07:43.440 patricktrainer: Yeah, no, that.
69 00:07:43.683 ⇒ 00:07:44.900 Uttam Kumaran: Content on the edge side.
70 00:07:45.500 ⇒ 00:07:46.440 patricktrainer: Oh, yeah.
71 00:07:46.790 ⇒ 00:07:48.610 patricktrainer: yeah. Me, too. I’m feeling good.
72 00:07:49.010 ⇒ 00:07:52.584 patricktrainer: Yeah. So what I’ve been working on, I think you’re gonna dig this
73 00:07:52.860 ⇒ 00:07:53.500 Uttam Kumaran: Yes.
74 00:07:54.024 ⇒ 00:07:56.120 patricktrainer: With the the Gmail
75 00:07:56.150 ⇒ 00:07:57.420 patricktrainer: uploader.
76 00:07:57.520 ⇒ 00:08:01.450 patricktrainer: And so remember, like at the beginning, we were thinking like.
77 00:08:02.010 ⇒ 00:08:02.840 patricktrainer: we
78 00:08:03.120 ⇒ 00:08:10.970 patricktrainer: create an email address. And like that ports over to scs and dumps to S. 3, and then we set up snow pipe and do all of that
79 00:08:11.170 ⇒ 00:08:12.550 patricktrainer: well. So
80 00:08:12.790 ⇒ 00:08:16.689 patricktrainer: when I was looking at digging into ses like, it’s
81 00:08:17.220 ⇒ 00:08:18.100 patricktrainer: like.
82 00:08:18.540 ⇒ 00:08:31.529 patricktrainer: of course, aws doesn’t make it as simple as like, create an email endpoint and send it there. It’s like it would require us going into like the brain forge Dns setting up Mx records.
83 00:08:31.660 ⇒ 00:08:32.710 patricktrainer: Smtp right.
84 00:08:32.710 ⇒ 00:08:34.070 Uttam Kumaran: Record, so like, yeah.
85 00:08:34.070 ⇒ 00:08:36.110 patricktrainer: Changing, changing a whole bunch of shit.
86 00:08:36.169 ⇒ 00:08:37.530 patricktrainer: and it’s like
87 00:08:38.100 ⇒ 00:08:40.150 patricktrainer: I’ve done that for.
88 00:08:40.150 ⇒ 00:08:40.770 Uttam Kumaran: Yeah.
89 00:08:40.770 ⇒ 00:08:44.636 patricktrainer: Personal projects. But like, I don’t wanna like.
90 00:08:45.120 ⇒ 00:08:51.399 Uttam Kumaran: Well, because then you’re well, you’re gonna you’re gonna become the only one that can figure that out. After that, basically, it’s like immediately debt.
91 00:08:51.630 ⇒ 00:09:00.559 patricktrainer: Right? And then so I was like, well, how else can we get these emails? And so, like, Gmail has an Api
92 00:09:00.620 ⇒ 00:09:03.430 patricktrainer: right? And you can
93 00:09:03.630 ⇒ 00:09:24.799 patricktrainer: authenticate through like your local like. Basically, you have this, go off to flow where you get it pulls up a browser window click like, yeah, go, or you can have, like the service count, and like Api keys and all of that and so I figured I’d go that route. And so I went down the rabbit hole of the Gmail Api.
94 00:09:25.160 ⇒ 00:09:37.070 patricktrainer: And what’s really great about it, is it pretty much like mimics? The which I guess makes sense? It mimics like the Ui of Gmail itself. So you can like access like search.
95 00:09:37.290 ⇒ 00:09:38.760 patricktrainer: And with
96 00:09:39.260 ⇒ 00:09:54.119 patricktrainer: gmail search, you can add like what do they call them like path qualifiers like you can search for like file types. You do like file type, Pdf, file type, CD, Csv from Colon.
97 00:09:54.190 ⇒ 00:09:57.319 patricktrainer: so on, so forth. And so what I’m
98 00:09:57.870 ⇒ 00:10:03.370 patricktrainer: thinking of, and I guess I’ll actually just show it to you. So here, let me
99 00:10:04.780 ⇒ 00:10:06.620 patricktrainer: share the screen
100 00:10:10.600 ⇒ 00:10:12.129 patricktrainer: cool. You got this
101 00:10:13.150 ⇒ 00:10:16.070 patricktrainer: alright, I this thing. I hate this thing
102 00:10:16.210 ⇒ 00:10:17.070 patricktrainer: little
103 00:10:17.860 ⇒ 00:10:18.860 patricktrainer: bar
104 00:10:21.340 ⇒ 00:10:24.669 patricktrainer: anyway. So we come into
105 00:10:25.382 ⇒ 00:10:27.070 patricktrainer: like gmail, right?
106 00:10:27.750 ⇒ 00:10:28.640 patricktrainer: And
107 00:10:30.440 ⇒ 00:10:31.570 patricktrainer: I sent
108 00:10:31.760 ⇒ 00:10:33.130 patricktrainer: myself
109 00:10:34.930 ⇒ 00:10:38.320 patricktrainer: this Csv, right? So just mimicking
110 00:10:38.650 ⇒ 00:10:39.490 patricktrainer: the
111 00:10:40.200 ⇒ 00:10:42.390 patricktrainer: how we’re going to receive files.
112 00:10:42.640 ⇒ 00:10:47.530 patricktrainer: And so I have the Csv. And we come into
113 00:10:47.610 ⇒ 00:10:50.180 patricktrainer: good. I have this like
114 00:10:50.380 ⇒ 00:10:52.820 patricktrainer: called it Gmat Gmail.
115 00:10:53.580 ⇒ 00:10:55.360 patricktrainer: attachment downloader.
116 00:10:55.520 ⇒ 00:11:07.010 patricktrainer: and let’s actually. And so I have it as a cli, and then you can also use it as like a library. But what we can do. I can actually step you through
117 00:11:07.070 ⇒ 00:11:10.654 patricktrainer: here in the debug. Well, first, st I won’t bury the lead.
118 00:11:12.560 ⇒ 00:11:14.079 patricktrainer: pull up the terminal.
119 00:11:14.250 ⇒ 00:11:16.340 patricktrainer: and we will
120 00:11:16.590 ⇒ 00:11:18.340 patricktrainer: just run this.
121 00:11:20.200 ⇒ 00:11:22.299 patricktrainer: and so processes
122 00:11:22.350 ⇒ 00:11:23.930 patricktrainer: the message and look.
123 00:11:23.930 ⇒ 00:11:24.330 Uttam Kumaran: Nice.
124 00:11:24.330 ⇒ 00:11:25.990 patricktrainer: There’s the there’s the Csv.
125 00:11:26.130 ⇒ 00:11:32.769 patricktrainer: And so what we’d be able to to do is like, once we pulled down the Csv.
126 00:11:33.110 ⇒ 00:11:35.660 patricktrainer: Assuming like we run this
127 00:11:35.990 ⇒ 00:11:38.900 patricktrainer: library or this package in Github
128 00:11:39.851 ⇒ 00:11:46.159 patricktrainer: or using actions that we’ve downloaded the Csv. We could then check it in to version control
129 00:11:46.710 ⇒ 00:12:05.069 patricktrainer: from Github actions like we can check it into the repo from from actions. And just like we can put it in the seed, or where. I’m thinking, we put it in the seed, and then, just like Dbt. Build, will take care of the rest. And it’ll materialize that.
130 00:12:05.070 ⇒ 00:12:05.620 Uttam Kumaran: Okay.
131 00:12:06.058 ⇒ 00:12:11.760 patricktrainer: But what’s pretty sweet? I actually wanna show you like, how this
132 00:12:12.540 ⇒ 00:12:14.149 patricktrainer: like all works
133 00:12:14.310 ⇒ 00:12:17.110 patricktrainer: right? So we will go
134 00:12:17.690 ⇒ 00:12:19.650 patricktrainer: got like this debugger
135 00:12:21.920 ⇒ 00:12:23.959 patricktrainer: set up. Okay? So
136 00:12:24.470 ⇒ 00:12:27.880 patricktrainer: we’re going to hook in to our
137 00:12:28.080 ⇒ 00:12:36.420 patricktrainer: entry point. Which is this, like Cli entry point I passed in a bunch of parameters like. So we’ve got like this query.
138 00:12:36.490 ⇒ 00:12:44.199 patricktrainer: file name extension. You pull in, Max results, and then we can supply like a directory to put it.
139 00:12:44.270 ⇒ 00:12:45.460 patricktrainer: And so
140 00:12:45.590 ⇒ 00:12:49.950 patricktrainer: let’s say, alright, we’re following here. We’re in the main entry point.
141 00:12:50.460 ⇒ 00:12:52.880 patricktrainer: We’re going to jump in into there.
142 00:12:53.290 ⇒ 00:12:55.540 patricktrainer: We’re going to pass down.
143 00:12:55.860 ⇒ 00:12:56.890 patricktrainer: we have.
144 00:12:56.980 ⇒ 00:13:01.010 patricktrainer: We? Then get to this class, this Gmail attachment downloader.
145 00:13:01.060 ⇒ 00:13:02.910 patricktrainer: That’s kind of like the
146 00:13:03.580 ⇒ 00:13:09.419 patricktrainer: main kind of like the the business logic class of like what we’re doing
147 00:13:09.820 ⇒ 00:13:12.169 patricktrainer: so we can jump. We can jump into there.
148 00:13:12.500 ⇒ 00:13:13.619 patricktrainer: And that’s
149 00:13:13.770 ⇒ 00:13:16.669 patricktrainer: so we have this class. And it’s going to admit
150 00:13:16.850 ⇒ 00:13:22.410 patricktrainer: all of these services right? So we have, like the Gmail service.
151 00:13:22.480 ⇒ 00:13:30.939 patricktrainer: Then we have this message fetching service, and then we have the processor that is going to process the the actual message.
152 00:13:31.210 ⇒ 00:13:33.520 patricktrainer: And so we’re up here.
153 00:13:33.730 ⇒ 00:13:36.869 patricktrainer: We’ll jump into the Gmail service.
154 00:13:37.450 ⇒ 00:13:40.210 patricktrainer: And then we have. So here.
155 00:13:41.027 ⇒ 00:13:42.790 patricktrainer: We have like
156 00:13:43.010 ⇒ 00:13:53.759 patricktrainer: this class and this these attributes and methods that are authenticating. It’s like we need to authenticate to the Api first.st And so with
157 00:13:53.790 ⇒ 00:13:54.880 patricktrainer: that
158 00:13:56.670 ⇒ 00:14:00.549 patricktrainer: we’ll actually jump into the authenticator.
159 00:14:01.578 ⇒ 00:14:04.420 patricktrainer: And what suite is the
160 00:14:05.210 ⇒ 00:14:08.909 patricktrainer: Github actions. When you’re running there they have.
161 00:14:08.980 ⇒ 00:14:10.010 patricktrainer: They set
162 00:14:10.020 ⇒ 00:14:14.339 patricktrainer: default, environment variables. This one’s called Github actions.
163 00:14:14.390 ⇒ 00:14:17.830 patricktrainer: Then like, so this is testing to see if, like
164 00:14:18.210 ⇒ 00:14:18.990 patricktrainer: it’s it’s.
165 00:14:18.990 ⇒ 00:14:19.420 Uttam Kumaran: Nice.
166 00:14:19.420 ⇒ 00:14:31.560 patricktrainer: Essentially, it’s environment aware. And it’s checking to see it like, are we running this and Github actions? Or are we running this somewhere else, and so obviously like this will step over that.
167 00:14:31.660 ⇒ 00:14:35.609 patricktrainer: and like we can see over here like that’s evaluated to false
168 00:14:36.208 ⇒ 00:14:42.310 patricktrainer: and then we’ll step over that. So it’s like that’s false. So come into this local off.
169 00:14:42.660 ⇒ 00:14:47.020 patricktrainer: And then we can jump into here. This is our authenticator module.
170 00:14:47.730 ⇒ 00:14:49.000 patricktrainer: And
171 00:14:49.150 ⇒ 00:14:53.230 patricktrainer: basically, what we have is all this logic to
172 00:14:53.310 ⇒ 00:14:58.459 patricktrainer: that gets like the Google off credentials and
173 00:14:58.820 ⇒ 00:15:06.429 patricktrainer: kind of like all of the the login flow that they need. And so as we like, step through this
174 00:15:06.520 ⇒ 00:15:07.659 patricktrainer: submit that
175 00:15:08.800 ⇒ 00:15:10.160 patricktrainer: coming here.
176 00:15:11.080 ⇒ 00:15:12.549 patricktrainer: we get the service.
177 00:15:14.080 ⇒ 00:15:15.550 patricktrainer: you step over
178 00:15:16.980 ⇒ 00:15:18.290 patricktrainer: and
179 00:15:18.760 ⇒ 00:15:19.670 patricktrainer: we
180 00:15:19.940 ⇒ 00:15:22.980 patricktrainer: call the get service. It’s going to return
181 00:15:23.240 ⇒ 00:15:25.250 patricktrainer: this service
182 00:15:25.700 ⇒ 00:15:26.640 patricktrainer: stuff.
183 00:15:27.150 ⇒ 00:15:30.100 patricktrainer: Gonna go there and then. Now
184 00:15:30.490 ⇒ 00:15:32.480 patricktrainer: we have.
185 00:15:33.150 ⇒ 00:15:36.710 patricktrainer: Let’s see. So then, once we’ve gotten this service.
186 00:15:36.760 ⇒ 00:15:43.459 patricktrainer: this is where we’ve pulled down the Google Api client. And so this is like the nuts and bolts
187 00:15:43.500 ⇒ 00:15:46.480 patricktrainer: of everything. This is what allows us to go.
188 00:15:46.780 ⇒ 00:15:52.041 patricktrainer: And so then what we can do. We have this message fetcher
189 00:15:53.280 ⇒ 00:16:15.800 patricktrainer: class, right? So we can jump into there. And this is where all like logic for getting the messages from our inbox happens. It’s like cause it’s a couple of rows down like. 1st you need to get the list of messages, then you need to grab the message id, and then you need to grab the attachment id within the message. So it’s like, you gotta kind of loop through
190 00:16:16.250 ⇒ 00:16:17.549 patricktrainer: bunch of things.
191 00:16:17.980 ⇒ 00:16:20.560 patricktrainer: And so up here.
192 00:16:20.920 ⇒ 00:16:23.400 patricktrainer: If we’ve got the
193 00:16:25.790 ⇒ 00:16:26.810 patricktrainer: fetcher.
194 00:16:27.200 ⇒ 00:16:28.760 patricktrainer: we’ll pop over
195 00:16:30.850 ⇒ 00:16:31.780 patricktrainer: whoever
196 00:16:33.990 ⇒ 00:16:35.450 patricktrainer: that’s going to run
197 00:16:35.640 ⇒ 00:16:38.960 patricktrainer: then here. So here we have messages.
198 00:16:39.580 ⇒ 00:16:40.919 patricktrainer: There’s the Id.
199 00:16:41.530 ⇒ 00:16:43.419 patricktrainer: Here’s this message, Id.
200 00:16:43.950 ⇒ 00:16:48.120 patricktrainer: and then what we’re going to want to do, we’re going to get the payload for it.
201 00:16:48.970 ⇒ 00:16:53.729 patricktrainer: and which that comes out into parts.
202 00:16:54.340 ⇒ 00:16:56.740 patricktrainer: And you can see
203 00:16:57.020 ⇒ 00:17:01.159 patricktrainer: we have these parts that are essentially like what’s contained
204 00:17:01.180 ⇒ 00:17:05.639 patricktrainer: in the message. And look, boom, test. Csv, it’s
205 00:17:05.970 ⇒ 00:17:08.090 patricktrainer: it there and then we can see.
206 00:17:08.140 ⇒ 00:17:12.859 patricktrainer: And so then the attachment is stored as this, like
207 00:17:13.130 ⇒ 00:17:14.500 patricktrainer: crazy, long
208 00:17:15.020 ⇒ 00:17:16.270 patricktrainer: encoded
209 00:17:16.510 ⇒ 00:17:22.169 patricktrainer: string that points to a URL. That’s like a secret, URL, that
210 00:17:22.210 ⇒ 00:17:23.769 patricktrainer: allows you to download.
211 00:17:24.270 ⇒ 00:17:25.289 Uttam Kumaran: Download it. Okay.
212 00:17:25.700 ⇒ 00:17:30.229 patricktrainer: Yeah. And this goes through all of that good stuff
213 00:17:32.020 ⇒ 00:17:34.310 patricktrainer: loops through all of those parts.
214 00:17:35.308 ⇒ 00:17:38.050 patricktrainer: And then it looks for
215 00:17:38.400 ⇒ 00:17:40.429 patricktrainer: if we have the attachment.
216 00:17:41.200 ⇒ 00:17:44.040 patricktrainer: We do have the attachment. There’s the data there
217 00:17:45.540 ⇒ 00:17:46.510 patricktrainer: that
218 00:17:47.020 ⇒ 00:17:48.290 patricktrainer: parched it there.
219 00:17:48.460 ⇒ 00:17:52.310 patricktrainer: And here is where we’re going to save the attachment.
220 00:17:53.511 ⇒ 00:17:56.039 patricktrainer: And that’s gonna kick off this loader.
221 00:17:59.010 ⇒ 00:18:00.380 patricktrainer: It’s going to
222 00:18:00.640 ⇒ 00:18:01.869 patricktrainer: kind of share it.
223 00:18:02.640 ⇒ 00:18:04.960 patricktrainer: And then it’s gonna process the message.
224 00:18:06.090 ⇒ 00:18:07.460 patricktrainer: quit the program
225 00:18:07.570 ⇒ 00:18:10.030 patricktrainer: and boom. Now we have the Csv.
226 00:18:10.810 ⇒ 00:18:15.280 patricktrainer: so that’s like the whole kind of like, if you’re if following the stack trace there.
227 00:18:16.200 ⇒ 00:18:23.560 patricktrainer: That’s that’s how the this is how that’s how the program works. But it, what’s really nice is like this.
228 00:18:25.760 ⇒ 00:18:26.570 patricktrainer: like
229 00:18:28.270 ⇒ 00:18:29.460 patricktrainer: service
230 00:18:29.610 ⇒ 00:18:34.709 patricktrainer: is like to to interact with this from like a library standpoint.
231 00:18:34.840 ⇒ 00:18:37.030 patricktrainer: Like all we need to do
232 00:18:37.300 ⇒ 00:18:38.470 patricktrainer: is
233 00:18:39.520 ⇒ 00:18:40.920 patricktrainer: like we have
234 00:18:44.450 ⇒ 00:18:48.320 patricktrainer: like setting it up as a service. We basically just get this
235 00:18:49.960 ⇒ 00:18:54.909 patricktrainer: downloader. We have this config file. And then we just like, run
236 00:18:55.500 ⇒ 00:18:56.890 patricktrainer: the downloader.
237 00:18:57.370 ⇒ 00:19:02.199 patricktrainer: Yeah, it’s like we we like, we just have this get service interface.
238 00:19:02.230 ⇒ 00:19:04.730 patricktrainer: And then everything else just kinda happens under the host.
239 00:19:04.730 ⇒ 00:19:08.349 Uttam Kumaran: Yeah, you just have something for auth. And then you just pass the client to the downloader. Basically.
240 00:19:08.350 ⇒ 00:19:09.780 patricktrainer: Yep, yep.
241 00:19:10.546 ⇒ 00:19:11.060 patricktrainer: I guess.
242 00:19:11.060 ⇒ 00:19:17.119 Uttam Kumaran: I guess my one of my questions was gonna be for I listed some questions in the chat. So one of them is.
243 00:19:17.440 ⇒ 00:19:21.680 Uttam Kumaran: I think we should probably have one service account per client.
244 00:19:26.130 ⇒ 00:19:33.219 Uttam Kumaran: like right now, we usually do create a service account per client like we have. Like brain forge. We have like cool parts to go at Brain Forge.
245 00:19:33.310 ⇒ 00:19:35.489 Uttam Kumaran: dot AI, and all it is is like A,
246 00:19:35.550 ⇒ 00:19:37.690 Uttam Kumaran: the email forwarding group. It’s not like an actual.
247 00:19:37.690 ⇒ 00:19:38.030 patricktrainer: Yeah.
248 00:19:38.030 ⇒ 00:19:38.740 Uttam Kumaran: This account.
249 00:19:40.240 ⇒ 00:19:44.260 Uttam Kumaran: which probably won’t work in this case. Instead, we probably do need to create like
250 00:19:46.230 ⇒ 00:19:49.369 Uttam Kumaran: like full part Dtl, or like Stella Etl.
251 00:19:49.840 ⇒ 00:19:51.220 Uttam Kumaran: something like that. Basically.
252 00:19:51.220 ⇒ 00:19:51.820 patricktrainer: Yeah.
253 00:19:51.820 ⇒ 00:19:52.280 Uttam Kumaran: That way. We.
254 00:19:52.280 ⇒ 00:19:52.980 patricktrainer: Taking it.
255 00:19:52.980 ⇒ 00:19:55.450 Uttam Kumaran: Those. Whenever we have this problem for each client.
256 00:19:55.700 ⇒ 00:20:04.140 patricktrainer: Right. So what we can do is like. So you can have a service account that impersonates
257 00:20:04.410 ⇒ 00:20:07.180 patricktrainer: principles, and, like the principals, are like
258 00:20:07.220 ⇒ 00:20:12.150 patricktrainer: Patrick at Brain Forge, or who don’t at Brain forge cool parts at Brain Forge.
259 00:20:13.305 ⇒ 00:20:20.925 patricktrainer: and that service account can impersonate those principles and go through and
260 00:20:23.072 ⇒ 00:20:25.629 patricktrainer: like grab their email, essentially.
261 00:20:25.630 ⇒ 00:20:26.210 Uttam Kumaran: Okay.
262 00:20:26.210 ⇒ 00:20:29.560 patricktrainer: And it. And it’s like, I I think. I where is that?
263 00:20:36.730 ⇒ 00:20:37.570 patricktrainer: thank you. Thought.
264 00:20:38.540 ⇒ 00:20:43.310 patricktrainer: But essentially, that’s what this is doing like this is going into my email.
265 00:20:43.310 ⇒ 00:20:43.719 Uttam Kumaran: Your email.
266 00:20:43.720 ⇒ 00:20:51.450 patricktrainer: Right now. Yeah. And and and grabbing that but that’s like, super easy to to change.
267 00:20:51.810 ⇒ 00:20:53.100 patricktrainer: Okay, that’s 12.
268 00:20:54.820 ⇒ 00:20:55.700 Uttam Kumaran: And then
269 00:20:56.570 ⇒ 00:21:02.410 Uttam Kumaran: we probably need. I was wondering what parameters and like how this actually gets set up
270 00:21:02.700 ⇒ 00:21:05.960 Uttam Kumaran: in actions, because, like, sometimes we get files
271 00:21:06.680 ⇒ 00:21:10.759 Uttam Kumaran: that like in in this situation, we have right now. There.
272 00:21:11.520 ⇒ 00:21:14.609 Uttam Kumaran: I think they’re all basically
273 00:21:16.870 ⇒ 00:21:19.000 Uttam Kumaran: all data every time.
274 00:21:19.300 ⇒ 00:21:21.280 Uttam Kumaran: So it can basically be a replace.
275 00:21:21.770 ⇒ 00:21:26.080 Uttam Kumaran: and then but then sometimes the the file name isn’t exactly the file.
276 00:21:26.470 ⇒ 00:21:28.139 Uttam Kumaran: Name the Scott.
277 00:21:28.290 ⇒ 00:21:29.730 Uttam Kumaran: The table name
278 00:21:29.990 ⇒ 00:21:34.989 Uttam Kumaran: 2 things. One is like, for example, just like Csv random, you id, and we want to change the file name.
279 00:21:35.390 ⇒ 00:21:35.785 patricktrainer: Right.
280 00:21:36.180 ⇒ 00:21:41.000 Uttam Kumaran: To match the table. The second thing is like the file name may change every time. Cause includes.
281 00:21:41.000 ⇒ 00:21:41.830 patricktrainer: The date.
282 00:21:41.830 ⇒ 00:21:42.690 Uttam Kumaran: Or something.
283 00:21:43.040 ⇒ 00:21:43.700 patricktrainer: Right.
284 00:21:43.930 ⇒ 00:21:51.069 Uttam Kumaran: So basically, it’s like, either, we basically say, any emails, any Csv’s from this email address
285 00:21:52.530 ⇒ 00:21:56.940 Uttam Kumaran: gets mapped to here. There’s we just have some basically like filter to be like.
286 00:21:56.980 ⇒ 00:22:00.200 Uttam Kumaran: look for Csv’s from this email with this pattern. And then it’s.
287 00:22:00.200 ⇒ 00:22:06.249 patricktrainer: Right right? And and that’s what we can do like from here, like, let’s say
288 00:22:06.650 ⇒ 00:22:08.260 patricktrainer: we wanted to
289 00:22:08.450 ⇒ 00:22:10.500 patricktrainer: like, Look for Pdfs
290 00:22:11.091 ⇒ 00:22:14.609 patricktrainer: and then we we can also like check for extensions.
291 00:22:15.202 ⇒ 00:22:18.899 patricktrainer: But then we can also like query like
292 00:22:19.380 ⇒ 00:22:20.290 patricktrainer: from
293 00:22:21.230 ⇒ 00:22:23.420 patricktrainer: Patrick Dot, whatever.
294 00:22:23.720 ⇒ 00:22:28.729 patricktrainer: I don’t have any Pdfs that I’ve sent myself, but I do have Pdfs that have been sent to me.
295 00:22:29.383 ⇒ 00:22:30.409 patricktrainer: And so
296 00:22:30.650 ⇒ 00:22:32.839 patricktrainer: we can run that, and
297 00:22:35.530 ⇒ 00:22:37.707 patricktrainer: I don’t know what happened. But
298 00:22:40.570 ⇒ 00:22:42.010 patricktrainer: do I still
299 00:22:43.500 ⇒ 00:22:44.310 patricktrainer: of the
300 00:22:47.790 ⇒ 00:22:49.629 patricktrainer: oh, I’m in the debug console.
301 00:23:05.940 ⇒ 00:23:09.020 patricktrainer: and so we’ve got a couple of Pdfs. Here.
302 00:23:09.220 ⇒ 00:23:10.150 patricktrainer: then look.
303 00:23:10.960 ⇒ 00:23:11.740 patricktrainer: boom.
304 00:23:13.340 ⇒ 00:23:14.185 patricktrainer: boom!
305 00:23:15.300 ⇒ 00:23:16.260 patricktrainer: Boom!
306 00:23:16.470 ⇒ 00:23:17.040 Uttam Kumaran: Paul.
307 00:23:17.590 ⇒ 00:23:22.300 patricktrainer: And yeah, it just goes through and looks really for whatever you want.
308 00:23:24.630 ⇒ 00:23:27.130 patricktrainer: yeah, like, here’s like the anomalous stuff.
309 00:23:28.460 ⇒ 00:23:29.030 Uttam Kumaran: Cool.
310 00:23:29.650 ⇒ 00:23:32.350 patricktrainer: And yeah, we’ve got all of our yeah.
311 00:23:33.470 ⇒ 00:23:40.545 Uttam Kumaran: So pretty easy to at least set up the I mean, I think we right now it’s pretty basic. But then, maybe, as we see cases, we continue to.
312 00:23:40.790 ⇒ 00:23:41.680 patricktrainer: Right, right.
313 00:23:41.680 ⇒ 00:23:42.320 Uttam Kumaran: Card.
314 00:23:42.640 ⇒ 00:23:43.340 patricktrainer: Right.
315 00:23:43.850 ⇒ 00:23:45.870 patricktrainer: And so I like
316 00:23:46.390 ⇒ 00:23:56.149 patricktrainer: what I think is nice is because, like, we do have this like cli. And we have all these like options that we can set set
317 00:23:58.990 ⇒ 00:24:05.760 patricktrainer: like, it should be pretty extendable in that sense, like we can just have like different
318 00:24:06.140 ⇒ 00:24:09.109 patricktrainer: actions for getting different file types.
319 00:24:10.650 ⇒ 00:24:18.730 patricktrainer: there are different workflows for getting different file types or for different clients. Or we can even have those. Just be it like inputs to
320 00:24:19.310 ⇒ 00:24:21.420 patricktrainer: those workflows and actions.
321 00:24:21.805 ⇒ 00:24:24.364 patricktrainer: And so it it should be pretty
322 00:24:26.410 ⇒ 00:24:29.120 patricktrainer: pretty flexible.
323 00:24:29.400 ⇒ 00:24:30.679 patricktrainer: What I’m looking for.
324 00:24:32.080 ⇒ 00:24:33.849 Uttam Kumaran: Okay, okay, cool.
325 00:24:35.600 ⇒ 00:24:40.060 Uttam Kumaran: And then, yeah, I don’t know if we’re probably not gonna have any challenges for file size
326 00:24:40.250 ⇒ 00:24:41.580 Uttam Kumaran: anytime soon.
327 00:24:41.840 ⇒ 00:24:42.920 Uttam Kumaran: But like, I don’t know.
328 00:24:42.920 ⇒ 00:24:43.840 patricktrainer: That should be fine.
329 00:24:43.840 ⇒ 00:24:46.699 Uttam Kumaran: What the challenges are when using our like repo as the
330 00:24:47.610 ⇒ 00:24:50.270 Uttam Kumaran: but I don’t think these are that big, anyway. So
331 00:24:50.610 ⇒ 00:24:51.950 Uttam Kumaran: right? Just quantitative.
332 00:24:52.430 ⇒ 00:24:55.079 patricktrainer: I think the last
333 00:24:55.460 ⇒ 00:24:56.989 patricktrainer: challenge part
334 00:24:57.190 ⇒ 00:24:59.214 patricktrainer: is going to be
335 00:25:00.220 ⇒ 00:25:02.839 patricktrainer: that one email that we need to like
336 00:25:03.130 ⇒ 00:25:05.109 patricktrainer: grab and then
337 00:25:07.200 ⇒ 00:25:10.260 patricktrainer: like, click the link for basically.
338 00:25:14.360 ⇒ 00:25:16.419 Uttam Kumaran: Okay, yeah, yeah, yeah. That one.
339 00:25:18.570 ⇒ 00:25:19.080 patricktrainer: Which.
340 00:25:19.080 ⇒ 00:25:19.500 Uttam Kumaran: That one.
341 00:25:19.500 ⇒ 00:25:20.040 patricktrainer: Which, when.
342 00:25:20.351 ⇒ 00:25:22.840 Uttam Kumaran: You may need some several layers of art.
343 00:25:24.670 ⇒ 00:25:26.270 patricktrainer: I think.
344 00:25:27.130 ⇒ 00:25:29.830 Uttam Kumaran: Like you may need to also have the attentive off.
345 00:25:30.630 ⇒ 00:25:32.080 patricktrainer: Okay, yeah, probably.
346 00:25:34.290 ⇒ 00:25:36.699 patricktrainer: Yeah, because, like I looked at the
347 00:25:36.710 ⇒ 00:25:37.950 patricktrainer: like the button
348 00:25:37.970 ⇒ 00:25:44.280 patricktrainer: that they send. And it’s just like it’s a URL embedded in a bunch of HTML
349 00:25:44.340 ⇒ 00:25:47.519 patricktrainer: to make that email. And so we could just parse out
350 00:25:47.600 ⇒ 00:25:52.119 patricktrainer: that URL and get that. That’s like a direct download link.
351 00:25:52.210 ⇒ 00:25:56.290 patricktrainer: Then that’s perfect. But if you if we have to like log in to a tentative
352 00:25:56.460 ⇒ 00:25:57.967 patricktrainer: to do it
353 00:25:59.310 ⇒ 00:26:00.850 patricktrainer: then we’ll have to.
354 00:26:02.190 ⇒ 00:26:03.840 patricktrainer: I guess. Like, figure that out.
355 00:26:04.640 ⇒ 00:26:11.849 Uttam Kumaran: Yeah, I wonder if at that point, maybe I could email them basically ask, like, Hey, is there any way you can email this to us, and now we’ll figure it out.
356 00:26:12.480 ⇒ 00:26:20.189 patricktrainer: Yeah, yeah. Cause I I looked at like what they’re doing. And I think the reason for that is like they just have like a Utm
357 00:26:21.235 ⇒ 00:26:21.950 patricktrainer: like
358 00:26:22.630 ⇒ 00:26:25.600 patricktrainer: query on it, just to see if we click the button.
359 00:26:25.770 ⇒ 00:26:27.870 patricktrainer: They’re just trying to like.
360 00:26:27.870 ⇒ 00:26:28.340 Uttam Kumaran: Like their Google.
361 00:26:28.340 ⇒ 00:26:29.440 patricktrainer: Analytics stuff. If.
362 00:26:29.440 ⇒ 00:26:38.399 Uttam Kumaran: I mean, I do think it’s like maybe better for security, but then, like them, not having an Api is fucked up like.
363 00:26:38.400 ⇒ 00:26:38.940 patricktrainer: So, yeah.
364 00:26:38.940 ⇒ 00:26:40.080 Uttam Kumaran: Why.
365 00:26:41.220 ⇒ 00:26:45.880 Uttam Kumaran: yeah, like, it’s just or like, yeah, it’s like a weird, ask pattern.
366 00:26:46.248 ⇒ 00:26:50.549 Uttam Kumaran: You can also put a pixel on the like. If you open that. Yeah, I don’t.
367 00:26:51.780 ⇒ 00:26:53.630 Uttam Kumaran: Yeah, we’ll have to get around that.
368 00:26:53.970 ⇒ 00:26:58.499 Uttam Kumaran: I think, for the most part, like having it coming as attachment is probably the case, we’ll see for the
369 00:26:59.200 ⇒ 00:26:59.820 Uttam Kumaran: for the most.
370 00:26:59.820 ⇒ 00:27:00.180 patricktrainer: Yeah.
371 00:27:00.180 ⇒ 00:27:00.730 Uttam Kumaran: So.
372 00:27:00.990 ⇒ 00:27:01.700 patricktrainer: Yeah.
373 00:27:03.010 ⇒ 00:27:04.649 patricktrainer: Yeah. And then.
374 00:27:06.250 ⇒ 00:27:07.680 patricktrainer: yeah, so that’s
375 00:27:07.730 ⇒ 00:27:09.320 patricktrainer: that’s just the only
376 00:27:09.570 ⇒ 00:27:11.690 patricktrainer: I guess issue. Or that’s like
377 00:27:11.900 ⇒ 00:27:13.110 patricktrainer: next
378 00:27:13.150 ⇒ 00:27:15.961 patricktrainer: up in figuring out. But
379 00:27:16.930 ⇒ 00:27:21.600 patricktrainer: I’m pretty happy with where we’re at and being able to get attachments
380 00:27:22.330 ⇒ 00:27:23.050 patricktrainer: from
381 00:27:23.170 ⇒ 00:27:30.860 patricktrainer: really anywhere we want. And then, if we have that like system wide, essentially service account or a service account with.
382 00:27:30.990 ⇒ 00:27:33.649 patricktrainer: that’s scope to certain users.
383 00:27:34.150 ⇒ 00:27:36.740 patricktrainer: Then we’ll just be able to grab their email like.
384 00:27:37.260 ⇒ 00:27:41.280 patricktrainer: or what comes in programmatically just loaded into
385 00:27:42.050 ⇒ 00:27:46.899 patricktrainer: into Dbt, and then everything is self contained into in the repo. And then
386 00:27:47.380 ⇒ 00:27:48.430 patricktrainer: all that.
387 00:27:49.050 ⇒ 00:27:51.880 Uttam Kumaran: Yeah. And then also, it all runs on actions.
388 00:27:52.050 ⇒ 00:27:52.700 patricktrainer: Yeah. The basic.
389 00:27:52.700 ⇒ 00:27:54.000 Uttam Kumaran: Maybe from here.
390 00:27:54.210 ⇒ 00:27:57.920 Uttam Kumaran: Yeah, I think maybe the best thing from here is just to maybe push
391 00:27:57.940 ⇒ 00:28:00.290 Uttam Kumaran: everything you have to continue to.
392 00:28:00.300 ⇒ 00:28:05.759 Uttam Kumaran: You can create another service account for bullparts or whatever. And then what I can do is basically
393 00:28:05.980 ⇒ 00:28:07.850 Uttam Kumaran: begin forwarding
394 00:28:08.250 ⇒ 00:28:09.909 Uttam Kumaran: all the messages.
395 00:28:10.670 ⇒ 00:28:15.289 Uttam Kumaran: cause it’s currently coming to me. And I’ll just forward it to that service account. Basically.
396 00:28:15.420 ⇒ 00:28:19.699 Uttam Kumaran: Yeah. And then, later on, we’ll switch what we can have them switch it or whatever. But again, it’s
397 00:28:20.390 ⇒ 00:28:21.730 Uttam Kumaran: that’s fine, and then we can.
398 00:28:21.730 ⇒ 00:28:22.350 patricktrainer: Right.
399 00:28:22.350 ⇒ 00:28:24.089 Uttam Kumaran: Again, basically testing
400 00:28:24.320 ⇒ 00:28:26.970 Uttam Kumaran: the last step. There is like doing the swap
401 00:28:30.095 ⇒ 00:28:37.010 Uttam Kumaran: basically like deprecating the Google sheets models which I usually just archive, and then I’ll stop having to forward to
402 00:28:37.340 ⇒ 00:28:40.970 Uttam Kumaran: the slack channel. So probably next week, probably cool
403 00:28:41.020 ⇒ 00:28:42.189 Uttam Kumaran: like the whole thing out.
404 00:28:43.350 ⇒ 00:28:45.009 patricktrainer: Yeah, yeah, I’ve been.
405 00:28:45.360 ⇒ 00:28:47.460 patricktrainer: I’m gonna log on this feel pretty good.
406 00:28:49.440 ⇒ 00:28:50.110 patricktrainer: Well.
407 00:28:52.216 ⇒ 00:28:53.389 Uttam Kumaran: Okay, step.
408 00:28:53.980 ⇒ 00:28:55.548 Uttam Kumaran: I’m glad. Yeah, that’s
409 00:28:56.330 ⇒ 00:29:01.749 Uttam Kumaran: like, you know, the problem is because, like 5 train has, like a send by email
410 00:29:01.810 ⇒ 00:29:03.089 Uttam Kumaran: type thing.
411 00:29:03.170 ⇒ 00:29:03.950 Uttam Kumaran: But
412 00:29:04.960 ⇒ 00:29:07.740 Uttam Kumaran: some of these apps. They want you to
413 00:29:07.850 ⇒ 00:29:10.000 Uttam Kumaran: authenticate the email
414 00:29:10.430 ⇒ 00:29:11.940 Uttam Kumaran: before you
415 00:29:12.400 ⇒ 00:29:13.340 Uttam Kumaran: life.
416 00:29:13.710 ⇒ 00:29:15.060 Uttam Kumaran: Send stuff to it.
417 00:29:15.310 ⇒ 00:29:16.130 patricktrainer: Right.
418 00:29:16.350 ⇒ 00:29:20.789 Uttam Kumaran: And then you’re like, so I can’t fucking authenticate this service account email. Right? So that’s.
419 00:29:20.790 ⇒ 00:29:21.470 patricktrainer: Right.
420 00:29:22.020 ⇒ 00:29:28.460 Uttam Kumaran: So then I was like, Okay, just send it to me, and then I’ll send it to wherever. So I think for the same case like, that’s the problem with the 5 train. One.
421 00:29:29.040 ⇒ 00:29:32.439 Uttam Kumaran: Yeah. And the scs, thing seems like, kind of Od.
422 00:29:33.123 ⇒ 00:29:35.600 Uttam Kumaran: and this seems like something reproducible where
423 00:29:35.750 ⇒ 00:29:36.930 Uttam Kumaran: ideally.
424 00:29:36.950 ⇒ 00:29:39.429 Uttam Kumaran: if if it’s if it’s just possible to
425 00:29:39.940 ⇒ 00:29:43.249 Uttam Kumaran: basically pass as an
426 00:29:43.490 ⇒ 00:29:47.040 Uttam Kumaran: input parameter to the action.
427 00:29:47.810 ⇒ 00:29:50.449 Uttam Kumaran: who the email to look for is and
428 00:29:50.860 ⇒ 00:29:52.459 Uttam Kumaran: what file format.
429 00:29:52.510 ⇒ 00:29:54.460 Uttam Kumaran: and then, possibly even like
430 00:29:55.360 ⇒ 00:29:59.010 Uttam Kumaran: like a string or something to look in the email.
431 00:29:59.220 ⇒ 00:30:00.120 Uttam Kumaran: I didn’t
432 00:30:00.340 ⇒ 00:30:01.869 Uttam Kumaran: probably all we need.
433 00:30:02.510 ⇒ 00:30:07.259 Uttam Kumaran: And then, as we as we find edge cases, we’ll just keep improving on our
434 00:30:07.750 ⇒ 00:30:09.290 Uttam Kumaran: our action. Basically.
435 00:30:09.750 ⇒ 00:30:18.460 patricktrainer: Right. And so that’s like, what’s so? I have those 2 authenticators like that local authenticator, and that the Github authenticator
436 00:30:18.620 ⇒ 00:30:22.070 patricktrainer: and the the Github authenticator is like. It’s
437 00:30:22.370 ⇒ 00:30:26.149 patricktrainer: a clone of the local, but it
438 00:30:26.290 ⇒ 00:30:28.159 patricktrainer: all the values are
439 00:30:28.430 ⇒ 00:30:31.179 patricktrainer: set s environment variables which
440 00:30:31.240 ⇒ 00:30:33.419 patricktrainer: we’ll just store as secrets
441 00:30:33.744 ⇒ 00:30:36.979 patricktrainer: in github, and so it’ll just pull that and run it.
442 00:30:36.980 ⇒ 00:30:37.540 Uttam Kumaran: Okay.
443 00:30:37.770 ⇒ 00:30:38.850 patricktrainer: Like I just did.
444 00:30:39.640 ⇒ 00:30:40.210 Uttam Kumaran: Okay.
445 00:30:42.120 ⇒ 00:30:42.870 Uttam Kumaran: okay.
446 00:30:43.720 ⇒ 00:30:44.550 Uttam Kumaran: speck.
447 00:30:46.160 ⇒ 00:30:46.960 patricktrainer: So, yeah.
448 00:30:50.770 ⇒ 00:30:55.129 Uttam Kumaran: I think otherwise. I think the stuff for the interns. I’m kind of excited for them to start
449 00:30:55.150 ⇒ 00:30:57.109 Uttam Kumaran: taking some stuff on. I think
450 00:30:57.350 ⇒ 00:31:03.659 Uttam Kumaran: I think you were helping people with setting up evidence. So I’m glad that we kind of have like docs for that. And I begin organizing some of the docs. And then.
451 00:31:03.660 ⇒ 00:31:04.140 patricktrainer: Yes.
452 00:31:04.140 ⇒ 00:31:10.410 Uttam Kumaran: Hopefully they can. Someone can take on the testing ticket soon. I think a bar is on that which is basically like
453 00:31:10.940 ⇒ 00:31:12.080 Uttam Kumaran: moving tests
454 00:31:12.590 ⇒ 00:31:13.840 Uttam Kumaran: the repo.
455 00:31:13.940 ⇒ 00:31:15.400 Uttam Kumaran: And that affects
456 00:31:15.410 ⇒ 00:31:20.600 Uttam Kumaran: that basically will keep things organized and light dash compile won’t run as much basically
457 00:31:21.836 ⇒ 00:31:23.950 Uttam Kumaran: and our meeting.
458 00:31:24.620 ⇒ 00:31:26.219 patricktrainer: Sorry, how how
459 00:31:26.410 ⇒ 00:31:29.090 patricktrainer: much longer reliant are we gonna be?
460 00:31:29.090 ⇒ 00:31:29.830 Uttam Kumaran: Few weeks.
461 00:31:29.830 ⇒ 00:31:32.100 patricktrainer: Light dash. So just a few weeks. Okay.
462 00:31:32.990 ⇒ 00:31:36.189 Uttam Kumaran: Yeah, yeah, we basically got the go ahead in this meeting.
463 00:31:36.666 ⇒ 00:31:38.750 Uttam Kumaran: I’m we’re onboarding Kim there.
464 00:31:38.860 ⇒ 00:31:40.459 Uttam Kumaran: And then we’re gonna onboard. Chuck.
465 00:31:40.730 ⇒ 00:31:44.849 Uttam Kumaran: which is our shipments guy like, probably next week. And then I’m gonna get the contract.
466 00:31:45.517 ⇒ 00:31:47.609 Uttam Kumaran: It’s gonna be. It’s gonna be cheaper.
467 00:31:47.920 ⇒ 00:31:56.239 Uttam Kumaran: anyway. So it’s and then both of them really enjoyed it. Like even Ben is usually really skeptical about all this stuff is like, this is obviously way. Better
468 00:31:56.720 ⇒ 00:32:01.279 Uttam Kumaran: cool, and and we’ll get a kick back from Rel, which is great.
469 00:32:01.420 ⇒ 00:32:02.730 Uttam Kumaran: sit on
470 00:32:03.670 ⇒ 00:32:07.669 Uttam Kumaran: so, and then real is also helping us, like, I owe them some materials. But
471 00:32:07.760 ⇒ 00:32:11.109 Uttam Kumaran: they’re also gonna try to spend some ads clients our way.
472 00:32:11.550 ⇒ 00:32:16.599 Uttam Kumaran: I’m basically just sending them like materials on, like kind of what we do and like, what to how to do the handoff process.
473 00:32:16.850 ⇒ 00:32:17.650 patricktrainer: Right.
474 00:32:17.650 ⇒ 00:32:19.400 Uttam Kumaran: But ideally, some of those come in.
475 00:32:23.900 ⇒ 00:32:28.550 Uttam Kumaran: and then, yeah, that’s a big stuff we’re targeting like local Austin stuff
476 00:32:28.820 ⇒ 00:32:29.960 Uttam Kumaran: right now.
477 00:32:30.890 ⇒ 00:32:32.330 patricktrainer: I think that’s ideal. Yesterday.
478 00:32:32.600 ⇒ 00:32:34.190 Uttam Kumaran: So that I can go kind of like.
479 00:32:34.440 ⇒ 00:32:36.379 Uttam Kumaran: do some of these iterations?
480 00:32:36.410 ⇒ 00:32:40.239 Uttam Kumaran: Yeah, and basically like, learn face to face. And then we can begin.
481 00:32:40.460 ⇒ 00:32:45.169 Uttam Kumaran: We’re gonna have multiple methods of like doing cold emails and cold calls versus
482 00:32:45.700 ⇒ 00:32:50.259 Uttam Kumaran: me. Continue to post on Linkedin versus going to some of these conferences.
483 00:32:50.420 ⇒ 00:32:51.540 Uttam Kumaran: Right? I’m
484 00:32:51.870 ⇒ 00:32:54.570 Uttam Kumaran: that’ll be like, hopefully, really effective.
485 00:32:54.790 ⇒ 00:32:55.510 Uttam Kumaran: Right?
486 00:32:55.510 ⇒ 00:32:56.190 patricktrainer: Yeah.
487 00:32:57.950 ⇒ 00:33:01.880 Uttam Kumaran: So I’m pumped for that. And then the last thing I want to talk about was for this month. So
488 00:33:02.323 ⇒ 00:33:08.889 Uttam Kumaran: I spent a bunch of time kind of thinking through what the best kind of process was money wise? And again, I really appreciate
489 00:33:09.220 ⇒ 00:33:11.860 Uttam Kumaran: what you mentioned last time, which is like, Hey, I’m here
490 00:33:12.110 ⇒ 00:33:19.060 Uttam Kumaran: for the long run, and like whatever we can make happen that’s make happen really like stuck with me. So I appreciate you saying that.
491 00:33:19.665 ⇒ 00:33:19.940 patricktrainer: Yeah.
492 00:33:19.940 ⇒ 00:33:24.040 Uttam Kumaran: I was mentioning. I was mentioning that to somebody I was talking to. I was like, this is like.
493 00:33:24.410 ⇒ 00:33:30.240 Uttam Kumaran: it’s like really helpful, because you don’t often hear that. And I came to that meeting so nervous because I’m like.
494 00:33:30.440 ⇒ 00:33:31.859 Uttam Kumaran: I don’t want to like.
495 00:33:31.950 ⇒ 00:33:34.800 Uttam Kumaran: I don’t want to change money up too much, but also
496 00:33:34.960 ⇒ 00:33:40.780 Uttam Kumaran: the downside is always like, if we run out of money, then this thing gets really hard to do.
497 00:33:41.320 ⇒ 00:33:41.790 patricktrainer: Right.
498 00:33:41.790 ⇒ 00:33:42.290 Uttam Kumaran: Oh.
499 00:33:43.464 ⇒ 00:33:45.399 Uttam Kumaran: and like, I think.
500 00:33:46.070 ⇒ 00:33:50.530 Uttam Kumaran: seeing how we’ve worked together, and you’ve especially taken on stuff on the de side.
501 00:33:50.650 ⇒ 00:33:54.760 Uttam Kumaran: It seems like the platform kind of way was like the perfect way to do things.
502 00:33:54.790 ⇒ 00:33:57.170 Uttam Kumaran: and then also giving you the peace of mind
503 00:33:57.450 ⇒ 00:34:03.529 Uttam Kumaran: to just work on longer at delays and take on some of these challenges, but then also
504 00:34:03.900 ⇒ 00:34:06.630 Uttam Kumaran: still be able to work with the whole team, and like
505 00:34:06.680 ⇒ 00:34:08.849 Uttam Kumaran: give like way less of a fuck about
506 00:34:08.860 ⇒ 00:34:10.980 Uttam Kumaran: booking hours and stuff is ideal.
507 00:34:11.632 ⇒ 00:34:16.559 Uttam Kumaran: I think the way I would like to propose is like a flat fee.
508 00:34:16.630 ⇒ 00:34:17.870 Uttam Kumaran: Her clients
509 00:34:18.170 ⇒ 00:34:24.580 Uttam Kumaran: for now I think where this will change longer term basically is when we hit
510 00:34:24.790 ⇒ 00:34:26.489 Uttam Kumaran: like an upper
511 00:34:27.360 ⇒ 00:34:29.330 Uttam Kumaran: threshold of
512 00:34:29.699 ⇒ 00:34:36.140 Uttam Kumaran: clients. And we either need to like bring on more de folks, or we need to consider something else. Or additionally.
513 00:34:36.239 ⇒ 00:34:43.039 Uttam Kumaran: there’s just a better way of of this model, I think, on the analysis side and the Ae side people are gonna stay hourly
514 00:34:43.500 ⇒ 00:34:47.709 Uttam Kumaran: but on your side, I was thinking that like 2,500 per client.
515 00:34:48.070 ⇒ 00:34:50.649 Uttam Kumaran: it’s basically like would be ideal
516 00:34:50.679 ⇒ 00:34:57.739 Uttam Kumaran: right now. So for this month that would just that would come in at 5 K. And then again, if we have 4 clients
517 00:34:58.350 ⇒ 00:34:59.850 Uttam Kumaran: that’s like 10 grand
518 00:34:59.990 ⇒ 00:35:01.100 Uttam Kumaran: Brighton.
519 00:35:01.380 ⇒ 00:35:04.560 Uttam Kumaran: So I think that straddles a balance of like, okay, we’re
520 00:35:04.600 ⇒ 00:35:07.319 Uttam Kumaran: in an ideal world. You’re
521 00:35:07.620 ⇒ 00:35:12.420 Uttam Kumaran: like again, my ideal goal is like we are in somewhere of like a
522 00:35:12.570 ⇒ 00:35:16.309 Uttam Kumaran: 5 to 7 client range, which basically
523 00:35:16.480 ⇒ 00:35:19.640 Uttam Kumaran: will put us close to like a million in
524 00:35:19.930 ⇒ 00:35:20.940 Uttam Kumaran: run rate
525 00:35:21.170 ⇒ 00:35:29.400 Uttam Kumaran: at our like average contract values. And if we have that you’re you’re basically will hit somewhere between.
526 00:35:29.720 ⇒ 00:35:32.699 Uttam Kumaran: like Scott Penn and
527 00:35:32.910 ⇒ 00:35:34.260 Uttam Kumaran: 15 K.
528 00:35:34.510 ⇒ 00:35:39.110 Uttam Kumaran: Which I think is like great. And that’s like where I was like when we initially talked.
529 00:35:39.560 ⇒ 00:35:42.260 Uttam Kumaran: and I gave you like a low ball hover.
530 00:35:42.260 ⇒ 00:35:42.910 patricktrainer: Like.
531 00:35:42.910 ⇒ 00:35:46.570 Uttam Kumaran: The goal. The goal was to get you to a point where it ends up, being
532 00:35:46.960 ⇒ 00:35:51.020 Uttam Kumaran: closer like north of north of a hundred an hour.
533 00:35:51.180 ⇒ 00:35:53.419 Uttam Kumaran: and I think that.
534 00:35:53.690 ⇒ 00:35:54.440 Uttam Kumaran: like
535 00:35:54.550 ⇒ 00:35:56.010 Uttam Kumaran: this puts you
536 00:35:57.010 ⇒ 00:35:59.639 Uttam Kumaran: much closer to that and
537 00:35:59.930 ⇒ 00:36:04.319 Uttam Kumaran: accomplishes 2 things and one, it takes into consideration that we just have 2 clients right now.
538 00:36:04.350 ⇒ 00:36:07.739 Uttam Kumaran: but then the nice thing is, as soon as we get a 3rd and a 4, th
539 00:36:07.880 ⇒ 00:36:09.050 Uttam Kumaran: and they’re
540 00:36:09.140 ⇒ 00:36:13.619 Uttam Kumaran: like everything we’re doing is advertising for du work, you quickly basically are.
541 00:36:13.960 ⇒ 00:36:14.769 patricktrainer: Again.
542 00:36:14.980 ⇒ 00:36:15.950 patricktrainer: right?
543 00:36:16.110 ⇒ 00:36:25.419 patricktrainer: And so basically, like the way to think about it is like, it’s almost like maintenance, like, because it’s like, I’m so behind the scenes, but, like everything, still needs to run.
544 00:36:25.420 ⇒ 00:36:26.110 Uttam Kumaran: Yes.
545 00:36:26.110 ⇒ 00:36:29.382 patricktrainer: It’s just keep on chugging along.
546 00:36:30.120 ⇒ 00:36:31.700 Uttam Kumaran: I also just want to like.
547 00:36:31.840 ⇒ 00:36:36.289 Uttam Kumaran: I don’t want to make assumptions that we know are wrong, which is like.
548 00:36:36.750 ⇒ 00:36:43.440 Uttam Kumaran: for example, for Stella, there’s not a lot. There hasn’t been a lot of work but for pool parts it’s been a lot of work. However, there’s been platform work that’s helped both
549 00:36:43.500 ⇒ 00:36:51.489 Uttam Kumaran: if I were to say like, Oh, you haven’t been working on Stella. So it’s not gonna count. But then you’re working on pull part. So you only get 2,500. I don’t think that’s fair.
550 00:36:51.650 ⇒ 00:36:52.799 Uttam Kumaran: I would like
551 00:36:52.960 ⇒ 00:36:55.620 Uttam Kumaran: every client may or may not have work.
552 00:36:56.150 ⇒ 00:36:57.830 Uttam Kumaran: And whether that’s like
553 00:36:58.030 ⇒ 00:37:01.220 Uttam Kumaran: whether that is like a full time amount of work. Whether that’s some amount of work.
554 00:37:01.400 ⇒ 00:37:04.120 Uttam Kumaran: I think it’ll average out even.
555 00:37:04.120 ⇒ 00:37:04.500 patricktrainer: Yeah.
556 00:37:04.500 ⇒ 00:37:06.489 Uttam Kumaran: Basis, but on a client basis
557 00:37:06.610 ⇒ 00:37:19.140 Uttam Kumaran: to something more reasonable and more reasonable and well, ideally, again, the goal would always to get every make sure that if you work here and you’re very talented, you make more than you would get
558 00:37:19.360 ⇒ 00:37:25.189 Uttam Kumaran: on the open market because of how we’re structuring these deals. And basically how lean we’re running the rest of the company
559 00:37:25.330 ⇒ 00:37:26.599 Uttam Kumaran: right? And so
560 00:37:27.010 ⇒ 00:37:33.760 Uttam Kumaran: my ability to pay folks like you, and then also get the attention of like folks like Brian and Nick.
561 00:37:33.890 ⇒ 00:37:36.900 Uttam Kumaran: it’s like, I wanna give you guys as much as possible. And then
562 00:37:37.290 ⇒ 00:37:40.250 Uttam Kumaran: the effort that you guys put in in keeping us lean
563 00:37:40.500 ⇒ 00:37:42.949 Uttam Kumaran: basically makes that reality. So that like.
564 00:37:42.950 ⇒ 00:37:43.300 patricktrainer: Right.
565 00:37:43.300 ⇒ 00:37:49.649 Uttam Kumaran: I want to hire another project person. I don’t want to hire more salespeople. We’re leveraging AI for as much as possible.
566 00:37:49.660 ⇒ 00:37:51.260 Uttam Kumaran: but and again, I think.
567 00:37:52.550 ⇒ 00:37:57.040 Uttam Kumaran: getting you into like closer to like 10 K. If not more.
568 00:37:57.390 ⇒ 00:38:01.780 Uttam Kumaran: And then at that point, when we if we have like 5 or 6 months you’ll be the judge on
569 00:38:02.130 ⇒ 00:38:03.160 Uttam Kumaran: bandwidth.
570 00:38:03.616 ⇒ 00:38:06.780 Uttam Kumaran: and then we’ll figure it out from there right like this is all fluid
571 00:38:07.257 ⇒ 00:38:10.230 Uttam Kumaran: but I think that puts us in the position, at least for
572 00:38:10.350 ⇒ 00:38:15.449 Uttam Kumaran: a few months, where we hopefully don’t have to reach rehash this conversation that we’re both like, okay.
573 00:38:15.550 ⇒ 00:38:16.540 Uttam Kumaran: But let me know.
574 00:38:17.380 ⇒ 00:38:18.790 Uttam Kumaran: Cool. Yeah.
575 00:38:20.330 ⇒ 00:38:21.040 Uttam Kumaran: Okay.
576 00:38:21.580 ⇒ 00:38:22.620 Uttam Kumaran: so let’s
577 00:38:22.850 ⇒ 00:38:24.290 Uttam Kumaran: move forward with that
578 00:38:24.560 ⇒ 00:38:27.179 Uttam Kumaran: again. My goal by like end of
579 00:38:27.360 ⇒ 00:38:30.730 Uttam Kumaran: by like August is, we’ll have at least one more
580 00:38:31.320 ⇒ 00:38:44.899 Uttam Kumaran: this month we should end with like everything kind of ready to kind of go push sales. And I’m going to need next month to to have some meetings. And so ideally, we end up with this quarter. We end up with a few more full part. Seems like they’re gonna continue. Basically.
581 00:38:45.150 ⇒ 00:38:48.190 Uttam Kumaran: inevitably, we’re continuing to do really great work for them.
582 00:38:48.370 ⇒ 00:38:51.800 Uttam Kumaran: I think the goal there is going to be
583 00:38:52.050 ⇒ 00:38:53.060 Uttam Kumaran: to
584 00:38:55.520 ⇒ 00:39:00.429 Uttam Kumaran: It’s basically to continue to improve on the de side, continue to take on more analysis work.
585 00:39:00.480 ⇒ 00:39:04.719 Uttam Kumaran: I think the modeling stuff will be here and there, but it’s gonna be quite a bit of analysis.
586 00:39:05.300 ⇒ 00:39:12.669 Uttam Kumaran: On the Stella side. We’re gonna I think we’re we actually just like Nick has been doing a great job on there. And
587 00:39:12.960 ⇒ 00:39:19.999 Uttam Kumaran: that account, I think after this next push should grow. And then the other thing is, we’re basically wrapping Stella and going after other steel companies.
588 00:39:20.250 ⇒ 00:39:25.259 Uttam Kumaran: So ideally, we have just a very similar setup to there, and we’re working with Robert on that. So
589 00:39:25.690 ⇒ 00:39:31.719 Uttam Kumaran: I’m hoping I’d like that smooth. The nice thing is like I’m not going, for I won’t be going for contracts that are like
590 00:39:31.940 ⇒ 00:39:34.050 Uttam Kumaran: less than 10 K. Because
591 00:39:34.650 ⇒ 00:39:37.179 Uttam Kumaran: and and having agreements like this in place.
592 00:39:37.759 ⇒ 00:39:47.340 Uttam Kumaran: It’s like, if we go for less. If we go for less than 10 k. Then 2,500 to you, and then another like, you know, 4 to 5 grand.
593 00:39:47.420 ⇒ 00:39:48.540 Uttam Kumaran: you.
594 00:39:48.780 ⇒ 00:39:51.170 Uttam Kumaran: The rest of the folks working on an account.
595 00:39:51.270 ⇒ 00:39:55.489 Uttam Kumaran: Well, like the company. Doesn’t this break like breaks even, or lose it?
596 00:39:55.530 ⇒ 00:40:01.270 Uttam Kumaran: That’s the kind of math I’m doing on like thinking about these contract values. And then basically starting, trying to say, like.
597 00:40:01.330 ⇒ 00:40:04.080 Uttam Kumaran: the more we go the more we have these processes
598 00:40:04.610 ⇒ 00:40:10.649 Uttam Kumaran: and then getting everybody to something more reliable like, I think, on your end. You’re the 1st person that I can kind of do this with.
599 00:40:10.937 ⇒ 00:40:13.160 Uttam Kumaran: And Nico, of course, is like full time.
600 00:40:13.190 ⇒ 00:40:17.470 Uttam Kumaran: But I want to think more about like having some sort of like
601 00:40:20.100 ⇒ 00:40:23.569 Uttam Kumaran: something again, like you said, which is just like what is expectation.
602 00:40:23.980 ⇒ 00:40:35.349 Uttam Kumaran: And same with the an analytics engineering side. From the analysis side. It may just be like, it’s because it’s so just like based on demand for the Ae. Side, too. I’m trying to think of something like, Hey, we can just say you’re supporting. You have ae support.
603 00:40:35.390 ⇒ 00:40:40.650 Uttam Kumaran: and you guys can handle like 3 fines at a time. Then, like I’ll I will go for something more like this.
604 00:40:40.820 ⇒ 00:40:45.259 Uttam Kumaran: So it makes it. It makes it more. The basic expectations clear on both sides.
605 00:40:45.390 ⇒ 00:40:52.259 Uttam Kumaran: cause even for me, like having that way. I can. Also, I don’t have to wait 2 weeks to pay everybody, cause I don’t have to wait for money to come in.
606 00:40:52.370 ⇒ 00:40:55.540 Uttam Kumaran: And again everything just goes on auto pay and stuff like that.
607 00:40:58.220 ⇒ 00:41:02.089 Uttam Kumaran: And then again, everything’s everybody’s revenue scales with
608 00:41:02.210 ⇒ 00:41:07.543 Uttam Kumaran: the company revenue right? And it’s like very aligned in that way as much as possible. It’s not like a
609 00:41:08.240 ⇒ 00:41:10.139 Uttam Kumaran: It’s not so bifurcated.
610 00:41:10.330 ⇒ 00:41:11.590 Uttam Kumaran: you know, so.
611 00:41:11.590 ⇒ 00:41:12.840 patricktrainer: Right? Right?
612 00:41:13.220 ⇒ 00:41:14.210 patricktrainer: Hell. Yeah.
613 00:41:14.500 ⇒ 00:41:15.510 patricktrainer: Well, cool.
614 00:41:18.220 ⇒ 00:41:26.160 Uttam Kumaran: Okay, perfect. Well, let me know I’m gonna be working. I’m gonna be moving on Sunday, so I’ll be. I’m not sure how much I’m gonna be on tomorrow.
615 00:41:26.560 ⇒ 00:41:27.790 Uttam Kumaran: I am.
616 00:41:27.790 ⇒ 00:41:28.479 patricktrainer: Where are you moving by the.
617 00:41:28.480 ⇒ 00:41:32.149 Uttam Kumaran: I will be. I’m moving just further east in Austin, actually
618 00:41:32.220 ⇒ 00:41:34.240 Uttam Kumaran: going to a house. I’m renting a house.
619 00:41:34.680 ⇒ 00:41:35.340 patricktrainer: Gosh!
620 00:41:36.120 ⇒ 00:41:37.010 Uttam Kumaran: Because in a lot of ways.
621 00:41:37.460 ⇒ 00:41:37.910 patricktrainer: Decide
622 00:41:38.610 ⇒ 00:41:39.350 patricktrainer: to.
623 00:41:39.730 ⇒ 00:41:40.490 Uttam Kumaran: Do that.
624 00:41:41.350 ⇒ 00:41:45.170 Uttam Kumaran: Well, I just like I’m done being an apartment. Surround people.
625 00:41:45.440 ⇒ 00:41:48.770 Uttam Kumaran: and Austin’s not a big like live downtown
626 00:41:49.340 ⇒ 00:41:51.130 Uttam Kumaran: portal like city like.
627 00:41:51.160 ⇒ 00:41:52.809 Uttam Kumaran: I don’t go downtown.
628 00:41:53.000 ⇒ 00:41:59.020 Uttam Kumaran: It’s like, kinda just like I spend a lot of my time inside. And then I also host people like people are visiting me or family
629 00:41:59.357 ⇒ 00:42:05.799 Uttam Kumaran: ideally, and then the last thing is like Austin is one of the few places, probably like New Orleans, where you could afford a house
630 00:42:06.522 ⇒ 00:42:10.600 Uttam Kumaran: like recently. It’s Major metropolitan city.
631 00:42:10.750 ⇒ 00:42:12.440 patricktrainer: It’s getting ridiculous here.
632 00:42:13.170 ⇒ 00:42:15.649 Uttam Kumaran: No, I’m sure. But you know, it’s just like.
633 00:42:15.650 ⇒ 00:42:20.779 patricktrainer: The interesting thing about New Orleans is like supply is heavily capped.
634 00:42:20.790 ⇒ 00:42:22.210 patricktrainer: because it’s like
635 00:42:22.460 ⇒ 00:42:24.540 patricktrainer: we’re surrounded by swamp
636 00:42:24.600 ⇒ 00:42:29.080 patricktrainer: and you can’t. And you can’t build. You can’t build anywhere like the city can’t expand.
637 00:42:29.350 ⇒ 00:42:33.850 patricktrainer: And so it’s like, just this, yeah, it’s like this, really
638 00:42:34.370 ⇒ 00:42:44.040 patricktrainer: like, there’s this hard supply ceiling on it that creates like this, crazy like it can’t match demand. And so then prices just go up.
639 00:42:44.200 ⇒ 00:42:44.870 patricktrainer: So that’s.
640 00:42:44.870 ⇒ 00:42:45.500 Uttam Kumaran: A.
641 00:42:45.710 ⇒ 00:42:46.470 patricktrainer: Yeah.
642 00:42:46.840 ⇒ 00:42:52.080 Uttam Kumaran: Yeah, here it’s about to be the opposite, and that everything’s falling because they’ve built so much.
643 00:42:52.110 ⇒ 00:42:56.460 Uttam Kumaran: And they’ve really fucked the realtors and the whole real estate industry.
644 00:42:56.782 ⇒ 00:43:00.059 Uttam Kumaran: Which is great, cause those people suck, and they don’t do anything anyway.
645 00:43:00.300 ⇒ 00:43:01.320 Uttam Kumaran: Ground
646 00:43:01.650 ⇒ 00:43:03.570 Uttam Kumaran: so like
647 00:43:03.770 ⇒ 00:43:07.180 Uttam Kumaran: this stuff is falling like dramatically, which is great
648 00:43:07.340 ⇒ 00:43:11.880 Uttam Kumaran: cause it feels like this is how like it’s supposed to be. Where, like you get reasonable rates?
649 00:43:12.140 ⇒ 00:43:18.659 Uttam Kumaran: Because again, there’s people in in Austin where you’re making like 50 60 K. But if your average rent is posted 3 k. Then
650 00:43:18.740 ⇒ 00:43:21.929 Uttam Kumaran: post tax like either, math doesn’t work, and that’s how it isn’t like.
651 00:43:21.930 ⇒ 00:43:23.089 patricktrainer: Yeah, we’re in New York.
652 00:43:23.220 ⇒ 00:43:27.729 Uttam Kumaran: But here, like the Median rent, is coming down to like 1,200. 1,500.
653 00:43:28.090 ⇒ 00:43:30.229 Uttam Kumaran: So which is great because people can get.
654 00:43:30.340 ⇒ 00:43:34.579 Uttam Kumaran: People can decide for roommates, for, like maybe 600 700 bucks, or they can.
655 00:43:34.580 ⇒ 00:43:35.229 patricktrainer: Right like.
656 00:43:35.230 ⇒ 00:43:36.810 Uttam Kumaran: By themselves like a 1 bedroom
657 00:43:37.020 ⇒ 00:43:40.549 Uttam Kumaran: for, like 1,300 1,400, which is like, I think, what
658 00:43:40.740 ⇒ 00:43:44.950 Uttam Kumaran: it should be at roughly, you know, given like what people are making.
659 00:43:45.420 ⇒ 00:43:50.569 patricktrainer: Yeah, it’s you can’t find literally anything here under 2 K.
660 00:43:51.760 ⇒ 00:43:52.430 Uttam Kumaran: Damn!
661 00:43:52.690 ⇒ 00:44:01.309 patricktrainer: And it’s it’s like, if if you are, it’s like you’re in a you’re in a shack like in the in the hood, in in in the hood like.
662 00:44:01.670 ⇒ 00:44:02.210 Uttam Kumaran: Yeah.
663 00:44:02.210 ⇒ 00:44:04.529 patricktrainer: You got like bullet holes in the walls.
664 00:44:05.020 ⇒ 00:44:06.009 Uttam Kumaran: Yeah, yeah, yeah.
665 00:44:06.010 ⇒ 00:44:07.626 patricktrainer: Like like not kidding.
666 00:44:08.030 ⇒ 00:44:09.650 Uttam Kumaran: No, no, I know. Yeah.
667 00:44:10.080 ⇒ 00:44:14.849 Uttam Kumaran: that’s all I like. It’s it’s like. And then also, like dude, I work. Now. My, my.
668 00:44:15.020 ⇒ 00:44:17.710 Uttam Kumaran: my job these days is like focus on work, and then
669 00:44:17.770 ⇒ 00:44:20.750 Uttam Kumaran: focus on paying to my friend as opposed to me like that
670 00:44:21.390 ⇒ 00:44:24.890 Uttam Kumaran: and eating food. And so for for most of those things I could drive.
671 00:44:25.234 ⇒ 00:44:25.540 patricktrainer: Robert.
672 00:44:25.540 ⇒ 00:44:26.619 Uttam Kumaran: You know, it’s at home.
673 00:44:26.810 ⇒ 00:44:29.870 Uttam Kumaran: and like, I want to do a garden. And like, I just wanted more space.
674 00:44:30.130 ⇒ 00:44:46.579 Uttam Kumaran: It wasn’t that much more expensive, for like a pretty nice place. And the guy I actually, I’m running from he works in. He works in AI like he’s doing like Lm applications we talk to like AI shit for like 4 h, and I think I’m gonna ask him to come. Help us out hopefully in a in a few weeks
675 00:44:46.610 ⇒ 00:44:50.919 Uttam Kumaran: on some stuff that I’m trying to do. And like, it’s just like, yeah, it’s like.
676 00:44:50.970 ⇒ 00:44:53.730 Uttam Kumaran: kind of like fingers crossed like everything. Seems like
677 00:44:53.930 ⇒ 00:44:55.690 Uttam Kumaran: like, really gonna work out on this one.
678 00:44:55.690 ⇒ 00:44:56.130 patricktrainer: Yeah.
679 00:44:57.730 ⇒ 00:45:04.730 Uttam Kumaran: So I mean, but again for me now, anything, anything. We’re having these major life milestones it just like I’m like, I just so lazy. I don’t want to do that like.
680 00:45:04.730 ⇒ 00:45:05.850 patricktrainer: Yeah, so, yeah.
681 00:45:05.850 ⇒ 00:45:07.860 Uttam Kumaran: Burn out from like doing work stuff.
682 00:45:07.880 ⇒ 00:45:11.820 Uttam Kumaran: But that’s why I want to take like the next few days off and just like focus on that. So.
683 00:45:12.220 ⇒ 00:45:13.620 patricktrainer: Hell, yeah, we’ll do that.
684 00:45:15.080 ⇒ 00:45:30.109 Uttam Kumaran: Yeah, dude this week, otherwise is really good. Like, we crushed a bunch of stuff for Stella. We crushed a bunch of stuff for cool parts. And we gotta made a whole bunch of moves on the sales side. The nice thing is, I’m also planning ways to get like basically friends to help us sell
685 00:45:30.240 ⇒ 00:45:31.709 Uttam Kumaran: by like just doing like
686 00:45:32.050 ⇒ 00:45:34.350 Uttam Kumaran: affiliate kind of like deals.
687 00:45:34.420 ⇒ 00:45:38.809 Uttam Kumaran: For example, like, I have a friend that’s in the manufacturing insurance industry.
688 00:45:38.840 ⇒ 00:45:41.809 Uttam Kumaran: And I’m like Dude. If you sell it as like a complimentary service.
689 00:45:41.980 ⇒ 00:45:43.809 Uttam Kumaran: I’ll give you like, a percentage
690 00:45:44.277 ⇒ 00:45:49.189 Uttam Kumaran: like that’s perfect. And so I’m kind of thinking about those types of interesting deals.
691 00:45:49.200 ⇒ 00:45:54.520 Uttam Kumaran: Basically, once I have it figured out, we’ll kind of open it up to all of us in our network, basically like.
692 00:45:54.520 ⇒ 00:45:55.260 patricktrainer: Right.
693 00:45:55.260 ⇒ 00:45:58.580 Uttam Kumaran: That way. You you have the ability to write case studies, introduce people, and, like
694 00:45:58.660 ⇒ 00:46:03.529 Uttam Kumaran: just kind of like, go from one to many and like so just like standardizing the prospect.
695 00:46:03.530 ⇒ 00:46:03.970 patricktrainer: Yeah.
696 00:46:03.970 ⇒ 00:46:07.059 Uttam Kumaran: And everything on the sales side right now. So it’s starting from scratch. But
697 00:46:07.830 ⇒ 00:46:13.769 Uttam Kumaran: it’s like it seems like it’s gonna compared to like 2 weeks ago, where I was like fucking. I don’t fucking know now I’m.
698 00:46:13.770 ⇒ 00:46:14.779 patricktrainer: Like really common.
699 00:46:14.780 ⇒ 00:46:15.210 Uttam Kumaran: Actually.
700 00:46:15.470 ⇒ 00:46:16.090 patricktrainer: That’s good.
701 00:46:16.252 ⇒ 00:46:16.740 Uttam Kumaran: My way more.
702 00:46:16.740 ⇒ 00:46:19.040 patricktrainer: Well, that makes me feel good, too.
703 00:46:19.200 ⇒ 00:46:21.350 Uttam Kumaran: No, I know. I guess I mean it’s a little bit like
704 00:46:21.840 ⇒ 00:46:25.069 Uttam Kumaran: behind the scenes, but I’m I’m I’m always freaking out. But
705 00:46:25.420 ⇒ 00:46:38.160 Uttam Kumaran: it was so open ended for me a few weeks ago, and then I just spent a week I just spent like every day calling to people in sales, looking through old thoughts I had about how to do stuff. And I was like, Okay, reasonable. And then I talked to. We brought on
706 00:46:38.190 ⇒ 00:46:49.459 Uttam Kumaran: my friend who works at work day in in b 2 b sales. He gave us like a presentation last week that we recorded that I’ll probably put in notion somewhere, and like couple of people, came and talked to us about how to do this. And that seemed like.
707 00:46:49.510 ⇒ 00:46:51.020 Uttam Kumaran: Okay, it’s like, I.
708 00:46:51.020 ⇒ 00:46:53.889 patricktrainer: Nice, nice, nice.
709 00:46:54.390 ⇒ 00:46:58.239 patricktrainer: So what’s the what’s the convention you’re about to get to?
710 00:46:59.800 ⇒ 00:47:00.670 patricktrainer: And we’re saying.
711 00:47:00.670 ⇒ 00:47:01.610 Uttam Kumaran: King of.
712 00:47:01.770 ⇒ 00:47:03.460 Uttam Kumaran: Oh, the thing today.
713 00:47:03.670 ⇒ 00:47:04.110 patricktrainer: Yeah.
714 00:47:04.110 ⇒ 00:47:13.119 Uttam Kumaran: It’s like this. Vc. Happy hour like or this like startup, happy hour, my friend. He runs with like kind of like Linkedin for Startup Company, and he lives here.
715 00:47:13.120 ⇒ 00:47:13.630 patricktrainer: Yeah, yeah.
716 00:47:13.630 ⇒ 00:47:15.859 Uttam Kumaran: They’re doing like some partnership with them. Vc.
717 00:47:16.340 ⇒ 00:47:22.269 Uttam Kumaran: I think, like, I just want to go hang out with Jacob and and be like, let’s go talk to the call. See if there’s anybody that’s interested in doing data stuff
718 00:47:22.380 ⇒ 00:47:25.690 Uttam Kumaran: we think me and Robert are thinking about going to Fab Tech. Orlando
719 00:47:25.890 ⇒ 00:47:27.070 Uttam Kumaran: is basically like
720 00:47:27.830 ⇒ 00:47:29.849 Uttam Kumaran: fabrication, fabrication, industries.
721 00:47:29.850 ⇒ 00:47:30.540 patricktrainer: I bought it.
722 00:47:30.540 ⇒ 00:47:31.580 Uttam Kumaran: Conference.
723 00:47:32.056 ⇒ 00:47:33.890 Uttam Kumaran: Sweet! And it’s 50 bucks.
724 00:47:34.180 ⇒ 00:47:40.590 Uttam Kumaran: and I was like Bro. I was like Robert, we should rip. This is a no brainer, because nobody like us is gonna be there
725 00:47:41.142 ⇒ 00:47:49.320 Uttam Kumaran: but we’re trying to find the reason why I we picked like fabrication shipping logistics is like Robert worked at Flexport, and he has a background in like warehouse.
726 00:47:49.320 ⇒ 00:47:49.820 patricktrainer: Oh, nice!
727 00:47:49.820 ⇒ 00:47:53.970 Uttam Kumaran: We’re both now working on Stella. We just did a bunch of shipping stuff for cool parts.
728 00:47:54.500 ⇒ 00:47:57.000 Uttam Kumaran: So we’re kind of tag giving that industry.
729 00:47:57.120 ⇒ 00:47:58.330 Uttam Kumaran: And then
730 00:47:58.840 ⇒ 00:48:03.840 Uttam Kumaran: I think we’re gonna be able to just like sell into that where there’s not much competition. And there’s not much people with
731 00:48:04.600 ⇒ 00:48:09.470 Uttam Kumaran: a lot of people going after b 2 b Sas Ecom, like the sexy stuff and ads and marketing
732 00:48:10.103 ⇒ 00:48:21.349 Uttam Kumaran: I don’t think there’s gonna be a lot of people going. And like explaining these concepts, these guys with a data engineering thing because the hardest part is like Robert couldn’t have done it himself, because Bobby’s needed custom pipelines, things like that.
733 00:48:21.730 ⇒ 00:48:27.800 Uttam Kumaran: But it’s even hard for me, cause he brought us Stella, and that was like amazing cause. We kind of got wedge in this industry. So
734 00:48:27.900 ⇒ 00:48:35.230 Uttam Kumaran: we’re gonna kind of tag team like steel steel fabrication. So we’re like, I basically talked to him like steel fabrication for like an hour Wednesday.
735 00:48:35.400 ⇒ 00:48:40.450 Uttam Kumaran: We have, like a bunch of companies to research like who’s the biggest steel fabrication? Who are their who are their clients.
736 00:48:40.520 ⇒ 00:48:46.300 Uttam Kumaran: kind of like outline. The different data models. And then I’m we’re actually gonna put. I’m gonna try to put together like a fake grill
737 00:48:46.912 ⇒ 00:48:48.037 Uttam Kumaran: basically for
738 00:48:48.870 ⇒ 00:48:53.959 Uttam Kumaran: like a fake steel Fabrication Company, which has, like quotes materials, inventory customers.
739 00:48:53.960 ⇒ 00:48:54.410 patricktrainer: Right.
740 00:48:54.410 ⇒ 00:48:56.790 Uttam Kumaran: And then that’s what we’ll use for Demos.
741 00:48:57.383 ⇒ 00:49:02.080 Uttam Kumaran: And I even talked to the real guys about it and cause real has examples.
742 00:49:02.657 ⇒ 00:49:04.620 Uttam Kumaran: Where basically you can like, just.
743 00:49:04.620 ⇒ 00:49:05.020 patricktrainer: Right.
744 00:49:05.020 ⇒ 00:49:25.070 Uttam Kumaran: Clone the repo and the run real, and they have examples, but they don’t. They were like, feel free. You can like you could take these and extend them, or you can sub publish your own. And we’re like I was like, Oh, shit! We should just publish our own, maybe. Actually, I don’t know. Maybe like that’s that could be proprietary. But like we could pu publish our own, I feel like the real is so good looking that like it’s the 1st tool, where
745 00:49:25.300 ⇒ 00:49:27.429 Uttam Kumaran: and how quick it would be to develop. I think it’s like.
746 00:49:27.430 ⇒ 00:49:28.400 patricktrainer: And it’s so different.
747 00:49:28.400 ⇒ 00:49:30.690 Uttam Kumaran: Bring it up in a demo so different.
748 00:49:31.050 ⇒ 00:49:31.990 patricktrainer: Yeah.
749 00:49:31.990 ⇒ 00:49:39.199 Uttam Kumaran: Like you couldn’t have set up a fake looker environment. And I asked them to. I was like, Would you guys be okay with me publishing like a cloud version.
750 00:49:39.560 ⇒ 00:49:44.679 Uttam Kumaran: And they’re like, Yeah, fuck this. Let’s tell us what you mean. They also said they’ll give me access to the custom dashboard if we want it.
751 00:49:45.400 ⇒ 00:49:45.760 patricktrainer: Oh!
752 00:49:45.760 ⇒ 00:49:49.690 Uttam Kumaran: Where, like, you could basically have bar graphs. He’s like, the only objection you’re gonna probably get is like.
753 00:49:49.800 ⇒ 00:49:54.910 Uttam Kumaran: they want to see bar graphs and stuff he’s like, but I can give you it to you. We’re almost done with it, and just let me know. And I’m like, Oh.
754 00:49:55.600 ⇒ 00:49:56.540 Uttam Kumaran: huge.
755 00:49:56.540 ⇒ 00:49:58.289 patricktrainer: Yeah, yeah, that’s awesome.
756 00:49:58.800 ⇒ 00:50:00.109 Uttam Kumaran: So, yeah, just like
757 00:50:00.390 ⇒ 00:50:01.620 Uttam Kumaran: pushing that
758 00:50:01.800 ⇒ 00:50:04.559 Uttam Kumaran: real thing as far as we can take it. So.
759 00:50:04.560 ⇒ 00:50:11.540 patricktrainer: Hell. Yeah, yeah, it’s I. I think, that like hitting those industries or like the unsexy industries
760 00:50:11.560 ⇒ 00:50:18.260 patricktrainer: it it. They’re really good verticals, because they’re like, they’re super deep, and their supply chains like Go on forever.
761 00:50:18.280 ⇒ 00:50:25.109 patricktrainer: But what’s also what I think is, the big differentiator is like all of those businesses are still run on paper.
762 00:50:25.280 ⇒ 00:50:29.750 patricktrainer: and it’s so like the startup that we
763 00:50:29.950 ⇒ 00:50:33.589 patricktrainer: did over here. I think my Internet’s going crazy.
764 00:50:36.010 ⇒ 00:50:37.610 patricktrainer: the startup and.
765 00:50:37.610 ⇒ 00:50:38.030 Uttam Kumaran: My mind.
766 00:50:38.030 ⇒ 00:50:40.070 patricktrainer: It was, it was in. It was in the construction.
767 00:50:40.070 ⇒ 00:50:42.169 Uttam Kumaran: My laptop is getting very hot.
768 00:50:42.170 ⇒ 00:50:43.130 patricktrainer: Oh, yeah.
769 00:50:45.830 ⇒ 00:50:47.160 Uttam Kumaran: Oh! Can you hear me?
770 00:50:47.160 ⇒ 00:50:52.090 patricktrainer: Yeah, it was in the construction industry, and everything’s run on paper. And then it was just like
771 00:50:52.200 ⇒ 00:50:56.959 patricktrainer: everybody wanted it, because it was like a a blast into the future.
772 00:51:03.510 ⇒ 00:51:12.009 Uttam Kumaran: Thing like. And for us, it’s like, I think, some of these problems. They need people to sit down like, you can’t just throw software at these guys. So I think we’re, we’re in a good position to help them transform.
773 00:51:12.520 ⇒ 00:51:14.210 patricktrainer: Right? Yeah, agreed.
774 00:51:18.540 ⇒ 00:51:18.975 Uttam Kumaran: Okay.
775 00:51:20.090 ⇒ 00:51:29.979 Uttam Kumaran: cool. Well, I will send you an I will send you a new contract, too, before the month ends but otherwise I’ll just kind of swap some stuff on gusto. And then.
776 00:51:33.510 ⇒ 00:51:34.680 Uttam Kumaran: yeah, maybe just
777 00:51:35.758 ⇒ 00:51:45.200 Uttam Kumaran: If you want to update the ticket, or once this recording comes out, maybe I can update the ticket with using AI or something like that. But if there’s just a couple of steps you want to update the ticket, you could just ping us, Nico, so that he knows
778 00:51:45.520 ⇒ 00:51:47.790 Uttam Kumaran: we’ll be. We’ll be reviewing everything tomorrow, so.
779 00:51:48.280 ⇒ 00:51:50.960 patricktrainer: Oh, yeah. For? Yeah. Yeah. Yeah.
780 00:51:54.180 ⇒ 00:52:00.769 Uttam Kumaran: Okay, sick? I think we’ll we’ll plan some more stuff for the interns. Also on Monday, when we have our De.
781 00:52:01.200 ⇒ 00:52:02.380 patricktrainer: Yeah. Sounds. Good.
782 00:52:03.170 ⇒ 00:52:04.149 patricktrainer: Okay? Bye.
783 00:52:04.150 ⇒ 00:52:04.840 Uttam Kumaran: Thanks, pat.
784 00:52:05.150 ⇒ 00:52:05.810 patricktrainer: Alright, man.