Meeting Title: Lilo Project API Key Integration Sync Date: 2025-12-29 Meeting participants: Pranav Narahari, Samuel Roberts
WEBVTT
1 00:01:22.580 ⇒ 00:01:23.520 Samuel Roberts: Hello.
2 00:01:26.620 ⇒ 00:01:27.750 Pranav Narahari: Hey, hey.
3 00:01:29.570 ⇒ 00:01:32.689 Samuel Roberts: There we go, come on. These are weird. My, my setup’s…
4 00:01:33.000 ⇒ 00:01:35.549 Samuel Roberts: Every time I move around, just different headphones.
5 00:01:38.460 ⇒ 00:01:39.599 Samuel Roberts: How’s it going, Max?
6 00:01:40.040 ⇒ 00:01:47.099 Pranav Narahari: Good. I’m not sure if you just saw the client chat.
7 00:01:47.560 ⇒ 00:01:55.880 Pranav Narahari: What Tom just posted? Like, a DM from Bobby, so… yeah, basically, I think there’s just, like, some…
8 00:01:56.340 ⇒ 00:02:01.590 Pranav Narahari: Loose ends that need to just get figured out with, like, this project, which is, like.
9 00:02:02.210 ⇒ 00:02:04.600 Pranav Narahari: I’ll give you a second to read that, if you haven’t.
10 00:02:04.600 ⇒ 00:02:05.510 Samuel Roberts: Yeah, yeah.
11 00:02:21.630 ⇒ 00:02:27.060 Samuel Roberts: Okay, yeah, oh, so, okay, yep. Yeah, so what happened with the Klaviyo API key not getting set?
12 00:02:27.480 ⇒ 00:02:29.400 Samuel Roberts: On the deploy.
13 00:02:30.760 ⇒ 00:02:32.779 Pranav Narahari: So it is set,
14 00:02:33.610 ⇒ 00:02:39.589 Pranav Narahari: basically, there’s just a little bit of, like… what happened… so, I was able to…
15 00:02:42.080 ⇒ 00:02:47.769 Pranav Narahari: we kind of, sent out that URL right in staging, like, last week.
16 00:02:48.030 ⇒ 00:02:56.380 Pranav Narahari: I don’t think you had any issue with, like, using it, right? Like, you were able to test it, like, able to, like, run the chat, it was fine.
17 00:02:56.380 ⇒ 00:02:56.810 Samuel Roberts: Yeah.
18 00:02:56.810 ⇒ 00:03:05.609 Pranav Narahari: I assumed everything would be fine, because we just hard-coded the key for right now, right? There’s no place in the application itself to, like, add the Klaviyo API key.
19 00:03:05.610 ⇒ 00:03:07.410 Samuel Roberts: There was, I had that working.
20 00:03:09.900 ⇒ 00:03:11.769 Pranav Narahari: Adding the Klaviyo API key?
21 00:03:11.770 ⇒ 00:03:15.610 Samuel Roberts: Yeah, I was setting the keys per brand. That’s why I wasn’t sure what happened there.
22 00:03:17.420 ⇒ 00:03:22.309 Samuel Roberts: for the deploy… let me see what I got here. Anyway, can you just keep updating me? I’ll catch up.
23 00:03:22.870 ⇒ 00:03:28.629 Pranav Narahari: Okay, yeah, I didn’t see that on your branch.
24 00:03:29.550 ⇒ 00:03:33.250 Samuel Roberts: Let me see what I got here. Maybe I didn’t push something?
25 00:03:33.880 ⇒ 00:03:35.850 Samuel Roberts: No, multi-chat…
26 00:03:37.080 ⇒ 00:03:39.770 Pranav Narahari: Did I mess something up there? I did merge your… your.
27 00:03:39.770 ⇒ 00:03:44.730 Samuel Roberts: Yeah, let me see… Where did I add…
28 00:03:48.780 ⇒ 00:03:52.369 Samuel Roberts: Okay, let me… let me pull that branch and see what I got going here.
29 00:03:53.540 ⇒ 00:03:58.609 Samuel Roberts: Anyway, keep going, what else? What else was the update? Like, just… I’m looking at the post that he just sent.
30 00:03:59.220 ⇒ 00:04:04.030 Pranav Narahari: Yeah, so essentially, like, when they were just, testing that,
31 00:04:05.800 ⇒ 00:04:14.850 Pranav Narahari: they just assumed, like, oh, it was a step back because the MCP server wasn’t working. They assumed that they just didn’t configure an anthropic API key.
32 00:04:14.850 ⇒ 00:04:15.480 Samuel Roberts: Okay.
33 00:04:16.519 ⇒ 00:04:21.909 Pranav Narahari: Because Uten was able to get it working, right? Okay. So… essentially…
34 00:04:23.089 ⇒ 00:04:35.099 Pranav Narahari: what we just realized, like, why this is just, like, a bad experience, is we’re putting, like, too much, responsibility into the hands of the client right now, where they don’t really need it.
35 00:04:35.100 ⇒ 00:04:36.409 Samuel Roberts: Or the API keys?
36 00:04:36.970 ⇒ 00:04:52.090 Pranav Narahari: Yeah, I think, we… so, for that specifically, right, Utam was like, let’s just maybe, like, have, like, a… either a fallback, or just, like, an environment variable for, like, an Anthropic API key, where we… until we figure out…
37 00:04:52.320 ⇒ 00:04:54.980 Pranav Narahari: Do we want to have, like, a specific one on a.
38 00:04:54.980 ⇒ 00:04:59.990 Samuel Roberts: per brand basis. I had a whole chat with them on the channel about that. They wanted a per-brand basis for now.
39 00:05:01.550 ⇒ 00:05:05.010 Samuel Roberts: Maybe you don’t see that on the external. Are you on the external now? Yeah, yeah.
40 00:05:05.010 ⇒ 00:05:09.799 Pranav Narahari: I am on the external now, but that’s only as of, like, late last week.
41 00:05:10.210 ⇒ 00:05:17.119 Samuel Roberts: Yeah, no, there should have been… I had a whole chat, with them, because that’s how they were doing it, was on a per brand, so they could track the spend.
42 00:05:17.960 ⇒ 00:05:20.199 Pranav Narahari: Yeah, I remember you telling me that too, so…
43 00:05:20.200 ⇒ 00:05:20.890 Samuel Roberts: That makes sense.
44 00:05:24.490 ⇒ 00:05:25.110 Samuel Roberts: Okay.
45 00:05:25.110 ⇒ 00:05:29.809 Pranav Narahari: Certain things, yeah. I mean, I don’t think… I think that’s a super small thing. Okay.
46 00:05:30.290 ⇒ 00:05:39.640 Pranav Narahari: And essentially, like, things are working well, right? That one piece of, like, okay, the API key being configured on a per-brand basis.
47 00:05:39.720 ⇒ 00:05:55.520 Pranav Narahari: I didn’t think that that was already done by you. I was just trying to, you know, just merge, like, the changes that you made for the MCP server, and then kind of just, like, tidying up, like, the rest of the stuff to, like, reach that feature parity point.
48 00:05:55.530 ⇒ 00:05:56.690 Samuel Roberts: Okay.
49 00:05:57.340 ⇒ 00:06:00.219 Pranav Narahari: So, okay, that’s one disconnect for me and you.
50 00:06:00.220 ⇒ 00:06:01.480 Samuel Roberts: Oh, sorry about that.
51 00:06:01.480 ⇒ 00:06:02.200 Pranav Narahari: No, I need it?
52 00:06:02.200 ⇒ 00:06:05.619 Samuel Roberts: Maybe I didn’t push something, but it looks like all my stuff’s been pushed, so maybe it just…
53 00:06:06.400 ⇒ 00:06:10.539 Samuel Roberts: I don’t know, I’ll take a look at where it got dropped out and see if I can pull it back in.
54 00:06:11.020 ⇒ 00:06:18.400 Pranav Narahari: Yeah, let me know if you see that, because I did not, yeah.
55 00:06:18.580 ⇒ 00:06:25.349 Samuel Roberts: Because if it’s an easy add-in for us right now, that would be great. What I want to do by the end of the day, right, just to get us back on track.
56 00:06:25.350 ⇒ 00:06:31.880 Pranav Narahari: is, okay, we need to get it so that when Bobby, like, goes into the chat, like, he’s able to, like.
57 00:06:31.930 ⇒ 00:06:45.380 Pranav Narahari: access this MCP server, right? Okay. Whether it’s via, like, an environment variable, like, that we hard-set for the API key, or if he’s able to add the API key himself.
58 00:06:45.680 ⇒ 00:06:48.139 Pranav Narahari: Either of those are fine.
59 00:06:48.820 ⇒ 00:06:53.139 Pranav Narahari: what I think we should also… and then another thing is, like,
60 00:06:53.290 ⇒ 00:06:55.800 Pranav Narahari: The scoping per user is enough.
61 00:06:55.800 ⇒ 00:07:03.699 Samuel Roberts: Yeah, I realized that after I just read that. I was like, oh, I didn’t even realize it was done that way. I think that was just from my testing, I didn’t encounter that, so…
62 00:07:04.130 ⇒ 00:07:04.740 Pranav Narahari: Yeah.
63 00:07:04.740 ⇒ 00:07:08.470 Samuel Roberts: to pull the brands further up and just not have it filter per user, that should be.
64 00:07:08.470 ⇒ 00:07:12.880 Pranav Narahari: Yeah, let’s just do that. And then…
65 00:07:13.160 ⇒ 00:07:23.119 Pranav Narahari: That way, we can just, like, create a test brand for them to just, like, you know, click into, just chat with. We know that all the integrations are working, all the API keys are set.
66 00:07:23.410 ⇒ 00:07:27.770 Pranav Narahari: And then… From their perspective, they’re not viewing it as, like.
67 00:07:28.010 ⇒ 00:07:30.839 Pranav Narahari: If one thing isn’t working, everything’s just broken.
68 00:07:30.840 ⇒ 00:07:31.680 Samuel Roberts: Yeah, yeah.
69 00:07:31.680 ⇒ 00:07:35.000 Pranav Narahari: it’s hard for them to, like, make that difference, right?
70 00:07:36.250 ⇒ 00:07:42.299 Pranav Narahari: So, yeah. Basically, that’s kind of where we’re at with things.
71 00:07:42.300 ⇒ 00:07:44.529 Samuel Roberts: Let me… let me see what’s going on in the code.
72 00:07:44.530 ⇒ 00:07:49.630 Pranav Narahari: server just not working, I think just, like, threw a wrench in the whole kind of thing, and they were just, like…
73 00:07:49.910 ⇒ 00:07:50.410 Samuel Roberts: Yeah.
74 00:07:50.410 ⇒ 00:07:52.920 Pranav Narahari: prompted, basically, Bobby to send this other message.
75 00:07:52.920 ⇒ 00:08:00.979 Samuel Roberts: Okay, no. Alright, let me jump into that real quick, let me see. If I go back to the branch, is it loading? It’s not loading, why are we not loading?
76 00:08:01.710 ⇒ 00:08:08.300 Samuel Roberts: Connection refused… It’s not running, that’s not running.
77 00:08:10.150 ⇒ 00:08:12.289 Samuel Roberts: No, it’s not in use anymore, I just killed it.
78 00:08:13.810 ⇒ 00:08:16.550 Samuel Roberts: Oh, no, I must have a… Hold on.
79 00:08:16.710 ⇒ 00:08:25.180 Samuel Roberts: Something’s messed up here. Nope, now it’s working, I just didn’t start it fast enough. So now if I go into settings… oh, so that’s a bad setting.
80 00:08:25.180 ⇒ 00:08:25.750 Pranav Narahari: Yeah, one.
81 00:08:25.750 ⇒ 00:08:26.980 Samuel Roberts: I go to Brands…
82 00:08:27.640 ⇒ 00:08:29.169 Pranav Narahari: Oh yeah, sorry, go ahead.
83 00:08:29.170 ⇒ 00:08:34.350 Samuel Roberts: No, no, I’m just clicking through to see… What happened? API key integrations…
84 00:08:34.520 ⇒ 00:08:45.620 Samuel Roberts: Yeah, so, like, let me… on the… the last thing I have here on the multi-chat branch that you merged in, I see setting keys for…
85 00:08:46.540 ⇒ 00:08:49.050 Samuel Roberts: Javiyo and everything.
86 00:08:49.800 ⇒ 00:08:51.059 Samuel Roberts: Let me share my screen real quick.
87 00:08:51.060 ⇒ 00:08:52.249 Pranav Narahari: Very true, yeah.
88 00:08:52.730 ⇒ 00:08:55.500 Samuel Roberts: Yeah, errh…
89 00:09:00.890 ⇒ 00:09:03.969 Samuel Roberts: So this is on a per-brand basis, right? So in the settings on the brand.
90 00:09:03.970 ⇒ 00:09:04.960 Pranav Narahari: Yeah. Yup.
91 00:09:04.960 ⇒ 00:09:07.949 Samuel Roberts: I have that here. So when that got merged in, maybe that’s what happened.
92 00:09:10.390 ⇒ 00:09:16.000 Samuel Roberts: Something here must have… Let me… let me pull this one now, check this one out.
93 00:09:17.950 ⇒ 00:09:19.899 Samuel Roberts: And then refresh, maybe.
94 00:09:21.390 ⇒ 00:09:22.870 Samuel Roberts: No, that’s still there, did it?
95 00:09:25.150 ⇒ 00:09:26.200 Samuel Roberts: I’m gonna reload…
96 00:09:26.480 ⇒ 00:09:28.289 Pranav Narahari: Gotcha, and this is a multi-chat brand?
97 00:09:28.290 ⇒ 00:09:36.939 Samuel Roberts: That was… that was the multi-cheap branch that… yeah, that was the last one before merging in, so it’s still there. I wonder if it must have been when you updated the UI or something, if something got lost.
98 00:09:37.770 ⇒ 00:09:38.570 Pranav Narahari: Yeah.
99 00:09:38.880 ⇒ 00:09:39.690 Samuel Roberts: Okay.
100 00:09:41.980 ⇒ 00:09:51.509 Samuel Roberts: No, even that’s still there. Hold on, what’s going on? Maybe there’s just caching or something? No, it’s still there. So it must have been one of these December 23-24 commits that…
101 00:09:52.620 ⇒ 00:10:00.009 Samuel Roberts: Let me do a little quick binary search. So I’m at Updated UI, let me jump to updated Python version, see what happens.
102 00:10:00.580 ⇒ 00:10:04.240 Samuel Roberts: So if I check that out… Then I refresh…
103 00:10:04.810 ⇒ 00:10:08.769 Samuel Roberts: page isn’t working, that’s fine. Okay, that’s probably because I broke something with it.
104 00:10:09.530 ⇒ 00:10:12.170 Samuel Roberts: I need to empty and install something? No, hold on.
105 00:10:16.590 ⇒ 00:10:22.570 Pranav Narahari: Well, that’s a good… I guess if things were working with that, like, I can just pull back in that feature.
106 00:10:22.570 ⇒ 00:10:28.790 Samuel Roberts: Yeah, you cannot define a row with the same specificity as an optional catch-all. API bots, API bots slot.
107 00:10:31.770 ⇒ 00:10:34.379 Samuel Roberts: So where did that happen? Alright, let me jump back.
108 00:10:39.020 ⇒ 00:10:42.050 Samuel Roberts: Let me see if that works now. Let me just see what’s going on here.
109 00:10:45.460 ⇒ 00:10:47.050 Samuel Roberts: Okay, so now let me refresh.
110 00:10:50.450 ⇒ 00:10:55.070 Samuel Roberts: Help setting up, let me select distill… oh no, did that wipe everything? I think it wiped everything. Okay, hold on.
111 00:10:58.710 ⇒ 00:11:01.040 Samuel Roberts: Yeah, there’s no brands, let me make a brand real quick.
112 00:11:03.300 ⇒ 00:11:04.160 Samuel Roberts: Oops.
113 00:11:05.610 ⇒ 00:11:07.670 Samuel Roberts: I probably have to do something in the bathroom, too.
114 00:11:10.020 ⇒ 00:11:15.709 Samuel Roberts: Yeah, I think… okay, that must be something going on here, because I think I’m not in sync with the database anymore.
115 00:11:15.900 ⇒ 00:11:19.159 Pranav Narahari: On my little… okay, so what happened? Let me run a…
116 00:11:21.710 ⇒ 00:11:24.460 Samuel Roberts: is my… generate…
117 00:11:25.440 ⇒ 00:11:29.129 Samuel Roberts: Okay, now let me try that again. Oh, sorry, you’re not seeing what I’m doing here, but let me just…
118 00:11:29.130 ⇒ 00:11:29.540 Pranav Narahari: Yeah, welcome.
119 00:11:29.540 ⇒ 00:11:32.560 Samuel Roberts: This is all worth, and I forgot what I shared, it’s just the…
120 00:11:40.230 ⇒ 00:11:42.650 Samuel Roberts: The bad brand, we’ll see if that works.
121 00:11:43.370 ⇒ 00:11:45.239 Samuel Roberts: Failed to create brand.
122 00:11:46.860 ⇒ 00:11:49.959 Samuel Roberts: Host… oh, because there’s an issue with the bots, what was up with that?
123 00:11:51.610 ⇒ 00:11:57.570 Samuel Roberts: I got an error, yeah…
124 00:11:59.010 ⇒ 00:12:01.400 Samuel Roberts: This is all running for you, though, locally?
125 00:12:01.690 ⇒ 00:12:04.900 Pranav Narahari: Yeah, yeah, and it’s running in, staging as well.
126 00:12:04.900 ⇒ 00:12:13.829 Samuel Roberts: Okay, let me just pull the latest one and see. I think there’s something wrong with the middle ones for me, and I don’t know why. Yeah, I’m getting an error here, let me share this too.
127 00:12:17.150 ⇒ 00:12:21.330 Samuel Roberts: It says, error, you cannot define a route with the same specificity as optional catch-all routes.
128 00:12:25.360 ⇒ 00:12:32.290 Samuel Roberts: On the front end, we go source… App, API, bots… Slug.
129 00:12:32.720 ⇒ 00:12:36.630 Samuel Roberts: I don’t see an API… oh, there’s a route in bots, I see, okay.
130 00:12:38.540 ⇒ 00:12:40.700 Samuel Roberts: Why is that not working all of a sudden?
131 00:12:44.340 ⇒ 00:12:46.170 Samuel Roberts: Let me ask Hersus.
132 00:12:51.930 ⇒ 00:12:54.120 Pranav Narahari: Are you on the chatbot refactor now?
133 00:12:54.420 ⇒ 00:12:56.309 Samuel Roberts: Yeah, it was on the… on one of the latest.
134 00:12:56.590 ⇒ 00:12:57.590 Pranav Narahari: Okay, perfect.
135 00:12:58.320 ⇒ 00:12:59.380 Samuel Roberts: See what it says here.
136 00:13:04.530 ⇒ 00:13:08.519 Samuel Roberts: I think, yeah, I’m just… if I’m hitting this error, I’m wondering why it’s even working.
137 00:13:09.530 ⇒ 00:13:10.560 Samuel Roberts: Online.
138 00:13:16.790 ⇒ 00:13:18.599 Samuel Roberts: Yeah, okay.
139 00:13:22.730 ⇒ 00:13:28.439 Samuel Roberts: Just added one of these… when did these files get… 5 days ago…
140 00:13:29.980 ⇒ 00:13:31.440 Pranav Narahari: Yeah, probably decided by me.
141 00:13:31.710 ⇒ 00:13:33.479 Samuel Roberts: Yeah, but I mean, I would think…
142 00:13:33.580 ⇒ 00:13:37.809 Samuel Roberts: we would have encountered this error. I don’t know why I’m seeing it here and we’re not seeing it. Like, if you run this…
143 00:13:38.250 ⇒ 00:13:39.529 Samuel Roberts: You’re running around.
144 00:13:39.530 ⇒ 00:13:40.920 Pranav Narahari: locally right now.
145 00:13:41.090 ⇒ 00:13:41.700 Samuel Roberts: Okay.
146 00:13:57.330 ⇒ 00:14:00.230 Samuel Roberts: So there’s route, and then there’s log.
147 00:14:02.510 ⇒ 00:14:04.979 Samuel Roberts: It’s just proxies to the backend.
148 00:14:06.290 ⇒ 00:14:11.650 Samuel Roberts: get proxy to backend, proxy to backend. So the backend’s what’s handling it, so then the slug is a new…
149 00:14:15.200 ⇒ 00:14:18.779 Samuel Roberts: No, that was already… it already existed, though. You didn’t add it, it looks like.
150 00:14:29.180 ⇒ 00:14:30.849 Samuel Roberts: Is it running for you? What are you saying?
151 00:14:31.590 ⇒ 00:14:34.540 Pranav Narahari: Running it right now… one sec…
152 00:14:43.870 ⇒ 00:14:46.370 Samuel Roberts: Bring him Slug to slug.
153 00:14:48.170 ⇒ 00:14:55.799 Samuel Roberts: Option 1, remove the dedicated routes. Catch-all route already handles the base path only. Okay, so maybe this is just an unnecessary file now?
154 00:15:16.020 ⇒ 00:15:17.870 Samuel Roberts: Wait, what? I don’t even remember that?
155 00:15:19.250 ⇒ 00:15:20.489 Samuel Roberts: What are you seeing?
156 00:15:21.480 ⇒ 00:15:24.120 Pranav Narahari: Signing in right now, let’s see…
157 00:15:24.120 ⇒ 00:15:27.960 Samuel Roberts: Oh, so it’s running for you, at least you got it, you don’t see this error in the console?
158 00:15:29.320 ⇒ 00:15:32.400 Samuel Roberts: Maybe it only happens when I try to hit it, maybe that’s the issue here.
159 00:15:33.770 ⇒ 00:15:34.150 Pranav Narahari: Yeah.
160 00:15:34.150 ⇒ 00:15:35.980 Samuel Roberts: I see it every time I start.
161 00:15:36.390 ⇒ 00:15:37.989 Pranav Narahari: Really? Oh, interesting.
162 00:15:37.990 ⇒ 00:15:38.810 Samuel Roberts: Yeah.
163 00:15:39.510 ⇒ 00:15:42.080 Pranav Narahari: So when you go to localhost, like, nothing pops up?
164 00:15:42.360 ⇒ 00:15:44.920 Samuel Roberts: I can’t even start the front end with NPM run dev.
165 00:15:45.610 ⇒ 00:15:46.900 Pranav Narahari: Weird, yeah.
166 00:15:46.900 ⇒ 00:15:49.479 Samuel Roberts: Yeah, see, see, I’m getting this error here. You’re not getting that error.
167 00:15:49.930 ⇒ 00:15:50.710 Pranav Narahari: No.
168 00:15:57.290 ⇒ 00:15:59.790 Samuel Roberts: What version of Next do we have that you have there?
169 00:16:01.130 ⇒ 00:16:02.059 Pranav Narahari: Let me check…
170 00:16:17.800 ⇒ 00:16:20.560 Samuel Roberts: Yes, I got some… Okay.
171 00:16:22.010 ⇒ 00:16:30.359 Samuel Roberts: That’s real weird, then. And you have these files in there? Source, API, bots, is there a route and a slug folder?
172 00:16:49.610 ⇒ 00:16:50.520 Pranav Narahari: Yep.
173 00:16:51.290 ⇒ 00:16:53.669 Samuel Roberts: Huh, and it runs for you, that’s so strange.
174 00:17:04.960 ⇒ 00:17:09.040 Samuel Roberts: the MPMI again, see what happens.
175 00:17:14.030 ⇒ 00:17:16.050 Samuel Roberts: Huh, I don’t understand.
176 00:17:19.050 ⇒ 00:17:22.239 Samuel Roberts: Can you show me your… your code? I just, I’m curious.
177 00:17:22.980 ⇒ 00:17:23.500 Pranav Narahari: Yeah.
178 00:17:23.500 ⇒ 00:17:28.479 Samuel Roberts: is not running from… like, this is a… this is a different issue, but I’m just… I don’t understand it now.
179 00:17:29.530 ⇒ 00:17:30.160 Pranav Narahari: Yup.
180 00:17:30.540 ⇒ 00:17:31.880 Samuel Roberts: Let me…
181 00:17:31.880 ⇒ 00:17:33.249 Pranav Narahari: Let me rerun it again.
182 00:17:44.560 ⇒ 00:17:46.490 Pranav Narahari: Let me share my screen while I’m doing this.
183 00:17:46.490 ⇒ 00:17:47.110 Samuel Roberts: Cool.
184 00:17:52.310 ⇒ 00:17:53.290 Samuel Roberts: Okay.
185 00:18:01.680 ⇒ 00:18:03.659 Samuel Roberts: Oh yeah, that’s what’s happening to me, see?
186 00:18:04.160 ⇒ 00:18:06.530 Pranav Narahari: Oh, did you… did you have the backend running first?
187 00:18:08.360 ⇒ 00:18:12.659 Samuel Roberts: It doesn’t… does it matter for this? I mean, I’m still getting this next error.
188 00:18:13.910 ⇒ 00:18:15.160 Pranav Narahari: Let’s see…
189 00:18:38.490 ⇒ 00:18:39.290 Samuel Roberts: Okay.
190 00:18:58.820 ⇒ 00:19:00.720 Samuel Roberts: Yeah, okay, so you’re getting the same thing, too.
191 00:19:03.000 ⇒ 00:19:03.820 Samuel Roberts: Okay.
192 00:19:03.820 ⇒ 00:19:08.040 Pranav Narahari: Weird. When I was looking through Cloud Code, I was able to, like, get it up and running.
193 00:19:09.070 ⇒ 00:19:10.270 Samuel Roberts: Weird.
194 00:19:10.270 ⇒ 00:19:11.040 Pranav Narahari: Yeah.
195 00:19:11.230 ⇒ 00:19:14.020 Pranav Narahari: That’s why I wanted to do it manually, too, to make sure.
196 00:19:14.300 ⇒ 00:19:20.129 Samuel Roberts: Yeah… Okay. Well, let’s… let me just remove that file for now and see if it runs.
197 00:19:20.680 ⇒ 00:19:23.559 Samuel Roberts: But it should be fine. We’ll see what happens.
198 00:19:27.640 ⇒ 00:19:31.079 Samuel Roberts: Nope, still doing… oh, MCP servers are doing the same thing, what the hell?
199 00:19:32.540 ⇒ 00:19:34.880 Samuel Roberts: Route and slugs. When do we add these?
200 00:19:37.410 ⇒ 00:19:39.749 Samuel Roberts: Five days ago, which commit was this?
201 00:19:44.440 ⇒ 00:19:49.670 Samuel Roberts: Add proxy routes. Oh, okay, so you added these routes And it didn’t need…
202 00:19:50.980 ⇒ 00:19:55.409 Samuel Roberts: What is this? Wednesday the 24th, let me do it real quick.
203 00:19:56.090 ⇒ 00:19:58.929 Pranav Narahari: Yeah, I wonder if there’s some stuff there that could be simplified, because.
204 00:19:58.930 ⇒ 00:20:00.170 Samuel Roberts: I definitely think it can.
205 00:20:00.170 ⇒ 00:20:01.840 Pranav Narahari: Issues then.
206 00:20:02.270 ⇒ 00:20:05.819 Samuel Roberts: Yeah, so I added both files, I don’t think we need both files.
207 00:20:05.970 ⇒ 00:20:10.009 Samuel Roberts: So let me remove the routes that aren’t the slug ones.
208 00:20:11.270 ⇒ 00:20:13.280 Samuel Roberts: Make sure that this starts off.
209 00:20:19.790 ⇒ 00:20:23.450 Samuel Roberts: So that is now running. Okay, let me open it in the browser.
210 00:20:25.220 ⇒ 00:20:26.050 Pranav Narahari: Okay, cool.
211 00:20:26.700 ⇒ 00:20:34.969 Samuel Roberts: Alright, so I just removed the file that was at the MCP server and the bots, but we probably can just point that right to the backend, right? We’re just proxying it, aren’t we?
212 00:20:36.620 ⇒ 00:20:46.519 Samuel Roberts: I don’t know if there’s a reason to worry about that. Okay, now I’m seeing stores, that’s better. Okay, now if I click this one, and I go into settings, where am I? I see a new brand, I go to Integrations…
213 00:20:46.520 ⇒ 00:20:52.940 Pranav Narahari: Yeah, do you think this thing with, like, the MCP server, we can just, like, get sorted out on this call? It seems like…
214 00:20:53.060 ⇒ 00:20:56.900 Pranav Narahari: Should we just, like, peer program that real quick?
215 00:20:57.430 ⇒ 00:21:04.910 Samuel Roberts: Yeah, I’m just trying to figure… hold on one sec, let me see where I am. So I’m on the chatbot refractor, I’m seeing the API keys…
216 00:21:06.330 ⇒ 00:21:10.700 Samuel Roberts: Why are we not seeing those on… let me see… oh, wait, what do we… what did we deploy?
217 00:21:12.840 ⇒ 00:21:15.520 Pranav Narahari: Like, what branch?
218 00:21:15.750 ⇒ 00:21:16.470 Samuel Roberts: Yeah.
219 00:21:17.040 ⇒ 00:21:20.630 Pranav Narahari: It’s, Chatbot refractor is on staging right now.
220 00:21:20.630 ⇒ 00:21:21.340 Samuel Roberts: Okay.
221 00:21:21.560 ⇒ 00:21:24.519 Samuel Roberts: Because that’s what I’m… when I’m looking… here, let me share.
222 00:21:26.670 ⇒ 00:21:28.380 Samuel Roberts: Al, can you, stop sharing for a sec?
223 00:21:28.660 ⇒ 00:21:29.590 Pranav Narahari: Oh, yeah, yeah.
224 00:21:29.730 ⇒ 00:21:30.859 Pranav Narahari: Didn’t realize that still was.
225 00:21:30.860 ⇒ 00:21:32.699 Samuel Roberts: No, you’re good, you’re good,
226 00:21:33.350 ⇒ 00:21:37.590 Samuel Roberts: If I share here, and then I… yeah, look at this, I’m still seeing these keys.
227 00:21:41.110 ⇒ 00:21:43.700 Samuel Roberts: Do you not see that if you go to this integrations page?
228 00:21:43.870 ⇒ 00:21:45.900 Pranav Narahari: Let me just make sure what branch we’re…
229 00:21:46.940 ⇒ 00:21:47.970 Samuel Roberts: Yeah.
230 00:21:52.510 ⇒ 00:22:00.500 Pranav Narahari: In dev, we are… Pointing to… Yeah, chatbot refactor. Interesting.
231 00:22:00.660 ⇒ 00:22:02.810 Samuel Roberts: Okay, let me, let me check it out real quick and see that.
232 00:22:09.330 ⇒ 00:22:14.019 Samuel Roberts: No credentials requi- oh, I think I know what the issue here is.
233 00:22:15.610 ⇒ 00:22:18.380 Samuel Roberts: I think we haven’t seeded the database properly.
234 00:22:21.400 ⇒ 00:22:22.200 Pranav Narahari: Hmm.
235 00:22:22.200 ⇒ 00:22:26.129 Samuel Roberts: What do you see on your local when you go to integrations for a brand?
236 00:22:26.410 ⇒ 00:22:27.869 Pranav Narahari: Yeah, I don’t see that.
237 00:22:28.570 ⇒ 00:22:30.760 Samuel Roberts: Okay, yeah, I think this is a database thing.
238 00:22:31.060 ⇒ 00:22:32.040 Pranav Narahari: Gotcha.
239 00:22:32.200 ⇒ 00:22:36.070 Samuel Roberts: So if we go to… let me… let me dig around real quick here for a sec.
240 00:22:36.070 ⇒ 00:22:36.760 Pranav Narahari: Yeah.
241 00:22:37.060 ⇒ 00:22:40.419 Samuel Roberts: I think it must look for the database to figure out what credential it needs.
242 00:22:41.630 ⇒ 00:22:46.670 Samuel Roberts: Let me, let me run my…
243 00:23:08.660 ⇒ 00:23:10.770 Samuel Roberts: One sec, can’t find it now…
244 00:23:17.530 ⇒ 00:23:21.800 Samuel Roberts: Prisma… Oh, that’s what I eaten.
245 00:23:31.930 ⇒ 00:23:37.880 Samuel Roberts: Okay, so in the Prisma Studio, I go to MCP Connections, I go to MCP Servers.
246 00:23:39.900 ⇒ 00:23:42.130 Samuel Roberts: Server type, it doesn’t have enough… okay.
247 00:23:42.380 ⇒ 00:23:43.060 Samuel Roberts: Okay.
248 00:23:43.210 ⇒ 00:23:44.040 Samuel Roberts: Okay.
249 00:23:44.650 ⇒ 00:23:52.999 Samuel Roberts: So… If you run… You know the Prisma Studio?
250 00:23:54.350 ⇒ 00:24:00.909 Samuel Roberts: Okay, can you run… I just… I don’t think we have it installed, or as a command yet, so just run npx Prisma Studio.
251 00:24:01.580 ⇒ 00:24:04.490 Samuel Roberts: And then share that screen so we can click through it together.
252 00:24:04.810 ⇒ 00:24:05.440 Pranav Narahari: Yep.
253 00:24:26.350 ⇒ 00:24:30.140 Samuel Roberts: Yeah, authorization types are set to none on the dev, that’s the issue.
254 00:24:30.660 ⇒ 00:24:32.050 Samuel Roberts: I think I see. Okay.
255 00:24:33.130 ⇒ 00:24:37.870 Samuel Roberts: It’s a little weird that we did it that way, but it kind of makes sense for expanding it, so…
256 00:24:40.930 ⇒ 00:24:47.949 Samuel Roberts: So yeah, go to MTP Server, So here, server type…
257 00:24:48.320 ⇒ 00:24:56.170 Samuel Roberts: Yeah, so you have server types as service, authorization types are none. What I have is…
258 00:24:58.220 ⇒ 00:25:02.339 Samuel Roberts: Service, and then bear underscore token in authorization type.
259 00:25:04.480 ⇒ 00:25:05.410 Pranav Narahari: Oh, okay.
260 00:25:05.410 ⇒ 00:25:14.460 Samuel Roberts: You don’t have any allowed tools, you don’t have anything else there, so we must need to seed this. I’ll add… I’ll add something in the, like, Prisma to seed it, maybe. Because it’s already seeding it somehow, right?
261 00:25:15.440 ⇒ 00:25:19.369 Samuel Roberts: So, let me see what we’ve got. I didn’t realize that was what was going on there. Okay.
262 00:25:19.370 ⇒ 00:25:38.180 Pranav Narahari: Cool, yeah, I think I’ve kind of really just, like, threw together, like, a deployment process as well. So, like, with Railway, like, it kind of takes a second for me to, like, just figure out all the issues as well. So let’s just try to, like, make sure that, like, with the seed script too, it’s, like, it gets deployed.
263 00:25:38.260 ⇒ 00:25:41.340 Pranav Narahari: And it gets working, like, on that staging environment.
264 00:25:41.340 ⇒ 00:25:43.520 Samuel Roberts: Alright, one sec, let me just see…
265 00:25:52.400 ⇒ 00:25:58.880 Samuel Roberts: Something else is setting this somewhere. Where are we setting it, then? Scripts… create missing MTP connections…
266 00:26:05.920 ⇒ 00:26:09.520 Samuel Roberts: Okay, something else is whack here, let me see. SeedMCP, there it is.
267 00:26:12.870 ⇒ 00:26:13.830 Samuel Roberts: Okay.
268 00:26:15.220 ⇒ 00:26:17.599 Samuel Roberts: I think we just need to make sure we run that script, too.
269 00:26:17.830 ⇒ 00:26:20.669 Samuel Roberts: Do you see in the scripts folder, there’s a C at MCP file?
270 00:26:26.140 ⇒ 00:26:27.100 Pranav Narahari: Yes, yes.
271 00:26:27.100 ⇒ 00:26:28.390 Samuel Roberts: That’s what needs to run.
272 00:26:33.170 ⇒ 00:26:35.250 Pranav Narahari: mcpservers.c.ts.
273 00:26:37.600 ⇒ 00:26:38.999 Samuel Roberts: I’m sorry? Which one?
274 00:26:39.000 ⇒ 00:26:43.929 Pranav Narahari: in the… the MCP servers file? Folder, I mean?
275 00:26:44.100 ⇒ 00:26:46.540 Samuel Roberts: No, it’s in backend Scripts SeedMCP.
276 00:26:46.690 ⇒ 00:26:47.759 Pranav Narahari: transcripts, okay, okay.
277 00:26:48.970 ⇒ 00:26:49.810 Pranav Narahari: Yep.
278 00:26:51.560 ⇒ 00:26:53.030 Samuel Roberts: So we might need to…
279 00:26:54.440 ⇒ 00:27:03.450 Samuel Roberts: tweak things there for deployment, but I think all we really want to do is make sure that that’s… let’s get… that gets run. Although we already have them somewhere, so it must have got run at one time, at least.
280 00:27:08.640 ⇒ 00:27:10.189 Samuel Roberts: Let me see where it gets run.
281 00:27:10.710 ⇒ 00:27:11.460 Pranav Narahari: Yeah.
282 00:27:12.080 ⇒ 00:27:15.000 Samuel Roberts: SeedMCPs, yeah, that’s gotta get run after, okay.
283 00:27:15.220 ⇒ 00:27:20.220 Pranav Narahari: Yeah. Have you taken a look at, like, the railway deployment, too? Like…
284 00:27:21.690 ⇒ 00:27:24.230 Samuel Roberts: Now… Where we’re at.
285 00:27:24.230 ⇒ 00:27:29.090 Pranav Narahari: Just… let me send you this link, like, the dev environment that I created.
286 00:27:29.090 ⇒ 00:27:31.419 Samuel Roberts: Okay. I wonder if there’s something…
287 00:27:31.950 ⇒ 00:27:33.919 Pranav Narahari: That you may be able to, like…
288 00:27:36.690 ⇒ 00:27:38.079 Samuel Roberts: Like, in terms of… Oh, yeah.
289 00:27:38.130 ⇒ 00:27:40.289 Pranav Narahari: Like, the, like, the setup scripts…
290 00:27:40.290 ⇒ 00:27:45.189 Samuel Roberts: Yeah, let me see. Oh, yeah, this… I have this open. Okay, I was looking at the same thing, yeah. I think for the…
291 00:27:48.610 ⇒ 00:28:01.030 Samuel Roberts: let me see, backend, API… Settings, backend… Networking, build… Watch path deploy, pre-deploy command.
292 00:28:01.520 ⇒ 00:28:07.320 Samuel Roberts: I’m gonna add NPM… what is it, NPM…
293 00:28:10.660 ⇒ 00:28:11.540 Samuel Roberts: Nice list.
294 00:28:13.350 ⇒ 00:28:16.950 Samuel Roberts: We might only need to run this once, don’t we, early?
295 00:28:22.700 ⇒ 00:28:25.110 Samuel Roberts: But let me see what we got here, hold on.
296 00:28:28.290 ⇒ 00:28:33.730 Samuel Roberts: Can I attach… Copy SSH command. I’m just gonna run it manually.
297 00:28:34.240 ⇒ 00:28:35.290 Samuel Roberts: For now.
298 00:28:35.980 ⇒ 00:28:36.900 Samuel Roberts: Sprint.
299 00:28:41.980 ⇒ 00:28:50.799 Samuel Roberts: Okay. LS… Cool, everything’s there… And then what am I running? It was called… what again?
300 00:28:53.540 ⇒ 00:28:54.830 Pranav Narahari: seed MCP.
301 00:28:57.180 ⇒ 00:28:59.780 Samuel Roberts: Yeah, okay.
302 00:29:06.020 ⇒ 00:29:13.719 Samuel Roberts: see what happens. Alright, now refresh that dev and see what it looks like. I have a feeling it’s not gonna be perfect, but we’re getting closer.
303 00:29:14.260 ⇒ 00:29:16.310 Pranav Narahari: Like, the deployed staging?
304 00:29:16.570 ⇒ 00:29:17.420 Samuel Roberts: Yeah.
305 00:29:22.230 ⇒ 00:29:23.680 Samuel Roberts: Oh, actually, it looks pretty good.
306 00:29:30.700 ⇒ 00:29:32.300 Samuel Roberts: Yeah, I think that took care of it.
307 00:29:33.130 ⇒ 00:29:34.400 Pranav Narahari: Okay, cool.
308 00:29:35.290 ⇒ 00:29:40.230 Pranav Narahari: Nice. Okay.
309 00:29:40.230 ⇒ 00:29:46.020 Samuel Roberts: Alright, so test that out, add something, or do you have the… do you have the Klaviyo key? I can add it, if not, and test it.
310 00:29:46.020 ⇒ 00:29:47.710 Pranav Narahari: Yeah, if you have that handy.
311 00:29:48.600 ⇒ 00:29:50.069 Samuel Roberts: Let me see where that is.
312 00:29:53.380 ⇒ 00:29:56.170 Samuel Roberts: And of course, my 1Password’s being real slow.
313 00:29:58.560 ⇒ 00:29:59.750 Samuel Roberts: Or not at all.
314 00:30:01.190 ⇒ 00:30:03.320 Pranav Narahari: Yeah, sometimes it’s, like, really buggy.
315 00:30:03.530 ⇒ 00:30:04.060 Samuel Roberts: Like, for me.
316 00:30:04.060 ⇒ 00:30:05.560 Pranav Narahari: I’ll buggy, too.
317 00:30:07.360 ⇒ 00:30:10.450 Samuel Roberts: Okay, so I want, fabio…
318 00:30:11.460 ⇒ 00:30:15.749 Samuel Roberts: API key… I’m just gonna save that into one of these and see…
319 00:30:16.870 ⇒ 00:30:19.209 Samuel Roberts: Okay, and then we’re gonna go back to chat.
320 00:30:19.360 ⇒ 00:30:25.049 Samuel Roberts: Oh, no, I probably have to go to Settings, API keys, Anthropic’s already set, good.
321 00:30:25.970 ⇒ 00:30:33.889 Samuel Roberts: what’s… What’s in Flavio? Error, no response. API key balance. Okay, so it’s a bad API key.
322 00:30:49.470 ⇒ 00:30:52.629 Samuel Roberts: Yeah, 1Password is not working. Okay, hold on, let me open up…
323 00:30:53.440 ⇒ 00:30:55.710 Pranav Narahari: I think it might have just been me.
324 00:30:56.100 ⇒ 00:30:58.549 Pranav Narahari: So I think they gave one for…
325 00:30:58.880 ⇒ 00:31:04.310 Pranav Narahari: They gave an agreement for some brand. Do you remember what it was called?
326 00:31:04.310 ⇒ 00:31:07.009 Samuel Roberts: Hold on, I’m just adding it real quick here and seeing what happens.
327 00:31:07.010 ⇒ 00:31:08.820 Pranav Narahari: Okay, perfect. You, you got it up.
328 00:31:08.820 ⇒ 00:31:09.930 Samuel Roberts: I have one, yeah.
329 00:31:09.930 ⇒ 00:31:10.630 Pranav Narahari: Okay, cool.
330 00:31:12.150 ⇒ 00:31:15.550 Pranav Narahari: Yeah, they said they had one for Newton, apparently, that they gave us.
331 00:31:17.640 ⇒ 00:31:21.109 Samuel Roberts: Okay, it’s spitting back everything now, but yeah.
332 00:31:22.670 ⇒ 00:31:24.460 Samuel Roberts: Let me show you what it just did.
333 00:31:27.020 ⇒ 00:31:31.170 Samuel Roberts: So it did this, but it included the thinking.
334 00:31:32.980 ⇒ 00:31:33.880 Pranav Narahari: Oh, okay.
335 00:31:35.110 ⇒ 00:31:36.939 Samuel Roberts: Is it doing that locally, too? I don’t even know.
336 00:31:39.280 ⇒ 00:31:44.959 Samuel Roberts: On the newer branch. So the new branch seems fine, then. It’s not… it’s just that the database wasn’t properly set up.
337 00:31:45.220 ⇒ 00:31:47.090 Samuel Roberts: Seeded with the new stuff.
338 00:31:48.600 ⇒ 00:31:49.469 Pranav Narahari: Oh, okay.
339 00:31:53.080 ⇒ 00:32:00.150 Pranav Narahari: Okay, I’m just testing it as well, too…
340 00:32:00.390 ⇒ 00:32:01.240 Samuel Roberts: Okay.
341 00:32:01.240 ⇒ 00:32:05.890 Pranav Narahari: I don’t have ability to… what did you ask as, like, a question?
342 00:32:05.890 ⇒ 00:32:07.610 Samuel Roberts: I just said, what’s in Klaviyo?
343 00:32:07.900 ⇒ 00:32:09.850 Pranav Narahari: What’s in Klaviyo? Okay, perfect, let me do that.
344 00:32:11.560 ⇒ 00:32:15.120 Pranav Narahari: Because it was saying, for some reason, I’m not able to… fetch anything.
345 00:32:15.550 ⇒ 00:32:17.430 Samuel Roberts: Oh, that might be…
346 00:32:24.060 ⇒ 00:32:26.479 Samuel Roberts: Yeah, let me check those locally and see what happens.
347 00:32:34.190 ⇒ 00:32:34.790 Pranav Narahari: Hmm.
348 00:32:43.930 ⇒ 00:32:46.559 Samuel Roberts: Okay, yeah, so it’s logging the tool calls now, but…
349 00:32:47.660 ⇒ 00:32:50.220 Samuel Roberts: Oh, it’s not even finishing, locally.
350 00:32:51.880 ⇒ 00:32:56.010 Samuel Roberts: I don’t have it running locally, that’s why. Okay. That’s fine.
351 00:32:58.110 ⇒ 00:33:03.549 Samuel Roberts: Alright, so what else can I help with now, I guess? I might start eating my loot lunch here, too.
352 00:33:03.790 ⇒ 00:33:10.529 Pranav Narahari: Oh, yeah, yeah. Yeah, for some reason, this is still not working for me,
353 00:33:10.530 ⇒ 00:33:11.689 Samuel Roberts: Oh yeah, can you share?
354 00:33:11.820 ⇒ 00:33:12.510 Pranav Narahari: Yeah.
355 00:33:30.340 ⇒ 00:33:31.760 Pranav Narahari: Yeah, you can see my screen?
356 00:33:34.820 ⇒ 00:33:38.140 Samuel Roberts: Yes, okay. So you’re on staging, you’ll go to Settings.
357 00:33:38.770 ⇒ 00:33:43.630 Pranav Narahari: If I go to API keys here, too, like, for some reason it’s not saving, like, the API key.
358 00:33:44.030 ⇒ 00:33:48.550 Samuel Roberts: Alright, if you hit enter, it says it’s saved, okay. Yeah. And then if you leave and come back, what happens?
359 00:33:48.550 ⇒ 00:33:51.719 Pranav Narahari: Maybe if I go to… maybe I have to create a new chat, and that’ll fit.
360 00:33:51.720 ⇒ 00:33:54.270 Samuel Roberts: Oh, I don’t know, I don’t think so. Let’s try it.
361 00:33:54.740 ⇒ 00:33:59.659 Pranav Narahari: We’ll date it up.
362 00:34:08.770 ⇒ 00:34:09.469 Samuel Roberts: Okay.
363 00:34:09.699 ⇒ 00:34:11.179 Pranav Narahari: Okay, maybe that’s what it was.
364 00:34:12.940 ⇒ 00:34:15.079 Samuel Roberts: Okay, cool. Well, we probably need a few more, like.
365 00:34:15.270 ⇒ 00:34:19.119 Samuel Roberts: I think that page where it saves the API keys, we probably want a little bit more of a…
366 00:34:19.699 ⇒ 00:34:20.489 Samuel Roberts: Like…
367 00:34:20.710 ⇒ 00:34:26.039 Samuel Roberts: enter button, maybe, or something, or just, like, an error message if it doesn’t have the key properly, or something happens, I don’t know.
368 00:34:26.150 ⇒ 00:34:31.420 Samuel Roberts: There’s a few different ways we can do that, but at least it’s working. We can add more stuff later.
369 00:34:31.429 ⇒ 00:34:38.809 Pranav Narahari: Yeah, I want to just kind of give, like, an update to Bobby, too, and I don’t want to, like, pull you back in later in the day.
370 00:34:38.810 ⇒ 00:34:40.129 Samuel Roberts: Yeah, yeah, what else can we do?
371 00:34:40.139 ⇒ 00:34:41.769 Pranav Narahari: Yeah, let’s.
372 00:34:42.210 ⇒ 00:34:45.449 Samuel Roberts: We want to get it It’s not just on users, right? Every user has one?
373 00:34:47.119 ⇒ 00:34:49.169 Samuel Roberts: Or has access to the brands, I mean?
374 00:34:49.929 ⇒ 00:34:55.719 Pranav Narahari: Yes, every user should have access to the brands, so… Let’s see…
375 00:34:57.160 ⇒ 00:35:02.680 Pranav Narahari: Yeah, at first, I wasn’t sure if it, like, had something to do with Google, and I wasn’t exa… yeah, but…
376 00:35:04.250 ⇒ 00:35:07.809 Pranav Narahari: Yeah, can I just, like, remove scopes, I guess?
377 00:35:08.240 ⇒ 00:35:09.629 Samuel Roberts: Hold on, I’m trying to see.
378 00:35:09.880 ⇒ 00:35:10.510 Pranav Narahari: Yeah.
379 00:35:15.550 ⇒ 00:35:17.239 Samuel Roberts: Okay, the brands…
380 00:35:29.240 ⇒ 00:35:30.130 Samuel Roberts: Hmm.
381 00:35:37.280 ⇒ 00:35:39.739 Samuel Roberts: I think it’s probably just fetching… let me see…
382 00:35:45.250 ⇒ 00:35:46.529 Samuel Roberts: Wait, what are these called?
383 00:35:46.670 ⇒ 00:35:47.420 Samuel Roberts: Hold on.
384 00:35:59.540 ⇒ 00:36:03.230 Samuel Roberts: Brands are called bots, is that what we have them called right now? Yeah, okay.
385 00:36:09.760 ⇒ 00:36:16.490 Samuel Roberts: And they’re tied to a user. Okay, so we just want to make sure that when we fetch bots, they don’t fetch the user. They don’t include the user as a…
386 00:36:17.000 ⇒ 00:36:18.939 Samuel Roberts: As a way to fetch. Okay.
387 00:36:23.190 ⇒ 00:36:27.479 Samuel Roberts: Yeah, I don’t know if that made sense, what I just said, but hold on, let me…
388 00:36:29.100 ⇒ 00:36:33.500 Samuel Roberts: So I’m guessing when we’re fetching all the bots, which are the brands right now, right?
389 00:36:33.630 ⇒ 00:36:34.200 Pranav Narahari: Yep.
390 00:36:35.270 ⇒ 00:36:39.209 Samuel Roberts: They were created by certain users, so it’s fetching only ones tied to that user.
391 00:36:39.390 ⇒ 00:36:40.100 Pranav Narahari: Yeah.
392 00:36:40.250 ⇒ 00:36:42.390 Samuel Roberts: I think we just have to remove that restriction.
393 00:36:43.350 ⇒ 00:36:44.660 Pranav Narahari: Gotcha, gotcha.
394 00:36:44.980 ⇒ 00:36:48.749 Pranav Narahari: So, like, that’s kind of, like, in the front-end API request.
395 00:36:49.730 ⇒ 00:36:52.810 Samuel Roberts: But we’re… are we proxying that to the back end now?
396 00:36:59.480 ⇒ 00:37:03.859 Samuel Roberts: But it could be in the front end, too, I don’t know. We gotta… that’s something we can clean up a little bit. Probably doesn’t need to be both.
397 00:37:04.750 ⇒ 00:37:05.510 Pranav Narahari: Yeah.
398 00:37:12.480 ⇒ 00:37:14.149 Samuel Roberts: Yeah, it looked like it’s in the backend.
399 00:37:21.260 ⇒ 00:37:25.769 Samuel Roberts: Create, yep, okay. Yeah, find all, I think we just want to get rid of that user ID.
400 00:37:26.140 ⇒ 00:37:27.870 Samuel Roberts: And change that Find All.
401 00:37:34.980 ⇒ 00:37:44.189 Samuel Roberts: Actually, I think we just comment out the where in the find all In bots.service.ts.
402 00:37:46.960 ⇒ 00:37:47.769 Samuel Roberts: For now.
403 00:37:50.990 ⇒ 00:37:51.870 Pranav Narahari: Gotcha.
404 00:37:52.950 ⇒ 00:37:56.420 Samuel Roberts: Let me see if that does it. Oh, it’s actually not gonna… I’m not gonna be able to test here, but…
405 00:38:00.340 ⇒ 00:38:02.620 Pranav Narahari: You won’t be able to test, locally or something?
406 00:38:02.980 ⇒ 00:38:04.889 Samuel Roberts: I can remove the user, hold on.
407 00:38:10.980 ⇒ 00:38:13.219 Pranav Narahari: Yeah, we can just kind of test by, like…
408 00:38:13.660 ⇒ 00:38:15.009 Samuel Roberts: I’m gonna make a new user map.
409 00:38:15.010 ⇒ 00:38:17.319 Pranav Narahari: Or I can create a brand, and you’ll be able to see it.
410 00:38:17.760 ⇒ 00:38:19.600 Samuel Roberts: Oh, we gotta deploy it for that, though, but yeah.
411 00:38:19.600 ⇒ 00:38:21.829 Pranav Narahari: Yeah, we’ll have to deploy, yeah. True, true.
412 00:38:21.830 ⇒ 00:38:23.510 Samuel Roberts: I’ll test it before we do that first.
413 00:38:23.810 ⇒ 00:38:24.470 Pranav Narahari: Okay.
414 00:38:29.200 ⇒ 00:38:31.610 Samuel Roberts: Maybe I’ll just make a new user with my regular email.
415 00:38:33.730 ⇒ 00:38:34.780 Samuel Roberts: I know.
416 00:38:36.140 ⇒ 00:38:39.060 Samuel Roberts: We’re gonna… Went in with,
417 00:38:44.620 ⇒ 00:38:46.209 Samuel Roberts: And now if I sign in…
418 00:38:47.160 ⇒ 00:38:54.379 Samuel Roberts: I don’t see any brands here, that’s not good, okay, so we’re still not… I’m still using that user ID somewhere.
419 00:38:56.070 ⇒ 00:39:00.470 Samuel Roberts: No, maybe it’s… Hmm.
420 00:39:20.670 ⇒ 00:39:21.770 Samuel Roberts: That’d I do.
421 00:39:29.730 ⇒ 00:39:30.480 Samuel Roberts: Hmm.
422 00:39:40.370 ⇒ 00:39:42.150 Samuel Roberts: Okay, there must be something else going on here.
423 00:39:50.190 ⇒ 00:39:51.280 Samuel Roberts: Hmm…
424 00:40:06.660 ⇒ 00:40:12.390 Samuel Roberts: Okay. Yeah, it’s gonna be a little bit more work, I think, than what I’m saying, to clean it up well, but…
425 00:40:31.530 ⇒ 00:40:37.020 Samuel Roberts: Mmm… Hmm, still not working, why is it not working?
426 00:40:43.290 ⇒ 00:40:44.839 Samuel Roberts: Hmm, okay, let’s try this.
427 00:40:51.560 ⇒ 00:40:53.160 Samuel Roberts: Bots API…
428 00:41:05.820 ⇒ 00:41:11.530 Samuel Roberts: Okay, I think… never mind. I think the best thing to do here…
429 00:41:11.780 ⇒ 00:41:17.260 Samuel Roberts: Is a little bit more work, where right now, bots have a user tied to them, and users have a bot’s
430 00:41:17.850 ⇒ 00:41:20.960 Samuel Roberts: Raw.
431 00:41:21.920 ⇒ 00:41:23.969 Samuel Roberts: Array for relation field.
432 00:41:26.180 ⇒ 00:41:28.639 Samuel Roberts: And then we want to just change that to created by.
433 00:41:29.750 ⇒ 00:41:30.440 Pranav Narahari: Okay.
434 00:41:31.140 ⇒ 00:41:35.380 Samuel Roberts: So you probably want to make, like, a Prisma migration for that.
435 00:41:36.820 ⇒ 00:41:43.390 Samuel Roberts: And then update that to created by, and then remove all the things where users are part of fetching the bots right now.
436 00:41:45.740 ⇒ 00:41:46.740 Pranav Narahari: Okay.
437 00:41:46.740 ⇒ 00:41:48.350 Samuel Roberts: Does that make sense? You know what I’m saying?
438 00:41:48.980 ⇒ 00:41:56.180 Pranav Narahari: Yeah, yeah. Parallelily, I’m just, like, looking into exactly, like, where I would need to make those changes. Okay. But yeah.
439 00:41:56.180 ⇒ 00:41:59.720 Samuel Roberts: Yeah, I was looking around a little bit, I thought I could just make one quick change, but it seems to not.
440 00:42:00.840 ⇒ 00:42:02.369 Samuel Roberts: Not do it. Cool.
441 00:42:02.370 ⇒ 00:42:05.040 Pranav Narahari: Yeah, one other thing that,
442 00:42:05.330 ⇒ 00:42:11.340 Pranav Narahari: I think, you know, me and you talked about it last week, but, I didn’t loop in. Utam was just like…
443 00:42:12.280 ⇒ 00:42:20.490 Pranav Narahari: the overall, like, do we agree with the estimate on the hours, or, like, the timeline for, like, Phase 1, 2, and 3?
444 00:42:20.900 ⇒ 00:42:23.329 Pranav Narahari: you and I kind of talked about it, I think we thought, like.
445 00:42:23.710 ⇒ 00:42:27.710 Pranav Narahari: things were already, like, set in stone in terms of, like, the Phase 1 deadline.
446 00:42:27.710 ⇒ 00:42:28.270 Samuel Roberts: Yeah.
447 00:42:28.270 ⇒ 00:42:45.839 Pranav Narahari: 9th. That’s actually not the case. I think the nature of actually, like, this, like, deal with, like, Lilo is that, like, they just wanted someone coming in ASAP, and, like, UTAM was like, okay, let’s just, like, give them, like, some upfront work, like, let’s give them, like, a kind of estimate on, like.
448 00:42:45.970 ⇒ 00:42:57.110 Pranav Narahari: what we think the budget’s gonna be, and then, like, we’ll give you, like, a more concrete estimate later on. I… yeah, I wasn’t aware of that until, like, literally just when I had the conversation with Utam less than an hour ago.
449 00:42:57.110 ⇒ 00:42:57.490 Samuel Roberts: Okay.
450 00:42:57.490 ⇒ 00:43:00.139 Pranav Narahari: So now, like, he was like.
451 00:43:00.800 ⇒ 00:43:08.280 Pranav Narahari: he’s kind of, like, putting a little bit of pressure, which makes sense, like, okay, you and I should, like, as, like, the technical people on the project.
452 00:43:08.280 ⇒ 00:43:09.050 Samuel Roberts: Yeah.
453 00:43:09.320 ⇒ 00:43:15.539 Pranav Narahari: kind of look at these requirements, like, look at what needs to get done based on these PRDs, and…
454 00:43:16.200 ⇒ 00:43:18.080 Pranav Narahari: Assess whether or not, like.
455 00:43:18.190 ⇒ 00:43:23.019 Pranav Narahari: these just, like, random deadlines that he just used, like, that Uten put in, like, make sense.
456 00:43:23.020 ⇒ 00:43:23.550 Samuel Roberts: Right, right.
457 00:43:24.910 ⇒ 00:43:42.959 Pranav Narahari: And I think the best way to do that is just, like, defining the number of hours that each thing is gonna take, and then we can just figure out, based on how many hours I work on this, how many hours you work on it, like, what that takes to in terms of weeks, right? And, like, actual dates in 2026. So…
458 00:43:43.410 ⇒ 00:43:47.739 Pranav Narahari: Yeah, that’s one more thing that we need to do.
459 00:43:50.740 ⇒ 00:43:51.280 Samuel Roberts: Okay.
460 00:43:51.280 ⇒ 00:43:55.460 Pranav Narahari: Yeah. Were you able to, like, read the PRDs?
461 00:43:56.260 ⇒ 00:43:58.190 Samuel Roberts: I read…
462 00:43:58.410 ⇒ 00:44:01.959 Samuel Roberts: No, I don’t think I read the first one yet. I read the other two, I think, but…
463 00:44:01.960 ⇒ 00:44:05.980 Pranav Narahari: Okay, yeah, I think first one is the one that’s, like, the priority as of right now, and then maybe.
464 00:44:05.980 ⇒ 00:44:09.890 Samuel Roberts: Yeah, let me pull those up. I don’t have them here, let me get into GitHub.
465 00:44:10.410 ⇒ 00:44:12.900 Pranav Narahari: Yeah, I think it’s only on the main branch, as of right now.
466 00:44:31.130 ⇒ 00:44:32.430 Samuel Roberts: Excuse me, sorry.
467 00:44:35.860 ⇒ 00:44:39.470 Pranav Narahari: Yeah, I think just the past two weeks has just been so crazy with me being out, and then…
468 00:44:39.470 ⇒ 00:44:40.120 Samuel Roberts: Yeah.
469 00:44:40.390 ⇒ 00:44:43.779 Pranav Narahari: So, apologies, kind of, to, like, pull you in today, but…
470 00:44:43.780 ⇒ 00:44:47.840 Samuel Roberts: No, no, you’re good, you’re good. Api?
471 00:44:47.840 ⇒ 00:44:53.650 Pranav Narahari: And I think these… this client’s also just like… I wasn’t even… I wasn’t even aware I was gonna do a demo today.
472 00:44:53.650 ⇒ 00:44:54.080 Samuel Roberts: it’s gonna be…
473 00:44:54.120 ⇒ 00:44:55.400 Pranav Narahari: Tom.
474 00:44:55.400 ⇒ 00:45:03.090 Samuel Roberts: Yeah, yeah, yeah, no, they’re really gung-ho to see stuff, so… anything that you can show… basically, for this client, like, anything you can show off at any point is good.
475 00:45:03.270 ⇒ 00:45:03.820 Pranav Narahari: Basically, what’s.
476 00:45:03.820 ⇒ 00:45:07.639 Samuel Roberts: progress. They don’t really seem to care about the work that goes into it.
477 00:45:07.640 ⇒ 00:45:11.160 Pranav Narahari: I just want to see the results, so, like… Yeah.
478 00:45:11.160 ⇒ 00:45:15.770 Samuel Roberts: Even just showing that the API keys work now would be, like, a huge thing, even if it was just a database change, you know?
479 00:45:15.770 ⇒ 00:45:23.860 Pranav Narahari: Yep, yep, yep, yeah. That’s why I just… this is good, I’m gonna hope… just get this done in the next couple of hours, and then…
480 00:45:24.910 ⇒ 00:45:30.499 Pranav Narahari: What will also be good, too, is just to, like, be able to show them, like, we’re on track with things.
481 00:45:30.500 ⇒ 00:45:31.010 Samuel Roberts: Yeah.
482 00:45:31.010 ⇒ 00:45:35.180 Pranav Narahari: So, best way to do that is, like, if we can, like, estimate, like, the number of hours for everything.
483 00:45:36.200 ⇒ 00:45:37.030 Pranav Narahari: Yeah.
484 00:45:37.420 ⇒ 00:45:44.740 Samuel Roberts: Yeah, let me jump to that real quick. Alright, so where we are on the 29th, next week, we have a till… so we have two weeks, basically, with this half week, sort of, and then next week full.
485 00:45:44.740 ⇒ 00:45:50.799 Pranav Narahari: Well, yeah, so I think the point is, is, like, we don’t need to abide by, like, that Jan 9th date.
486 00:45:50.800 ⇒ 00:45:59.040 Samuel Roberts: I’m just trying to see what… I’m just trying to see what was in there, yeah, of course. Just, like, looking at it now, like, that’s what things are marked towards. I just wasn’t sure when that even was at this point.
487 00:45:59.210 ⇒ 00:45:59.900 Pranav Narahari: Yeah.
488 00:46:05.240 ⇒ 00:46:07.439 Pranav Narahari: Which is basically, like, next Friday, right?
489 00:46:07.440 ⇒ 00:46:10.629 Samuel Roberts: Yeah, yeah, absolutely. Yeah, super close, yep.
490 00:46:10.630 ⇒ 00:46:18.089 Pranav Narahari: Yeah, and then one thing, too, I don’t think I already said this, is, like, with the MCP stuff,
491 00:46:18.570 ⇒ 00:46:29.609 Pranav Narahari: it seemed like, from, like, my understanding before, like, Klaviyo was, like, the main thing that they wanted, but, like, Shopify, Meta Ads, like, Google Ads, that was working, apparently, for them.
492 00:46:29.810 ⇒ 00:46:32.300 Pranav Narahari: And so…
493 00:46:32.300 ⇒ 00:46:36.530 Samuel Roberts: It hadn’t been working. Okay, my bad. I was under the impression it wasn’t yet fully set up.
494 00:46:36.530 ⇒ 00:46:43.969 Pranav Narahari: Yeah, I mean, I… I didn’t, I think the MCP stuff was, like, when I was kind of, away, right? So, like.
495 00:46:43.970 ⇒ 00:46:44.690 Samuel Roberts: Yeah, yeah.
496 00:46:44.690 ⇒ 00:46:46.470 Pranav Narahari: Wasn’t sure.
497 00:46:47.260 ⇒ 00:46:52.880 Pranav Narahari: Yeah, so, like, that was kind of, like, a loophole for me, too, so, like, that’s gonna increase estimates as well.
498 00:46:54.460 ⇒ 00:47:00.380 Pranav Narahari: Yeah. So they were… they… they… Bob… that’s what Bobby said to me, he was like, yeah, it was all working before.
499 00:47:01.190 ⇒ 00:47:09.550 Samuel Roberts: Okay, well, I mean, honestly, those MCP servers ran pretty fine in that Python. Okay. All I really had to do was get it
500 00:47:11.520 ⇒ 00:47:23.819 Samuel Roberts: I mean, most of the stuff is now set up, because I had to add all the stuff for, like, saving the API keys and doing all that. Yeah. So, I think if you can test it locally, just getting up the Shopify, we need a key from them to test it, but.
501 00:47:23.820 ⇒ 00:47:24.510 Pranav Narahari: Yeah.
502 00:47:25.860 ⇒ 00:47:30.929 Samuel Roberts: And then we have to figure out the authentication stuff on that side, because if it’s different, then the bear tokens…
503 00:47:33.110 ⇒ 00:47:35.509 Samuel Roberts: Excuse me. Okay,
504 00:47:37.830 ⇒ 00:47:46.050 Samuel Roberts: Yeah, alright, let’s look at the PRD while we’re… while we’re… sorry, alright, so what do we have here? So, stage milestones, what do we got? Okay. Running migration to React, that’s…
505 00:47:47.650 ⇒ 00:47:50.250 Samuel Roberts: Basically done backend migration to next.
506 00:47:51.560 ⇒ 00:47:58.280 Pranav Narahari: Yeah, and I think I actually moved all that stuff into the Gantt as well, so I don’t know if you have… if you’ve seen the latest of the Gantt.
507 00:47:58.280 ⇒ 00:47:59.540 Samuel Roberts: Let me pull that up.
508 00:47:59.540 ⇒ 00:48:01.470 Pranav Narahari: That might be an easier view to just look at.
509 00:48:02.000 ⇒ 00:48:03.320 Samuel Roberts: Okay, yeah, decimal.
510 00:48:03.550 ⇒ 00:48:04.440 Pranav Narahari: Yeah.
511 00:48:04.620 ⇒ 00:48:06.830 Samuel Roberts: Or since the Gantt just spins, there we go.
512 00:48:07.160 ⇒ 00:48:07.920 Samuel Roberts: Okay.
513 00:48:10.480 ⇒ 00:48:13.379 Samuel Roberts: Alright, where… oh, I hate this view. There we go.
514 00:48:13.600 ⇒ 00:48:25.030 Samuel Roberts: Alright, so we got… Client MVP, admin panel MVP, Dr. Bob onboarded master, okay.
515 00:48:28.030 ⇒ 00:48:31.989 Samuel Roberts: Well, I was gonna look at what… let me look a little bit more on what was in this PRD.
516 00:48:31.990 ⇒ 00:48:34.740 Pranav Narahari: Before I keep turning back and forth, so back and migrated.
517 00:48:34.740 ⇒ 00:48:45.580 Samuel Roberts: That was… I mean, we’re pretty much there. Everything’s migrated except for, like, the rest of the MCP stuff. That’s, like, that was there, I think. Unless there were other features they mentioned that I’m not in the loop on.
518 00:48:45.580 ⇒ 00:49:02.250 Pranav Narahari: No, no, so, like, yeah, from that call, the features that they would have liked to see, right, were, just having the ability to, like, add the API key for the specific, MCP servers.
519 00:49:02.250 ⇒ 00:49:02.680 Samuel Roberts: Okay.
520 00:49:02.680 ⇒ 00:49:08.230 Pranav Narahari: So… Yeah, so that was already done by you, I guess.
521 00:49:08.430 ⇒ 00:49:12.699 Samuel Roberts: Yeah, just the database stuff wasn’t… yeah, that’s my bad, I didn’t realize.
522 00:49:13.280 ⇒ 00:49:14.559 Pranav Narahari: No, no, all good.
523 00:49:14.560 ⇒ 00:49:27.989 Samuel Roberts: Yeah, I think it’s just… we’re just moving so fast, right? Yeah, it’s hard, it’s hard to… yeah, especially at Christmas and New Year’s, it’s like… I just joined, too, like, so… That’s… yeah, and then you were… yeah, you joined, and then we’re gone, and then I’m there, and yeah, we’ve been bouncing around a lot.
524 00:49:27.990 ⇒ 00:49:36.460 Pranav Narahari: billion things, so I don’t think it’s on anybody, and I think when we get back in January, like, we’ll be in a good, good standing.
525 00:49:36.940 ⇒ 00:49:39.350 Pranav Narahari: So that was the main thing,
526 00:49:39.690 ⇒ 00:49:45.210 Pranav Narahari: One other thing with, like, the UI is, like, they…
527 00:49:45.830 ⇒ 00:49:48.910 Pranav Narahari: actually, I don’t even think this is that important, but I’ll just fix it, is like…
528 00:49:49.340 ⇒ 00:49:56.229 Pranav Narahari: In settings, when, like, you go to integrations, like, the… the, like.
529 00:49:56.380 ⇒ 00:50:04.769 Pranav Narahari: the disabled versus enabled doesn’t… is not exactly the same thing as, like, turning on and off the MCP server, like, in the chat window.
530 00:50:04.770 ⇒ 00:50:05.520 Samuel Roberts: Correct.
531 00:50:05.520 ⇒ 00:50:08.689 Pranav Narahari: Yeah, yeah. So, that was just not set.
532 00:50:09.270 ⇒ 00:50:12.110 Pranav Narahari: Currently. So, we just need to update that.
533 00:50:12.490 ⇒ 00:50:14.759 Samuel Roberts: Okay, so what is… wait, so we want… I think…
534 00:50:15.440 ⇒ 00:50:22.459 Samuel Roberts: My idea is that those enabled and disabled would make it appear in the chat window, and then turning it… yeah, okay, as long as we’re on the same page. Okay.
535 00:50:22.460 ⇒ 00:50:30.660 Pranav Narahari: Yeah, yeah. But other than that, I think the functionality-wise, like, we pulled everything from the backend, like…
536 00:50:30.660 ⇒ 00:50:31.240 Samuel Roberts: Yeah.
537 00:50:31.240 ⇒ 00:50:34.220 Pranav Narahari: Yeah, there’s not much else.
538 00:50:34.550 ⇒ 00:50:41.120 Samuel Roberts: Okay, so then, while… while I’m still here, let’s… let’s think this through. Okay.
539 00:50:42.200 ⇒ 00:50:49.369 Samuel Roberts: So yeah, the 9th… I mean, have you looked through the MVP features of the PRD?
540 00:50:50.810 ⇒ 00:50:51.190 Pranav Narahari: Yeah.
541 00:50:51.190 ⇒ 00:50:52.510 Samuel Roberts: Okay. Okay.
542 00:50:53.340 ⇒ 00:50:56.780 Samuel Roberts: And then that’s what should be an instant, I guess.
543 00:50:57.760 ⇒ 00:51:05.510 Pranav Narahari: Yeah, so, like, the Create Client MVP, that’s, like, basically, like, being able to create a brand. Yeah.
544 00:51:06.460 ⇒ 00:51:12.749 Pranav Narahari: And basically just, like, interacting with that brand, I would say, like, so, like, the chat and stuff like that.
545 00:51:12.750 ⇒ 00:51:13.500 Samuel Roberts: Yeah.
546 00:51:14.260 ⇒ 00:51:19.150 Pranav Narahari: So, kind of similar to just, like, the front-end, like.
547 00:51:19.340 ⇒ 00:51:24.900 Pranav Narahari: The front-end migration to React is not necessarily even bringing in the functionality.
548 00:51:25.190 ⇒ 00:51:25.750 Samuel Roberts: Right.
549 00:51:26.250 ⇒ 00:51:27.530 Pranav Narahari: Kind of just, like…
550 00:51:28.510 ⇒ 00:51:40.660 Pranav Narahari: setting up, I guess… I don’t know, there’s kind of a little bit of overlap with all these things. Like, the create client MVP, though, I guess, once that’s completed, then, like, then we have brought in all of the…
551 00:51:40.660 ⇒ 00:51:42.860 Samuel Roberts: Yeah, the kind of overlaps, yeah.
552 00:51:43.230 ⇒ 00:51:47.980 Pranav Narahari: Yeah. And then Admin Panel MVP, that is,
553 00:51:48.470 ⇒ 00:51:57.899 Pranav Narahari: we should be… it’s basically the settings page. Like, we should be able to add API keys for, like, the LLM providers, as well as, like, the MCP servers.
554 00:51:57.900 ⇒ 00:52:01.599 Samuel Roberts: Yeah, the only other side of that is the user management stuff we want to add.
555 00:52:02.070 ⇒ 00:52:04.929 Pranav Narahari: I don’t think they’re really that interested in that right now.
556 00:52:04.930 ⇒ 00:52:10.409 Samuel Roberts: I’ve said that a few times, that they had to do that somewhere else, and they wanted that here, but we could probably bump that to a separate thing.
557 00:52:10.610 ⇒ 00:52:12.239 Samuel Roberts: And push that out a little bit.
558 00:52:12.660 ⇒ 00:52:17.879 Pranav Narahari: So when you say user management, you mean, like, certain brands only being visible for certain people, right?
559 00:52:17.880 ⇒ 00:52:28.529 Samuel Roberts: either that, or just managing the, like, who has access to… yeah, exactly, access management, but even just, like, they… the only way they were able to, like, delete someone’s account was from…
560 00:52:28.690 ⇒ 00:52:32.930 Samuel Roberts: the third party, the BRNZ, dashboard.
561 00:52:32.930 ⇒ 00:52:33.560 Pranav Narahari: Modge.
562 00:52:33.560 ⇒ 00:52:45.740 Samuel Roberts: So we just gotta kind of give them some of that functionality, which I think is fine. I think what we can do is break Admin Panel MVP into two, which is, like, managing the brand page, and then managing, like, user access management stuff.
563 00:52:46.970 ⇒ 00:52:48.090 Samuel Roberts: Okay. Makes sense.
564 00:52:48.090 ⇒ 00:52:54.719 Pranav Narahari: Yeah, yeah, we didn’t talk about that specifically, so yeah, let’s, let’s add that to.
565 00:52:55.630 ⇒ 00:53:09.180 Samuel Roberts: Okay, that’s good to know. I guess I just wasn’t aware of that, so… Yeah, it says user management basics, but I think really what we just want to be able to do is, like, let them see the users, let them update anything they need, basic CRUD stuff for users, and then also access management.
566 00:53:09.670 ⇒ 00:53:11.949 Samuel Roberts: Like, skeleton, probably.
567 00:53:12.450 ⇒ 00:53:13.210 Pranav Narahari: Okay.
568 00:53:13.660 ⇒ 00:53:14.670 Samuel Roberts: Perfect.
569 00:53:15.690 ⇒ 00:53:23.370 Pranav Narahari: And then what else is there? Let’s see… So…
570 00:53:24.010 ⇒ 00:53:30.889 Pranav Narahari: onboarding Zach and Bobby… yup, that makes sense. What is.
571 00:53:31.220 ⇒ 00:53:34.040 Samuel Roberts: What do we need to do, like, with Master for, like, the next…
572 00:53:34.300 ⇒ 00:53:35.980 Pranav Narahari: For, like, Phase 1.
573 00:53:36.400 ⇒ 00:53:41.459 Samuel Roberts: I don’t really know, I think he threw that in there because we were using that for other things, but with the AI SDK stuff, like…
574 00:53:41.800 ⇒ 00:53:47.619 Samuel Roberts: we have the chat functionality, we have the MCP functionality. That’s really good for, like, if we want to make it a more…
575 00:53:48.330 ⇒ 00:53:51.170 Samuel Roberts: Complex agent flow.
576 00:53:51.170 ⇒ 00:53:52.040 Pranav Narahari: Yeah.
577 00:53:52.210 ⇒ 00:53:55.010 Samuel Roberts: But I’m not sure what we need for that right now.
578 00:53:55.010 ⇒ 00:53:56.670 Pranav Narahari: Okay, so…
579 00:53:56.830 ⇒ 00:54:02.700 Pranav Narahari: I’m not gonna worry about that too much for right now, then. No. Because for me, too, like, in terms of, like…
580 00:54:02.850 ⇒ 00:54:06.839 Pranav Narahari: what their business use is, I don’t really think it’s that important.
581 00:54:07.220 ⇒ 00:54:07.970 Samuel Roberts: Not yet, no.
582 00:54:07.970 ⇒ 00:54:11.590 Pranav Narahari: or missing anything, which is where we would need to use Mastra.
583 00:54:11.590 ⇒ 00:54:12.000 Samuel Roberts: Yeah.
584 00:54:13.120 ⇒ 00:54:19.980 Pranav Narahari: And in terms of the AI SDK, like, the chat framework, like, Basically implemented, right?
585 00:54:19.980 ⇒ 00:54:25.049 Samuel Roberts: Yeah, yeah, I mean, that was part of the migration from… to React, was kind of, like… that’s why they’re kind of…
586 00:54:25.400 ⇒ 00:54:26.540 Samuel Roberts: Overlapped a lot.
587 00:54:26.920 ⇒ 00:54:34.720 Pranav Narahari: Yeah, yeah, okay, cool. And then… So, external MCP framework.
588 00:54:36.910 ⇒ 00:54:38.959 Samuel Roberts: That’s a little bit… oh, go ahead.
589 00:54:39.430 ⇒ 00:54:42.569 Pranav Narahari: I remember, like, briefly talking about this, like.
590 00:54:44.120 ⇒ 00:54:49.389 Pranav Narahari: And maybe I think I was just, like, a little bit confused on… on this as well, like…
591 00:54:49.550 ⇒ 00:54:51.150 Pranav Narahari: Do we want to, like…
592 00:54:51.340 ⇒ 00:54:58.340 Pranav Narahari: kind of, like, a view where they can integrate, like, any MCP, tool, or…
593 00:54:58.340 ⇒ 00:55:06.939 Samuel Roberts: Possibly. I think that’s something that we need to find out from them, how many more things they’re looking to add, because that’s kind of how it’s set up right now, and that’s why we have this problem, is that instead of being
594 00:55:07.260 ⇒ 00:55:09.489 Samuel Roberts: Like, in the code, it was in the database.
595 00:55:09.490 ⇒ 00:55:10.070 Pranav Narahari: Yeah.
596 00:55:10.190 ⇒ 00:55:13.250 Samuel Roberts: they can add more MCPs, that’s how all those ones have been added.
597 00:55:13.500 ⇒ 00:55:13.830 Samuel Roberts: Yeah.
598 00:55:14.630 ⇒ 00:55:17.770 Samuel Roberts: so, like, we could add a UI for adding other MCPs, and…
599 00:55:18.170 ⇒ 00:55:21.950 Samuel Roberts: The problem with that is they can’t set up a new MCP,
600 00:55:22.210 ⇒ 00:55:30.920 Samuel Roberts: server, they can just hit one that’s already available, which is fine for maybe certain things, but, like, the Klaviyo one that is available is not intended for, like, multi-tenancy.
601 00:55:31.910 ⇒ 00:55:34.170 Samuel Roberts: So that’s why we have to run it ourselves.
602 00:55:34.170 ⇒ 00:55:35.340 Pranav Narahari: Russia.
603 00:55:35.340 ⇒ 00:55:37.139 Samuel Roberts: The other ones might be fine, I don’t know.
604 00:55:37.390 ⇒ 00:55:44.230 Pranav Narahari: Yeah, they haven’t brought up, like, that they would… that they would need this, so I think it’s just introducing additional complexity again.
605 00:55:44.230 ⇒ 00:55:49.469 Samuel Roberts: I think so, too. I mean, it’s there, it’s ready to go if they want to run that way, but I don’t think we need to.
606 00:55:50.110 ⇒ 00:55:51.419 Pranav Narahari: Yeah, so perfect.
607 00:55:51.940 ⇒ 00:56:04.249 Pranav Narahari: this external MCP framework, not really needed. Schedule Slack messaging, I don’t know if you already knew this before, but to me, like, I was able to, like, realize that this has to do with, like, that reports functionality.
608 00:56:04.250 ⇒ 00:56:05.350 Samuel Roberts: Yeah.
609 00:56:05.350 ⇒ 00:56:08.410 Pranav Narahari: Okay, perfect, so yeah, you’re already aware of that.
610 00:56:09.660 ⇒ 00:56:12.660 Pranav Narahari: Okay, cool. So that’s definitely something that they want, though.
611 00:56:12.660 ⇒ 00:56:19.129 Samuel Roberts: Yeah, I think I need a little more insight into, like, like, preset prompts that run on a schedule. I don’t fully know, like, is that…
612 00:56:19.570 ⇒ 00:56:29.940 Samuel Roberts: like, something that’s gonna hit Klaviyo and do something? Is that something that’s just the AI? Like, I don’t fully know, like, I think I need a little more insight into what they had already, but I knew that there was Slack functionality that was going to be there, I just…
613 00:56:29.940 ⇒ 00:56:31.470 Pranav Narahari: Yeah, so…
614 00:56:32.210 ⇒ 00:56:46.479 Pranav Narahari: basically, yeah, they would want to, like, hit Klaviyo, hit Google, hit, like, all these different, MCP servers, pull in data, and then they have, like, these tables, essentially, that they want to be sending out, on a…
615 00:56:46.480 ⇒ 00:56:47.020 Samuel Roberts: Okay.
616 00:56:47.020 ⇒ 00:56:49.580 Pranav Narahari: scheduled basis. So…
617 00:56:49.910 ⇒ 00:56:56.180 Pranav Narahari: Yeah, basically, like, column from each column, which pulls in data from each of those different, like, servers.
618 00:56:56.430 ⇒ 00:56:57.430 Pranav Narahari: Yeah. Okay.
619 00:56:58.730 ⇒ 00:57:03.479 Pranav Narahari: So, okay, that’s one thing. This Replit integration with GitHub.
620 00:57:03.480 ⇒ 00:57:07.460 Samuel Roberts: Yeah, that was, utam had looked at a bunch of that stuff, it’s…
621 00:57:08.040 ⇒ 00:57:16.940 Samuel Roberts: they’re designing a bunch of things in REPL that are, like, other features they’re gonna want, and they’re… they’re vibecoding around, like, a forecasting thing, all the other, all the, like, Phase 2 and 3 stuff.
622 00:57:17.010 ⇒ 00:57:18.090 Pranav Narahari: Yeah.
623 00:57:18.940 ⇒ 00:57:22.120 Samuel Roberts: from what… Sorry.
624 00:57:22.380 ⇒ 00:57:23.340 Samuel Roberts: No. You’re good.
625 00:57:23.970 ⇒ 00:57:27.459 Samuel Roberts: Uten found that you can’t really sync back to GitHub, though, with Replit?
626 00:57:27.680 ⇒ 00:57:28.079 Pranav Narahari: And they can…
627 00:57:28.080 ⇒ 00:57:35.680 Samuel Roberts: pull, and then build on top of it. So, I was trying to see if there were… I was thinking about other tools, but I just don’t know what the best course of action is there yet.
628 00:57:35.820 ⇒ 00:57:36.410 Samuel Roberts: Done.
629 00:57:36.410 ⇒ 00:57:38.369 Pranav Narahari: Gotcha. So that’s…
630 00:57:39.860 ⇒ 00:57:45.880 Pranav Narahari: also seems kind of like a… the workaround, of course, is, like, they demo it for us, and then we, like…
631 00:57:45.880 ⇒ 00:57:47.970 Samuel Roberts: Take their code and integrate it in.
632 00:57:48.450 ⇒ 00:57:51.340 Samuel Roberts: Exactly. Instead of automatically with Replit, which could be fine.
633 00:57:51.580 ⇒ 00:57:52.270 Pranav Narahari: Yeah.
634 00:57:52.540 ⇒ 00:57:56.550 Pranav Narahari: But, okay, so that… I guess that’s not something I’m super worried about.
635 00:57:56.550 ⇒ 00:57:59.549 Samuel Roberts: I wouldn’t… yeah, I wouldn’t ha- I wouldn’t worry about that for you right now.
636 00:57:59.550 ⇒ 00:58:05.030 Pranav Narahari: Yeah. So, voice as input for chat, Utam was like, yeah, you know, this is nice to have, like.
637 00:58:05.030 ⇒ 00:58:05.780 Samuel Roberts: Yeah.
638 00:58:05.780 ⇒ 00:58:06.260 Pranav Narahari: worry about.
639 00:58:06.260 ⇒ 00:58:07.460 Samuel Roberts: Definitely, definitely.
640 00:58:07.640 ⇒ 00:58:12.930 Pranav Narahari: And then land use implementation, this is primarily for, like, that prompt library.
641 00:58:13.410 ⇒ 00:58:26.660 Pranav Narahari: what Utam was saying, too, is, like, we don’t even really even need to expose that, like, prompt library, like, as is, kind of, like, as, like, a drop-down where you just, like, select, like, a prompt.
642 00:58:26.660 ⇒ 00:58:27.280 Samuel Roberts: Florida.
643 00:58:27.430 ⇒ 00:58:33.230 Pranav Narahari: We don’t need them to, like, have the functionality to, like, even create prompts, like, within, like, the application as well.
644 00:58:33.230 ⇒ 00:58:33.890 Samuel Roberts: Okay.
645 00:58:33.890 ⇒ 00:58:37.919 Pranav Narahari: I wasn’t sure if they… because they had some of that, that’s kind of why it came over, so I wasn’t sure.
646 00:58:38.950 ⇒ 00:58:47.210 Pranav Narahari: Okay, yeah, so… not super important. It also seems pretty straightforward, like, it doesn’t seem, like, super difficult.
647 00:58:47.210 ⇒ 00:58:53.630 Samuel Roberts: Yeah, the only thing I’m not sure about is, like, if they’re gonna have a prompt library in their app, and it’s tied to LangFuse.
648 00:58:53.950 ⇒ 00:58:57.879 Samuel Roberts: I’m sure the LineFuse API lets you do updates and stuff, but…
649 00:58:58.220 ⇒ 00:59:05.739 Samuel Roberts: Like, if that’s gonna be the source of truth, we need to make sure that it’s, like, updatable from the app, so that they’re not going into lank views and doing it, potentially, but…
650 00:59:06.300 ⇒ 00:59:07.570 Pranav Narahari: Yeah.
651 00:59:07.570 ⇒ 00:59:10.800 Samuel Roberts: If they care, I’m not sure if they… I’m not sure how much they know… you know, like…
652 00:59:11.790 ⇒ 00:59:12.989 Samuel Roberts: We’ll have to figure that out.
653 00:59:13.390 ⇒ 00:59:17.650 Pranav Narahari: Yeah, yeah, so they did say, like, we could just send it to you, and, like, you guys could do it, like…
654 00:59:17.650 ⇒ 00:59:19.819 Samuel Roberts: It’s not something that they necessarily, like…
655 00:59:19.820 ⇒ 00:59:20.340 Pranav Narahari: like, the…
656 00:59:20.340 ⇒ 00:59:23.719 Samuel Roberts: Oh, okay, that’s good then. That makes it easier.
657 00:59:23.960 ⇒ 00:59:24.960 Pranav Narahari: Yeah.
658 00:59:24.960 ⇒ 00:59:25.300 Samuel Roberts: Okay.
659 00:59:25.300 ⇒ 00:59:29.690 Pranav Narahari: Do you think length use is necessary, then?
660 00:59:31.700 ⇒ 00:59:37.249 Samuel Roberts: I mean, it depends exactly what they’re looking to do. I think… I think,
661 00:59:38.460 ⇒ 00:59:45.449 Samuel Roberts: It’s not strictly necessary if they just want a library of prompts that they can select through. That could easily be stored in the database.
662 00:59:45.450 ⇒ 00:59:45.900 Pranav Narahari: Yeah.
663 00:59:45.900 ⇒ 00:59:53.530 Samuel Roberts: I think in terms of, like, testing, if we want to do other things that way, it becomes a little more advantageous to have them in LangFuse, but…
664 00:59:53.810 ⇒ 00:59:59.670 Samuel Roberts: I haven’t used it before, so, like… Okay.
665 00:59:59.930 ⇒ 01:00:05.489 Pranav Narahari: If you feel like it’s worth it for just, like, that added benefit, like, let’s… let’s… let’s do it.
666 01:00:06.070 ⇒ 01:00:20.149 Samuel Roberts: Yeah, I mean, if they’re just looking for a prompt library, and they want to be able to update things, if they’re not looking to, like, fine-tune their prompts and tweak them a ton, and, like, test against standard data and things, I don’t know if they need it.
667 01:00:20.510 ⇒ 01:00:25.140 Samuel Roberts: At least to start. Like, we could easily give, like, have a prompt model,
668 01:00:26.090 ⇒ 01:00:34.730 Samuel Roberts: we could even have versioning if we really wanted to, and then without length use, but then testing is where it becomes a little different, but if they’re not looking for that, I don’t think it’s critical, but…
669 01:00:35.150 ⇒ 01:00:40.750 Pranav Narahari: Okay. Yeah, I assume that that’s actually probably what they do want, and so…
670 01:00:41.060 ⇒ 01:00:44.260 Pranav Narahari: Utam has been, like, kind of talking about, like, let’s use language, so…
671 01:00:44.260 ⇒ 01:00:52.040 Samuel Roberts: Yeah, I might need to talk with him a little bit more about why he thinks… because I think he’s thinking, like, for testing purposes, like, having everything there is good, but if they’re just looking to…
672 01:00:52.360 ⇒ 01:00:54.100 Samuel Roberts: Have a library of prompts.
673 01:00:54.530 ⇒ 01:00:56.200 Samuel Roberts: That’s not as critical.
674 01:00:56.200 ⇒ 01:01:00.289 Pranav Narahari: Okay, okay. So, you want to sync with him on that, then?
675 01:01:00.490 ⇒ 01:01:03.159 Samuel Roberts: Yeah, yeah, don’t worry about that for you right now.
676 01:01:03.990 ⇒ 01:01:08.899 Pranav Narahari: Cool. Okay, that brings us to everything, it looks like.
677 01:01:08.900 ⇒ 01:01:09.750 Samuel Roberts: Yeah.
678 01:01:10.100 ⇒ 01:01:13.779 Pranav Narahari: double check, like, the PRD that I’ve pulled everything in.
679 01:01:14.350 ⇒ 01:01:21.269 Pranav Narahari: But yeah, and so, with how we have things currently just, like, set up, right.
680 01:01:21.270 ⇒ 01:01:21.950 Samuel Roberts: Yeah.
681 01:01:21.950 ⇒ 01:01:25.409 Pranav Narahari: Not anything, is that everything should be done by.
682 01:01:25.410 ⇒ 01:01:25.950 Samuel Roberts: Friday.
683 01:01:25.950 ⇒ 01:01:27.170 Pranav Narahari: of next week.
684 01:01:27.170 ⇒ 01:01:29.639 Samuel Roberts: I’m also not…
685 01:01:29.700 ⇒ 01:01:33.149 Pranav Narahari: working… I wasn’t even planning on working this week.
686 01:01:33.150 ⇒ 01:01:36.509 Samuel Roberts: Yeah. That’s why I was like, yeah, yeah.
687 01:01:36.510 ⇒ 01:01:41.939 Pranav Narahari: Yeah, no, I… I was just planning on, like, getting on a sync meeting with Utom today.
688 01:01:41.940 ⇒ 01:01:44.920 Samuel Roberts: Sorry about that.
689 01:01:45.100 ⇒ 01:01:50.800 Pranav Narahari: No, no, no, you don’t need to apologize. But… yeah, basically, I am…
690 01:01:51.200 ⇒ 01:02:07.690 Pranav Narahari: I can do a little bit of work tomorrow, too, but after that, I won’t be able to. So basically Wednesday, Thursday, Friday, it’s kind of a wrap for me. Even Monday of next week, I will be traveling. So that gives us really, like, 4 days next week.
691 01:02:08.340 ⇒ 01:02:11.970 Samuel Roberts: Yeah. Okay, so we probably want to bump a few of those things, but a couple of them can be…
692 01:02:12.760 ⇒ 01:02:15.690 Samuel Roberts: bumped even further. Like, Mosra, I don’t think is important right now.
693 01:02:15.910 ⇒ 01:02:19.130 Pranav Narahari: Yeah, so, I was gonna ask you, like.
694 01:02:20.140 ⇒ 01:02:25.029 Pranav Narahari: what we should probably do for each of these is just, like, give it, like, an hour’s number, like… Yeah.
695 01:02:25.030 ⇒ 01:02:29.920 Samuel Roberts: So I was trying to… I was trying to think through… let’s… let’s talk that through a little bit, because I… I want to see… where am I? Okay.
696 01:02:30.210 ⇒ 01:02:30.600 Pranav Narahari: Yeah.
697 01:02:30.600 ⇒ 01:02:33.179 Samuel Roberts: So for client MVP, we’re pretty…
698 01:02:33.800 ⇒ 01:02:37.669 Samuel Roberts: I mean, what else needs to happen there? Switch between clients, branded scope data…
699 01:02:37.670 ⇒ 01:02:42.039 Pranav Narahari: I’m just gonna open up, like, a Google Sheet real quick, and then we can just, like, write these down.
700 01:02:42.280 ⇒ 01:02:42.980 Samuel Roberts: Thank you.
701 01:02:42.980 ⇒ 01:02:43.990 Pranav Narahari: Yeah. Yeah.
702 01:02:44.500 ⇒ 01:02:46.320 Samuel Roberts: Copy that over, I guess.
703 01:02:46.320 ⇒ 01:02:57.390 Pranav Narahari: Yeah, this is so different than, like, how I’ve… and now it makes sense, but I thought this stuff was, like, already kind of, like, done, and, like, Jan 9th was, like, you know, we decided on that.
704 01:02:57.390 ⇒ 01:03:09.520 Samuel Roberts: Yeah, no, I think this is… we got with these guys, like, not too long before you started, so it’s not like we’ve been… we had chats with them, and got some of the code, and I looked at it, and, like, we gave them a little bit of a quote, but it wasn’t like we had done a ton of…
705 01:03:10.320 ⇒ 01:03:10.840 Pranav Narahari: Yeah.
706 01:03:10.840 ⇒ 01:03:11.300 Samuel Roberts: Oh, yeah.
707 01:03:11.300 ⇒ 01:03:12.679 Pranav Narahari: Gotcha, gotcha.
708 01:03:12.890 ⇒ 01:03:16.099 Pranav Narahari: Okay, so I’ll format all this stuff later, but…
709 01:03:16.600 ⇒ 01:03:18.679 Pranav Narahari: Oh, you can’t see my screen, right?
710 01:03:18.680 ⇒ 01:03:24.380 Samuel Roberts: No, not yet. Yeah.
711 01:03:25.990 ⇒ 01:03:27.040 Pranav Narahari: Okay…
712 01:03:32.670 ⇒ 01:03:40.240 Pranav Narahari: Alright, let’s see what’s not completed yet. So, all these things that I have set as completed, like front-end migration, back-end migration to NEC.
713 01:03:41.860 ⇒ 01:03:45.349 Pranav Narahari: I’m just not going to actually…
714 01:03:46.180 ⇒ 01:03:49.120 Pranav Narahari: I’m just gonna remove that feature complete with previous version, like…
715 01:03:49.120 ⇒ 01:03:51.329 Samuel Roberts: I’m just seeing the spreadsheet, by the way.
716 01:03:52.350 ⇒ 01:03:54.400 Pranav Narahari: Yeah, oh yeah, sorry, I was just saying the Gantt chart again.
717 01:03:54.400 ⇒ 01:03:56.450 Samuel Roberts: Got it, okay, I didn’t know where you were clicking, yeah, okay, cool.
718 01:03:56.950 ⇒ 01:04:05.980 Pranav Narahari: Yeah, so the things that are not completed yet, are create… Client MVP…
719 01:04:05.980 ⇒ 01:04:06.860 Samuel Roberts: people, right?
720 01:04:06.860 ⇒ 01:04:10.810 Pranav Narahari: Admin, panel, MVP…
721 01:04:12.230 ⇒ 01:04:24.569 Pranav Narahari: Jack, Bobby… ordered… External MCP framework, not necessary.
722 01:04:24.570 ⇒ 01:04:25.540 Samuel Roberts: compared to that.
723 01:04:25.540 ⇒ 01:04:26.270 Pranav Narahari: Jane.
724 01:04:26.930 ⇒ 01:04:31.059 Samuel Roberts: the Slack messages, we want to look into at least getting the Slack set up, and then we can…
725 01:04:32.280 ⇒ 01:04:33.320 Samuel Roberts: Yeah, okay.
726 01:04:33.530 ⇒ 01:04:35.749 Samuel Roberts: Sorry, I’m just talking.
727 01:04:36.940 ⇒ 01:04:41.879 Pranav Narahari: Let’s see… everything else, and LangFuse. That’s what…
728 01:04:42.230 ⇒ 01:04:44.380 Samuel Roberts: Yeah, or prompts, at least, yeah.
729 01:04:47.770 ⇒ 01:04:49.809 Pranav Narahari: Slash prompt library.
730 01:04:49.960 ⇒ 01:04:50.570 Samuel Roberts: Yeah.
731 01:04:50.820 ⇒ 01:04:58.349 Pranav Narahari: Okay, cool. So this seems like everything we need for Phase 1. That is not completed yet.
732 01:04:58.720 ⇒ 01:05:04.370 Pranav Narahari: Okay, create… Client MVP.
733 01:05:04.850 ⇒ 01:05:06.190 Pranav Narahari: So, you’re…
734 01:05:06.190 ⇒ 01:05:08.559 Samuel Roberts: Yeah, we’re, we’re… go ahead, keep talking, sorry.
735 01:05:08.850 ⇒ 01:05:14.839 Pranav Narahari: No, you’re good, you’re good. Yeah, I’m just thinking out loud, like, for client MVP, what else needs to be completed? So…
736 01:05:14.840 ⇒ 01:05:17.350 Samuel Roberts: That’s what I’m trying to think, like, what is… what is not there?
737 01:05:18.260 ⇒ 01:05:24.260 Pranav Narahari: Yeah, scoping, removing… Or…
738 01:05:24.920 ⇒ 01:05:26.779 Pranav Narahari: I’m just not gonna say remove him, I’m just gonna say.
739 01:05:26.780 ⇒ 01:05:29.219 Samuel Roberts: The users gotta, we gotta fix the users.
740 01:05:29.500 ⇒ 01:05:38.129 Pranav Narahari: Yeah, global access for all users across… Brands and integrations…
741 01:05:39.950 ⇒ 01:05:41.370 Samuel Roberts: Yep, what else?
742 01:05:46.170 ⇒ 01:05:52.030 Samuel Roberts: I mean, do they need more things like logos, or do they want, like, how… I’m not sure what was the, like, what the old version had that was…
743 01:05:56.210 ⇒ 01:06:01.610 Pranav Narahari: Yeah, so I think that’s actually a good point, like, for this admin panel, let’s, like.
744 01:06:05.020 ⇒ 01:06:12.690 Pranav Narahari: those UI… Final… design.
745 01:06:12.690 ⇒ 01:06:13.270 Samuel Roberts: Yeah.
746 01:06:14.140 ⇒ 01:06:22.499 Pranav Narahari: I mean… Honestly, like, things like that, like…
747 01:06:22.810 ⇒ 01:06:26.879 Pranav Narahari: UI changes, I don’t even know if we even need to add that to an estimate, like, because…
748 01:06:26.880 ⇒ 01:06:27.909 Samuel Roberts: No, I mean, yeah.
749 01:06:27.910 ⇒ 01:06:35.859 Pranav Narahari: like, logo stuff, like, that’s, like, a two-second thing. Unless you think that there’s something, like, that’s… will take hours.
750 01:06:35.860 ⇒ 01:06:43.910 Samuel Roberts: I just… I’m not sure about their, like, like, for the brands that they’re doing, do they want to include more things about, like, what else are we storing on these brands?
751 01:06:43.910 ⇒ 01:06:47.830 Pranav Narahari: Yeah, actually, that’s a good question, because we did… we did discuss that.
752 01:06:47.830 ⇒ 01:06:48.309 Samuel Roberts: Fair enough.
753 01:06:48.310 ⇒ 01:06:52.780 Pranav Narahari: They aren’t super worried about that right now, because that’s not something that they had before.
754 01:06:52.780 ⇒ 01:06:54.270 Samuel Roberts: Perfect, alright, that’s good.
755 01:06:54.270 ⇒ 01:07:03.499 Pranav Narahari: Yeah, from a Create Brands, like, metadata perspective, like, they just wanted, like, the brand name, like, the URL, and then what we’re gonna add as well as, like, a description, like, box.
756 01:07:03.500 ⇒ 01:07:16.420 Samuel Roberts: Okay, that’s fine, perfect, yeah, that’s easy then. That’s pretty much it, but so yeah, then I think that covers mostly the create client MVP, like you said there, just the user issues, and then that metadata, the brief, you know, few metadata things.
757 01:07:16.770 ⇒ 01:07:17.410 Pranav Narahari: Yeah.
758 01:07:18.550 ⇒ 01:07:19.160 Samuel Roberts: Okay.
759 01:07:21.000 ⇒ 01:07:23.159 Samuel Roberts: That shouldn’t be crazy then, I think.
760 01:07:25.310 ⇒ 01:07:32.379 Pranav Narahari: Yep, this is simple. Admin Panel MVP… let’s see what else?
761 01:07:32.970 ⇒ 01:07:38.709 Pranav Narahari: So this is where I think there’s a little bit more stuff to do, because…
762 01:07:38.710 ⇒ 01:07:39.230 Samuel Roberts: Excuse me.
763 01:07:39.230 ⇒ 01:07:41.400 Pranav Narahari: They need to be able to… deletes.
764 01:07:41.400 ⇒ 01:07:42.440 Samuel Roberts: I got the book.
765 01:07:44.980 ⇒ 01:07:46.060 Pranav Narahari: accounts.
766 01:07:47.170 ⇒ 01:07:56.970 Samuel Roberts: Yeah, basically, like, user CRUD and access management, I would say. Oh, no, not even access management, because we’re just letting everyone do it for now, but the skeleton for access management.
767 01:07:58.700 ⇒ 01:07:59.879 Pranav Narahari: The what for access management?
768 01:07:59.880 ⇒ 01:08:01.979 Samuel Roberts: Like, the skeleton for access management.
769 01:08:01.980 ⇒ 01:08:02.380 Pranav Narahari: Yeah.
770 01:08:02.380 ⇒ 01:08:03.070 Samuel Roberts: like…
771 01:08:08.690 ⇒ 01:08:12.570 Pranav Narahari: Yeah, so, what in… like, what is,
772 01:08:13.860 ⇒ 01:08:20.079 Pranav Narahari: what goes into this? Like, do we need to create a completely new view where, like, they can see, like, all the users?
773 01:08:20.080 ⇒ 01:08:23.250 Samuel Roberts: I think, yeah, we’ll have to have, like, admins and stuff that can see that.
774 01:08:24.210 ⇒ 01:08:27.099 Pranav Narahari: Okay, so… We probably need to create some roles and things, too.
775 01:08:27.350 ⇒ 01:08:30.740 Pranav Narahari: So we’ll have to create roles that don’t necessarily…
776 01:08:31.149 ⇒ 01:08:35.490 Pranav Narahari: Affect the visibility of brands, but they just affect the visibility, or the…
777 01:08:35.970 ⇒ 01:08:42.799 Pranav Narahari: The permissions to basically… essentially just create and delete users, right?
778 01:08:42.800 ⇒ 01:08:53.989 Samuel Roberts: Yeah, I mean, creating users is probably not as big a deal, because right now everyone can just log in with Google. We probably need to add a little bit there to make sure it’s people with their email or whatever. I don’t know how they’re restricting it, but… Yeah.
779 01:08:54.189 ⇒ 01:08:57.039 Samuel Roberts: very emailing our emails, I guess, but.
780 01:08:57.040 ⇒ 01:08:58.970 Pranav Narahari: I just need a way to delete people.
781 01:08:58.970 ⇒ 01:09:03.349 Samuel Roberts: Basically, yeah, like, turn users off, at least soft delete, and then…
782 01:09:03.510 ⇒ 01:09:06.549 Samuel Roberts: maybe… I don’t know how much access management they want right now.
783 01:09:07.130 ⇒ 01:09:10.860 Samuel Roberts: of what they had. But they probably had a lot of it, because I think it was based on that other
784 01:09:11.240 ⇒ 01:09:15.619 Samuel Roberts: other… Repo that had a lot of stuff in it, so…
785 01:09:16.020 ⇒ 01:09:22.719 Pranav Narahari: Okay, so I would honestly… I’m gonna use… Primarily, the ability to…
786 01:09:23.490 ⇒ 01:09:28.200 Pranav Narahari: Turn users off, or soft delete.
787 01:09:28.200 ⇒ 01:09:28.640 Samuel Roberts: Yeah.
788 01:09:28.640 ⇒ 01:09:32.860 Pranav Narahari: This, I think we should… we need to get more information for, and…
789 01:09:34.029 ⇒ 01:09:40.479 Samuel Roberts: but we need to kind of, like, create an estimate now, so I would say, like, let’s just kind of err on, like, the more conservative side for, like… Definitely.
790 01:09:40.749 ⇒ 01:09:44.059 Pranav Narahari: Especially since it could entail, like, a lot more work.
791 01:09:44.270 ⇒ 01:09:44.640 Samuel Roberts: Yeah.
792 01:09:45.630 ⇒ 01:09:52.759 Pranav Narahari: Okay, but okay. Zach and Bobby onboarded. This essentially… This is, like…
793 01:09:52.970 ⇒ 01:09:56.820 Pranav Narahari: Onboarded into the application, like, we’re doing that, like, incrementally, right?
794 01:09:56.820 ⇒ 01:10:00.379 Samuel Roberts: Yeah, I don’t think that’s, like, a task that we have to assign hours to, necessarily. I think it’s, like…
795 01:10:01.060 ⇒ 01:10:04.109 Samuel Roberts: It’s kind of a milestone, I feel like, more than anything.
796 01:10:05.460 ⇒ 01:10:06.260 Pranav Narahari: What else?
797 01:10:07.200 ⇒ 01:10:11.039 Pranav Narahari: documentation… Yeah. So…
798 01:10:12.230 ⇒ 01:10:13.730 Samuel Roberts: Probably, like, a few hours to that, but.
799 01:10:13.730 ⇒ 01:10:14.439 Pranav Narahari: It’s just…
800 01:10:14.440 ⇒ 01:10:17.150 Samuel Roberts: Getting them… getting a functioning app that they can log into.
801 01:10:17.150 ⇒ 01:10:18.320 Pranav Narahari: 100%, yeah.
802 01:10:18.680 ⇒ 01:10:24.540 Pranav Narahari: Oh, one other thing here is, MCP…
803 01:10:24.540 ⇒ 01:10:25.619 Samuel Roberts: What thoughts are.
804 01:10:25.890 ⇒ 01:10:28.239 Pranav Narahari: additional MTP integration.
805 01:10:28.240 ⇒ 01:10:31.570 Samuel Roberts: Oh, yeah, yeah, so Shopify, Google, and Meta.
806 01:10:33.290 ⇒ 01:10:39.130 Pranav Narahari: Yeah, so, so, actually, that’s part of Create Client.
807 01:10:41.230 ⇒ 01:10:42.240 Samuel Roberts: Sure, yeah.
808 01:10:43.860 ⇒ 01:10:47.510 Pranav Narahari: Yeah, I think Create Client’s a little bit confusing, I’ll just call it client MVP.
809 01:10:47.510 ⇒ 01:10:51.090 Samuel Roberts: Yeah, yeah, I know what you mean. I had a… I was thrown off by that for a second, too.
810 01:10:51.090 ⇒ 01:10:54.310 Pranav Narahari: Yeah, because Korea Client’s like a button.
811 01:10:54.310 ⇒ 01:10:54.790 Samuel Roberts: Right.
812 01:10:55.090 ⇒ 01:11:02.149 Pranav Narahari: create client MVP itself, additional MCP server integration…
813 01:11:05.510 ⇒ 01:11:06.210 Pranav Narahari: Okay.
814 01:11:06.210 ⇒ 01:11:06.800 Samuel Roberts: Okay.
815 01:11:07.560 ⇒ 01:11:16.249 Pranav Narahari: Yep, so schedule Slack messaging, that’s pretty… self-explanatory.
816 01:11:16.250 ⇒ 01:11:21.149 Samuel Roberts: Yeah, we need, like, a Slack bot, and then we need, like, a schedule for running…
817 01:11:22.180 ⇒ 01:11:25.720 Samuel Roberts: Whatever prompts that send the message, pulls in everything.
818 01:11:26.010 ⇒ 01:11:27.080 Samuel Roberts: Testing that.
819 01:11:29.030 ⇒ 01:11:32.150 Pranav Narahari: See, there… .
820 01:11:34.120 ⇒ 01:11:36.140 Samuel Roberts: Okay.
821 01:11:37.100 ⇒ 01:11:38.090 Pranav Narahari: hot jobs.
822 01:11:38.090 ⇒ 01:11:38.680 Samuel Roberts: Yeah.
823 01:11:39.790 ⇒ 01:11:40.720 Samuel Roberts: Exactly.
824 01:11:41.610 ⇒ 01:11:44.709 Pranav Narahari: Okay, cool. And then length views implementation…
825 01:11:46.550 ⇒ 01:11:49.150 Samuel Roberts: There it is. Whoa, there it is!
826 01:11:52.570 ⇒ 01:11:58.379 Samuel Roberts: Yeah, I mean, I’m inclined to just keep it in the app if they’re just storing prompts.
827 01:11:58.920 ⇒ 01:11:59.640 Pranav Narahari: Yeah.
828 01:12:00.360 ⇒ 01:12:04.539 Samuel Roberts: So it’s really just adding a new model, and then, like, a code UI for that.
829 01:12:06.130 ⇒ 01:12:07.420 Pranav Narahari: For creating prompts.
830 01:12:07.710 ⇒ 01:12:09.650 Samuel Roberts: Yeah, creating and editing the prompts.
831 01:12:10.210 ⇒ 01:12:12.580 Pranav Narahari: So then that just bypasses LangFuse, you’re saying?
832 01:12:12.580 ⇒ 01:12:18.579 Samuel Roberts: Yeah, for now, if we need to move them into LangFuse, we can do that, but, like, I think it’s overkill for them right now.
833 01:12:19.060 ⇒ 01:12:19.850 Pranav Narahari: Okay.
834 01:12:21.380 ⇒ 01:12:22.410 Pranav Narahari: Yeah.
835 01:12:23.680 ⇒ 01:12:25.480 Pranav Narahari: prompt library…
836 01:12:25.680 ⇒ 01:12:36.089 Samuel Roberts: like, if we need to make use of LangFuse for, like, other things that we’re using, that we’re doing for them, like, especially with the forecast and stuff or whatever, like, we can figure that out, but for them, I think it’s probably just a credit interface on there.
837 01:12:36.830 ⇒ 01:12:37.500 Samuel Roberts: Perfect.
838 01:12:39.340 ⇒ 01:12:42.270 Samuel Roberts: You know, my laptop’s gonna die soon. I gotta go charger.
839 01:12:42.910 ⇒ 01:12:43.840 Pranav Narahari: Oh, yeah, yeah.
840 01:12:47.490 ⇒ 01:12:52.060 Samuel Roberts: Excuse me. Excuse me. Sorry, I’m getting over a cold.
841 01:12:55.220 ⇒ 01:12:56.130 Pranav Narahari: Okay.
842 01:13:00.470 ⇒ 01:13:01.050 Samuel Roberts: Good.
843 01:13:01.860 ⇒ 01:13:02.739 Samuel Roberts: We did it.
844 01:13:09.680 ⇒ 01:13:11.110 Samuel Roberts: Ugh, beamer.
845 01:13:11.230 ⇒ 01:13:12.410 Samuel Roberts: Thanks again, Mark.
846 01:13:13.890 ⇒ 01:13:15.969 Samuel Roberts: And, of course, my charge doesn’t work.
847 01:13:16.990 ⇒ 01:13:17.700 Samuel Roberts: Oops.
848 01:13:20.310 ⇒ 01:13:21.020 Samuel Roberts: Perfect.
849 01:13:21.740 ⇒ 01:13:24.570 Samuel Roberts: Yeah, right off the top of my face, no, no, no.
850 01:13:24.750 ⇒ 01:13:25.550 Samuel Roberts: Nope.
851 01:13:33.290 ⇒ 01:13:39.999 Samuel Roberts: Oh, no. Okay, my laptop might just die, I’m sorry. My charger’s not talking right to the plug.
852 01:13:41.580 ⇒ 01:13:42.840 Samuel Roberts: We need a new charger.
853 01:13:46.390 ⇒ 01:13:47.200 Pranav Narahari: MacBook?
854 01:13:47.200 ⇒ 01:13:56.949 Samuel Roberts: Yeah, it’s just my… it’s a little complicated, but I was working in London at the time, so it’s a UK charger, and I bought the, like, adapter for the US, but it’s not a very good one.
855 01:13:57.350 ⇒ 01:13:59.479 Pranav Narahari: Okay, okay, gotcha.
856 01:13:59.480 ⇒ 01:14:02.700 Samuel Roberts: So, of course, it’s finicky when I plug it in.
857 01:14:02.940 ⇒ 01:14:03.770 Pranav Narahari: Yeah.
858 01:14:04.090 ⇒ 01:14:05.939 Samuel Roberts: Here we go, okay, I got it, we’re good.
859 01:14:05.940 ⇒ 01:14:07.180 Pranav Narahari: Oh, beautiful.
860 01:14:07.180 ⇒ 01:14:08.179 Samuel Roberts: Okay, so yeah.
861 01:14:09.850 ⇒ 01:14:16.490 Pranav Narahari: So, yeah, this client MVP thing, too, I think may also take more time than we initially thought, just because…
862 01:14:16.490 ⇒ 01:14:17.340 Samuel Roberts: CMCDs.
863 01:14:17.340 ⇒ 01:14:19.549 Pranav Narahari: MCP servers integration, right?
864 01:14:21.170 ⇒ 01:14:21.730 Samuel Roberts: Yeah.
865 01:14:22.040 ⇒ 01:14:24.010 Pranav Narahari: Yeah.
866 01:14:24.320 ⇒ 01:14:24.940 Samuel Roberts: Yeah.
867 01:14:26.000 ⇒ 01:14:29.470 Pranav Narahari: Yeah, for me, I just feel like next Friday is just so aggressive.
868 01:14:30.670 ⇒ 01:14:33.789 Samuel Roberts: I think it is, yeah, I probably want to bump it another week, but I don’t know exactly.
869 01:14:35.130 ⇒ 01:14:40.770 Pranav Narahari: Yeah, like, I mean, okay, so I think maybe we don’t even think about deadline, we just think about hours, right?
870 01:14:40.770 ⇒ 01:14:43.330 Samuel Roberts: Yeah, yeah, so what are you thinking for all this?
871 01:14:45.870 ⇒ 01:14:49.310 Pranav Narahari: Like, a day per MCP server, does that make sense?
872 01:14:49.310 ⇒ 01:14:53.739 Samuel Roberts: Yeah, I would say at least, like, an 8-hour day for that, to make sure they’re all running as well.
873 01:14:53.740 ⇒ 01:15:00.290 Pranav Narahari: So there’s 3 for that. That’s… or… that’s… that’s the, what, 24 hours for that?
874 01:15:00.290 ⇒ 01:15:07.430 Samuel Roberts: Oh, no, I meant 8, like, total, because I think, like, once we get them working… oh, that’s not… hold on. There’s a caveat here.
875 01:15:07.980 ⇒ 01:15:14.499 Samuel Roberts: I wouldn’t say 8 hours per server, I would say, depending on how… we have to look at what they have running and see if it’s still good.
876 01:15:15.180 ⇒ 01:15:20.700 Samuel Roberts: Because, like, the Klaviyo wasn’t crazy to get running, and most of that stuff is now, like, storing the keys and everything was part of that.
877 01:15:20.920 ⇒ 01:15:21.930 Pranav Narahari: Yeah.
878 01:15:21.930 ⇒ 01:15:24.900 Samuel Roberts: But I think it’s probably, like, a day to get those MCPs running.
879 01:15:24.900 ⇒ 01:15:33.120 Pranav Narahari: Okay, so yeah, I think at this point, we can’t, like, do more research to figure out, like, the number of hours. Yeah. I think we kind of just need to, like.
880 01:15:33.270 ⇒ 01:15:37.210 Pranav Narahari: No, I agree. I’m saying, like, call 8 hours for the MCPs. Perfect, yeah, I love that.
881 01:15:37.540 ⇒ 01:15:40.370 Pranav Narahari: The rest of the stuff is probably…
882 01:15:40.890 ⇒ 01:15:44.650 Samuel Roberts: Not much, yeah, maybe call it… maybe 8 hours for saving the metadata?
883 01:15:45.130 ⇒ 01:15:51.970 Pranav Narahari: I’m just wondering, like, if we should… how we should think about this as, like… I always think, like, set, like, a conservative, like, estimate.
884 01:15:51.970 ⇒ 01:15:56.380 Samuel Roberts: No, you’re right, you’re right. I would think, like, half a day for that, so call it, like, 12 hours, maybe.
885 01:15:57.210 ⇒ 01:15:58.040 Pranav Narahari: Okay.
886 01:15:58.040 ⇒ 01:16:03.649 Samuel Roberts: Does that seem right? I mean, I’m… again, here’s the thing. I’m used to working on, like, my own, like…
887 01:16:03.770 ⇒ 01:16:08.280 Samuel Roberts: I come from, like, a startup background, I’m, like, cranking through things, like…
888 01:16:08.420 ⇒ 01:16:13.020 Samuel Roberts: if I’m pushing too hard, tell me that, but I would say, like.
889 01:16:13.020 ⇒ 01:16:17.170 Pranav Narahari: I agree with you, like, I think it will take that much time.
890 01:16:17.880 ⇒ 01:16:18.649 Samuel Roberts: Yeah, you wanna, you wanna…
891 01:16:18.650 ⇒ 01:16:20.740 Pranav Narahari: Like, over-promising, you know?
892 01:16:20.740 ⇒ 01:16:23.909 Samuel Roberts: Alright, so call it two days of that, then, for the MCPs and everything.
893 01:16:23.910 ⇒ 01:16:28.200 Pranav Narahari: Yeah, and maybe what we do is, like, we just do, like.
894 01:16:28.360 ⇒ 01:16:32.000 Pranav Narahari: We just write 12 to 16 hours, you know, like, let’s give a range.
895 01:16:32.000 ⇒ 01:16:32.780 Samuel Roberts: Sure.
896 01:16:32.780 ⇒ 01:16:33.480 Pranav Narahari: Yeah.
897 01:16:34.920 ⇒ 01:16:35.550 Pranav Narahari: Because of my…
898 01:16:35.550 ⇒ 01:16:35.870 Samuel Roberts: Yeah.
899 01:16:36.380 ⇒ 01:16:39.900 Samuel Roberts: It’s a decent range, yeah, and it could change, but you’re right, yeah.
900 01:16:39.900 ⇒ 01:16:47.099 Pranav Narahari: Because there’s also a lot of just, like, with these MCP servers, like, Klaviyo is, like, straightforward, like, what if we just had to build it from scratch?
901 01:16:48.780 ⇒ 01:16:53.570 Samuel Roberts: Yeah, I mean, they have the other ones there, so I’m hoping we don’t have to, but you’re right, that would change things dramatically.
902 01:16:53.820 ⇒ 01:16:57.430 Pranav Narahari: Yeah, like, I don’t think we’re at a point where we can, like.
903 01:16:57.820 ⇒ 01:17:05.049 Pranav Narahari: say, like, if we, if we, like… at least this is how I’ve always viewed estimates, is like, okay, you have to just kind of do it based on the information you have, like, right now.
904 01:17:05.050 ⇒ 01:17:05.510 Samuel Roberts: Yeah.
905 01:17:05.510 ⇒ 01:17:15.810 Pranav Narahari: And so, the information we have right now with MTP servers, like, we just don’t know, like, what is their state, and we’ll only get to know that once we start working on the actual…
906 01:17:15.810 ⇒ 01:17:17.699 Samuel Roberts: Right. Like, implementation of them.
907 01:17:17.700 ⇒ 01:17:20.400 Pranav Narahari: And so… Yeah, like…
908 01:17:20.400 ⇒ 01:17:32.979 Samuel Roberts: The only thing I would add to that is that the Klaviyo one was in the old repos and worked pretty well. It was just integrating it, so hopefully we don’t have to build… and the other one, there’s a Shopify ads, a Google Ads, and a Meta Ads one.
909 01:17:33.200 ⇒ 01:17:34.020 Pranav Narahari: Yeah.
910 01:17:34.020 ⇒ 01:17:38.869 Samuel Roberts: So there’s probably some configuration stuff with the, like, Google Apps and Shop Meta apps and stuff, but…
911 01:17:39.610 ⇒ 01:17:42.290 Samuel Roberts: We’ll have to figure that out. So yeah, that’s probably an okay estimate.
912 01:17:42.590 ⇒ 01:17:43.190 Pranav Narahari: Okay.
913 01:17:44.740 ⇒ 01:17:52.070 Samuel Roberts: admin panel, user CRUD… Soft delete users, eventual access management stuff, right?
914 01:17:58.530 ⇒ 01:18:04.539 Samuel Roberts: I mean, that’s probably another… Jay, if we need to worry about the access stuff, right?
915 01:18:04.820 ⇒ 01:18:05.650 Pranav Narahari: Yeah.
916 01:18:06.470 ⇒ 01:18:08.809 Samuel Roberts: Like, solid day.
917 01:18:09.980 ⇒ 01:18:12.140 Pranav Narahari: Okay, let’s put 8 to 12 hours.
918 01:18:12.140 ⇒ 01:18:12.750 Samuel Roberts: Fine.
919 01:18:13.230 ⇒ 01:18:16.209 Samuel Roberts: Yeah, I mean, the CRUD stuff shouldn’t be crazy,
920 01:18:16.690 ⇒ 01:18:19.799 Samuel Roberts: And to be honest, we only really need CRUD, we just need, like…
921 01:18:20.990 ⇒ 01:18:27.609 Samuel Roberts: a little bit of management, because, like, people won’t… we’re not… unless they’re expecting us to, like, have, like, invite… email invites and stuff, I don’t…
922 01:18:28.620 ⇒ 01:18:32.589 Pranav Narahari: Yeah, that’s the thing, like, it almost doesn’t seem like…
923 01:18:33.330 ⇒ 01:18:41.060 Pranav Narahari: it doesn’t seem like a full-fledged-out feature if we’re just, like, you know, ability to delete, so I wonder if they do want, like, those email invites and that type of stuff.
924 01:18:41.060 ⇒ 01:18:48.899 Samuel Roberts: Yeah, we’ll have to… yeah, but let’s just… let’s assume it’s just basic CRUD for now, because I think people logging in with their Gmail account, or their, you know, Google account is fine.
925 01:18:49.320 ⇒ 01:18:51.740 Samuel Roberts: I hate to lock that down a little bit. Okay.
926 01:18:51.740 ⇒ 01:18:52.380 Pranav Narahari: Yup.
927 01:18:52.650 ⇒ 01:18:57.229 Samuel Roberts: Slack bot, report design, prompt engineering, this one’s probably pretty big.
928 01:18:57.230 ⇒ 01:19:02.330 Pranav Narahari: Oh, actually, one part of Admin Panel 2 that we need to add is, like…
929 01:19:02.660 ⇒ 01:19:06.280 Pranav Narahari: Keys being scoped to brands.
930 01:19:06.500 ⇒ 01:19:07.570 Samuel Roberts: That’s done.
931 01:19:08.440 ⇒ 01:19:09.330 Pranav Narahari: Okay, that’s alright.
932 01:19:09.330 ⇒ 01:19:12.910 Samuel Roberts: That’s what I’m saying. That’s like, when you go to that Klaviyo and you put it in, that’s to that brand.
933 01:19:13.280 ⇒ 01:19:14.720 Pranav Narahari: Oh, okay, perfect.
934 01:19:15.460 ⇒ 01:19:19.939 Samuel Roberts: That’s what I’m saying, like, Cavio was a little bit heavier, but I think the rest would be easier now that we have that stored that way.
935 01:19:19.940 ⇒ 01:19:21.620 Pranav Narahari: Okay, awesome, awesome.
936 01:19:23.540 ⇒ 01:19:28.240 Pranav Narahari: Alrighty, this, I’ll just say, like…
937 01:19:29.010 ⇒ 01:19:29.560 Samuel Roberts: 1st?
938 01:19:29.560 ⇒ 01:19:30.689 Pranav Narahari: 2 to 4 hours.
939 01:19:30.690 ⇒ 01:19:32.190 Samuel Roberts: Yeah, that’s fine, yeah.
940 01:19:32.190 ⇒ 01:19:34.570 Pranav Narahari: Whatever the… like, I just feel like that’s a good minimum.
941 01:19:34.570 ⇒ 01:19:35.390 Samuel Roberts: Yeah.
942 01:19:37.410 ⇒ 01:19:39.850 Samuel Roberts: Yeah, I don’t know, I mean, have you done stuff with Slack before?
943 01:19:41.210 ⇒ 01:19:49.469 Pranav Narahari: Not just, like, I’ve used, like, no-code tools for, like…
944 01:19:49.470 ⇒ 01:19:49.940 Samuel Roberts: Okay.
945 01:19:49.940 ⇒ 01:19:51.050 Pranav Narahari: Slack integration.
946 01:19:51.050 ⇒ 01:19:58.609 Samuel Roberts: Yeah, we have some Slack things set up with the platform, like the Forge, so I have some familiarity with it. Okay. It’s not crazy…
947 01:19:58.870 ⇒ 01:20:04.690 Samuel Roberts: But it is a bit of work to get the Slack bot set up and everything, and, like, testing it and everything, so…
948 01:20:05.040 ⇒ 01:20:06.319 Pranav Narahari: You think I should love this?
949 01:20:07.270 ⇒ 01:20:09.939 Pranav Narahari: Oh, sorry, for the Slack bot, okay, okay, yeah, yeah.
950 01:20:10.340 ⇒ 01:20:13.730 Pranav Narahari: Yeah, what do you think is a good estimate, then, for this?
951 01:20:14.840 ⇒ 01:20:18.180 Samuel Roberts: I mean, it’s probably a good…
952 01:20:18.930 ⇒ 01:20:22.650 Samuel Roberts: Like, 2 days of work, at least, right?
953 01:20:24.100 ⇒ 01:20:27.540 Pranav Narahari: Yeah, especially since we need to be…
954 01:20:27.760 ⇒ 01:20:33.020 Pranav Narahari: It’s kind of like an end-to-end process of, like, okay, we need to make sure we’re pulling data first, like, that’s one.
955 01:20:33.020 ⇒ 01:20:36.309 Samuel Roberts: Yeah, like, we can break it down further, but I would say at least…
956 01:20:36.420 ⇒ 01:20:38.829 Samuel Roberts: Like, 16 to 20 hours for that.
957 01:20:40.210 ⇒ 01:20:42.629 Pranav Narahari: Yeah. Does that seem reasonable to you?
958 01:20:43.070 ⇒ 01:20:46.499 Pranav Narahari: Yeah, that makes sense to me. I’m just gonna put 2 to 3 days.
959 01:20:46.500 ⇒ 01:20:47.820 Samuel Roberts: That’s fine, even better, yeah.
960 01:20:47.970 ⇒ 01:20:48.620 Pranav Narahari: Yeah.
961 01:20:50.680 ⇒ 01:20:53.360 Samuel Roberts: This probably isn’t crazy.
962 01:20:55.870 ⇒ 01:21:02.690 Pranav Narahari: Yeah, I think maybe for this one, I’m just gonna put a large, like, a bigger range. Like, honestly, I could put, like, 4 hours to, like…
963 01:21:03.030 ⇒ 01:21:06.629 Pranav Narahari: But if it… if it requires, like, length views, like, implementation.
964 01:21:06.630 ⇒ 01:21:07.560 Samuel Roberts: Yeah.
965 01:21:07.560 ⇒ 01:21:10.059 Pranav Narahari: takes longer, so I’m just gonna put, like, 4 hours to, like…
966 01:21:10.610 ⇒ 01:21:16.709 Pranav Narahari: Does it even make sense to, like, for… because I’ve never used LangFuse, like, so you can let me know about 4 hours to 16 hours, like, if we need.
967 01:21:16.710 ⇒ 01:21:19.530 Samuel Roberts: Yeah, I was gonna say, like, 4 to 12, so that’s probably not bad.
968 01:21:20.000 ⇒ 01:21:20.840 Pranav Narahari: Okay, cool.
969 01:21:20.840 ⇒ 01:21:26.779 Samuel Roberts: Just because, like, I think… I think the way I’m picturing it, it’s simple, but if they have other requirements as we start going, it’s… yeah.
970 01:21:28.580 ⇒ 01:21:29.490 Pranav Narahari: Okay.
971 01:21:30.060 ⇒ 01:21:31.450 Samuel Roberts: You’re welcome.
972 01:21:31.450 ⇒ 01:21:33.899 Pranav Narahari: Alright. Oh, shit, I can’t even do proper…
973 01:21:33.900 ⇒ 01:21:36.710 Samuel Roberts: I know, I know, I know, he didn’t think that’s right ahead.
974 01:21:36.990 ⇒ 01:21:39.780 Pranav Narahari: Alrighty.
975 01:21:41.900 ⇒ 01:21:42.840 Samuel Roberts: Sure.
976 01:21:47.450 ⇒ 01:21:48.160 Pranav Narahari: Yeah.
977 01:21:51.330 ⇒ 01:21:55.190 Samuel Roberts: In one, Homer got a whole beautiful helmet just for his eternal soul.
978 01:21:56.030 ⇒ 01:21:57.619 Pranav Narahari: Do you guys usually do estimating like this?
979 01:21:58.910 ⇒ 01:22:05.980 Samuel Roberts: Yeah, I mean, I have… so we haven’t done, like… I mean, my estimates have been very, like, me just back of the enveloping things.
980 01:22:06.200 ⇒ 01:22:10.670 Samuel Roberts: So this is… this is a good… that we’re doing it together, too, because I…
981 01:22:10.960 ⇒ 01:22:16.319 Samuel Roberts: sometimes I’m just like, yeah, I think this is what I think, and not everyone is, you know, got the same thoughts, so…
982 01:22:16.850 ⇒ 01:22:17.680 Samuel Roberts: Oh.
983 01:22:17.680 ⇒ 01:22:21.949 Pranav Narahari: Yeah, like, so the first time I did it, I always just kind of, like, underestimated, and then…
984 01:22:21.950 ⇒ 01:22:23.290 Samuel Roberts: That’s the issue, yeah.
985 01:22:23.500 ⇒ 01:22:26.339 Pranav Narahari: Yeah, and the rea- I just realized, like…
986 01:22:26.720 ⇒ 01:22:42.770 Pranav Narahari: sometimes, like, you want to be able to accommodate, like, what a client, like, wants to change, like, in the future. Yeah. I’m getting the feeling, like, they’re… they’re very much so, like, go, go, go, and they bring up, like, a lot of stuff, like, in a meeting as well, to, like, add.
987 01:22:42.770 ⇒ 01:22:43.400 Samuel Roberts: Really?
988 01:22:43.400 ⇒ 01:22:51.349 Pranav Narahari: And so, you’re gonna have to say no a lot, but it’s also, like, certain things, they might be like, okay, this is super important, and you need to be able to add it in, and like…
989 01:22:52.160 ⇒ 01:22:55.369 Pranav Narahari: just based on how things went today, too, right?
990 01:22:55.370 ⇒ 01:22:56.190 Samuel Roberts: Yeah, yeah.
991 01:22:56.190 ⇒ 01:22:59.320 Pranav Narahari: They aren’t going to be like, oh yeah, take your time, like…
992 01:22:59.320 ⇒ 01:23:00.110 Samuel Roberts: Right, right.
993 01:23:00.120 ⇒ 01:23:09.379 Pranav Narahari: We want you to make sure you’re on schedule. So, like, I just don’t want to, like, set expectations for, like, a certain date, when it’s, like, for us to get there, like, almost everything needs to go right.
994 01:23:09.380 ⇒ 01:23:10.659 Samuel Roberts: Right, right, no, I hear you.
995 01:23:10.660 ⇒ 01:23:12.590 Pranav Narahari: It always goes wrong, you know what I mean?
996 01:23:12.590 ⇒ 01:23:22.489 Samuel Roberts: Yeah, I always try to go higher. So this is, like, 42 is, like, 5 over… a little over 5 days, and then 68 is…
997 01:23:22.900 ⇒ 01:23:31.999 Pranav Narahari: Yeah, one and a half weeks, if at 40 hours a week. Yeah. And we also need to take into consideration, like, we’ll be having meetings and stuff, too.
998 01:23:32.000 ⇒ 01:23:39.609 Samuel Roberts: Oh, that’s why I wanted… that’s why I was thinking, like, solid days of work is, like, 8 hours, but that’s obviously not… you’re not gonna get 8 hours of work on this client in every day.
999 01:23:39.610 ⇒ 01:23:40.600 Pranav Narahari: Yeah…
1000 01:23:40.770 ⇒ 01:23:43.039 Samuel Roberts: Primal, like, 6, if anything.
1001 01:23:43.440 ⇒ 01:23:43.880 Pranav Narahari: Yeah.
1002 01:23:43.880 ⇒ 01:23:45.860 Samuel Roberts: I’m talking, like, 12 days of work.
1003 01:23:46.220 ⇒ 01:23:52.409 Pranav Narahari: So, what this looks like in terms of, like… because I’m only working 20 hours a week as of right now, right?
1004 01:23:52.410 ⇒ 01:23:53.210 Samuel Roberts: Okay.
1005 01:23:53.210 ⇒ 01:23:58.999 Pranav Narahari: And so, I don’t know what your allocation to this project is, like…
1006 01:23:59.420 ⇒ 01:24:05.530 Samuel Roberts: Yeah, I mean, this is… I basically am on this and ABC at this point, for the most part.
1007 01:24:08.000 ⇒ 01:24:10.439 Pranav Narahari: But you work, like, 40 hours a week at Brainforge?
1008 01:24:10.760 ⇒ 01:24:14.219 Samuel Roberts: Yeah, near that. I mean, it’s still in a little influx, but yeah.
1009 01:24:14.220 ⇒ 01:24:14.990 Pranav Narahari: Yeah.
1010 01:24:14.990 ⇒ 01:24:16.189 Samuel Roberts: No, not yet.
1011 01:24:16.190 ⇒ 01:24:17.670 Pranav Narahari: It’s not exact, yeah, and I think.
1012 01:24:17.670 ⇒ 01:24:19.020 Samuel Roberts: Yeah, it, you know, yeah.
1013 01:24:19.940 ⇒ 01:24:28.640 Pranav Narahari: Utam also mentioned, like, how they have, I think, completed, like, kind of allocations to, like, tell everybody for the month of January.
1014 01:24:28.640 ⇒ 01:24:29.530 Samuel Roberts: Okay, good.
1015 01:24:29.530 ⇒ 01:24:30.440 Pranav Narahari: So…
1016 01:24:30.640 ⇒ 01:24:31.529 Samuel Roberts: We’ll find out.
1017 01:24:31.530 ⇒ 01:24:34.790 Pranav Narahari: Probably not for Lilo yet, because… Yeah, yeah.
1018 01:24:35.160 ⇒ 01:24:37.749 Samuel Roberts: Writing hours up right now. Right.
1019 01:24:38.050 ⇒ 01:24:52.119 Pranav Narahari: So what, essentially, is going to happen is, like, Utam’s gonna take this estimate, and then he’s going to, like, be like, okay, this is, like, go to Bobby, and then say, like, okay, this is kind of what our team is, like.
1020 01:24:52.290 ⇒ 01:24:56.380 Pranav Narahari: kind of, like, broke down, like, everything as.
1021 01:24:56.380 ⇒ 01:24:57.090 Samuel Roberts: Very fired.
1022 01:24:57.490 ⇒ 01:25:01.389 Pranav Narahari: when do you want to get things done? And he’s just gonna ask Bobby that, and then if he’s like, oh, we want.
1023 01:25:01.390 ⇒ 01:25:01.990 Samuel Roberts: Fine.
1024 01:25:01.990 ⇒ 01:25:06.529 Pranav Narahari: done, like, in two weeks, then it’s like, okay, well, we’re gonna meet up the budget for the month. Right.
1025 01:25:06.530 ⇒ 01:25:08.960 Samuel Roberts: Right, right. No, it makes sense. I think that’s fine.
1026 01:25:09.810 ⇒ 01:25:14.219 Pranav Narahari: Yeah, I do feel like this is a little bit aggressive, as of a timeline.
1027 01:25:14.220 ⇒ 01:25:15.149 Samuel Roberts: He ends up?
1028 01:25:15.410 ⇒ 01:25:19.470 Pranav Narahari: Yeah, just, like, one week getting all of this stuff done.
1029 01:25:20.860 ⇒ 01:25:23.849 Samuel Roberts: It’s not one week, though, that’s what I’m saying, like, it’s…
1030 01:25:23.850 ⇒ 01:25:31.840 Pranav Narahari: It’s not one week, but it’s, like, one week of work. Like, let’s say if, like, we were to work, like, one person, honestly, it’s not even just me and you, it’s just, like, one person.
1031 01:25:31.840 ⇒ 01:25:32.710 Samuel Roberts: Yeah, you’re right.
1032 01:25:32.780 ⇒ 01:25:38.340 Pranav Narahari: get this done, like, that’s from Monday to Friday, like, Friday, it’s just, like, App is completed.
1033 01:25:38.500 ⇒ 01:25:42.330 Pranav Narahari: And, like, when you think about it from that way, like, you realize, like, okay.
1034 01:25:42.570 ⇒ 01:25:45.910 Pranav Narahari: When you deploy an application, like, there’s gonna be issues when.
1035 01:25:45.910 ⇒ 01:25:46.920 Samuel Roberts: Of course, of course.
1036 01:25:46.920 ⇒ 01:25:50.819 Pranav Narahari: You talk to them, like, there’s gonna be, like, small things that they’re gonna wanna tweak.
1037 01:25:50.820 ⇒ 01:25:51.630 Samuel Roberts: Yeah.
1038 01:25:53.110 ⇒ 01:25:57.990 Pranav Narahari: But I also don’t know how you guys, like, function at Brain Forge as much, like, maybe, like…
1039 01:25:58.430 ⇒ 01:25:59.539 Samuel Roberts: I ate for 2 minutes.
1040 01:25:59.540 ⇒ 01:26:05.879 Pranav Narahari: maybe that’s okay, like, I’ve never scoped a project, or even a phase of a project, to be, like, this, like.
1041 01:26:05.880 ⇒ 01:26:06.590 Samuel Roberts: Okay.
1042 01:26:06.590 ⇒ 01:26:07.570 Pranav Narahari: aggressive.
1043 01:26:07.570 ⇒ 01:26:08.390 Samuel Roberts: Yeah.
1044 01:26:09.200 ⇒ 01:26:09.880 Pranav Narahari: But…
1045 01:26:10.210 ⇒ 01:26:14.880 Samuel Roberts: Yeah, no, like I said, I’m coming from a background where, like, it was pretty aggressive timing, so, like, this seems…
1046 01:26:14.880 ⇒ 01:26:23.940 Pranav Narahari: Yeah, like, and kind of, like, for a product team, right? Like, not for, like, like, or was it for, like, a consulting agency?
1047 01:26:23.940 ⇒ 01:26:26.640 Samuel Roberts: No, I was doing more, like, building products, it wasn’t.
1048 01:26:26.640 ⇒ 01:26:29.339 Pranav Narahari: That’s always aggressive.
1049 01:26:29.340 ⇒ 01:26:32.569 Samuel Roberts: For me, like, I’m coming from a very different mindset here, so I’m trying to, like…
1050 01:26:33.010 ⇒ 01:26:39.720 Pranav Narahari: Yeah. It’s like a mindset where it’s like, Obviously, like, Well, you kind of…
1051 01:26:41.410 ⇒ 01:26:52.690 Pranav Narahari: like, you’re not working, honestly, like, as a team as much, right? We’re almost, like, they… like, we just saw them with, or, like, the client, right? I’m not, like, we obviously work as a team, I’m saying the client, like…
1052 01:26:53.320 ⇒ 01:26:56.810 Pranav Narahari: They… just dropped another software team.
1053 01:26:57.710 ⇒ 01:26:58.500 Pranav Narahari: You know what I mean?
1054 01:26:58.500 ⇒ 01:26:59.130 Samuel Roberts: Right, right, right.
1055 01:26:59.410 ⇒ 01:27:06.339 Pranav Narahari: they dropped them because, like, they weren’t hitting deadlines, and they weren’t, like, completing things properly.
1056 01:27:06.570 ⇒ 01:27:12.330 Pranav Narahari: But at the same time, like, the reason why, like, they outsource things is, like, so they don’t need to be as hands-on.
1057 01:27:13.010 ⇒ 01:27:17.090 Pranav Narahari: And so, like, the… they’re just gonna be like, oh, are things getting done? They’re not? Okay, well…
1058 01:27:18.330 ⇒ 01:27:20.030 Pranav Narahari: Sorry, Brain Forge, let’s go with the next place.
1059 01:27:20.030 ⇒ 01:27:24.489 Samuel Roberts: Right, right, which I can only do so many times before they realize it’s.
1060 01:27:24.490 ⇒ 01:27:31.740 Pranav Narahari: Yeah, but with, like, a product team, like, internally, like, you put, like, the most, like, aggressive timeline, and then, like, you’re syncing up with them every single day, like.
1061 01:27:31.740 ⇒ 01:27:32.660 Samuel Roberts: Right, right.
1062 01:27:32.660 ⇒ 01:27:35.540 Pranav Narahari: All the time, so, like, the deadlines actually do extend.
1063 01:27:35.730 ⇒ 01:27:36.830 Samuel Roberts: Yeah, no, I hear you.
1064 01:27:37.060 ⇒ 01:27:37.760 Pranav Narahari: Yeah.
1065 01:27:37.760 ⇒ 01:27:49.059 Samuel Roberts: And I think that’s part of it, is, like, we have to try to operate in such a way that we’re communicating with them on, like, a daily basis, and, like, checking in on a weekly basis, and so, like, they see things happening, but know that things are… when things are gonna have to move.
1066 01:27:49.490 ⇒ 01:27:50.370 Pranav Narahari: Yeah.
1067 01:27:51.570 ⇒ 01:27:52.220 Samuel Roberts: Okay.
1068 01:27:53.910 ⇒ 01:28:00.350 Pranav Narahari: I… Feel like… I don’t know, like a s…
1069 01:28:01.580 ⇒ 01:28:04.979 Pranav Narahari: Let me, let me see, like, where I think things could be, like…
1070 01:28:06.480 ⇒ 01:28:08.200 Pranav Narahari: Things are a little bit too small.
1071 01:28:08.520 ⇒ 01:28:11.319 Samuel Roberts: That’s fine, yeah, I mean, I would say I gotta kind of run soon.
1072 01:28:11.320 ⇒ 01:28:12.849 Pranav Narahari: You gotta jump? Okay.
1073 01:28:12.850 ⇒ 01:28:19.120 Samuel Roberts: But I would say, yeah, if you need to, like, add a safety factor to, like, especially the lower range.
1074 01:28:19.120 ⇒ 01:28:19.850 Pranav Narahari: Yeah.
1075 01:28:19.850 ⇒ 01:28:21.609 Samuel Roberts: Go ahead,
1076 01:28:22.760 ⇒ 01:28:26.759 Samuel Roberts: You know, there’s always, always a reason to add a couple more hours, if not, you know…
1077 01:28:27.080 ⇒ 01:28:28.230 Samuel Roberts: More than that.
1078 01:28:29.010 ⇒ 01:28:29.360 Pranav Narahari: Yeah.
1079 01:28:29.360 ⇒ 01:28:36.709 Samuel Roberts: especially for as things get more complex, like, you know, this… all the MCP stuff, like, we could break these down if you wanted, like, each one, and like…
1080 01:28:37.850 ⇒ 01:28:41.949 Samuel Roberts: But I think for now, for the overall, this is… this is a good way to do it, especially.
1081 01:28:41.950 ⇒ 01:28:47.079 Pranav Narahari: Yeah. And I think if we actually did that, like, our case becomes even more, like, why we need more time, because, like.
1082 01:28:47.080 ⇒ 01:28:48.129 Samuel Roberts: Yeah, yeah.
1083 01:28:48.130 ⇒ 01:28:55.690 Pranav Narahari: a MCP server from, like, okay, we don’t really know, like, its state, to, like, deployed and working on an application, like…
1084 01:28:56.470 ⇒ 01:28:57.820 Samuel Roberts: We kind of…
1085 01:28:57.820 ⇒ 01:29:00.470 Pranav Narahari: we’re pretty underest… like, I would say we’re underestimating things.
1086 01:29:00.470 ⇒ 01:29:05.620 Samuel Roberts: We probably are, yeah. Yeah, I’d say go ahead and break those down, then, if you want, into other individual tasks.
1087 01:29:06.530 ⇒ 01:29:12.359 Pranav Narahari: Yeah, I think what I’ll do is I’ll… I’m just gonna leave it at high level right now. I’m gonna increase these two right here.
1088 01:29:12.360 ⇒ 01:29:13.180 Samuel Roberts: That’s fine.
1089 01:29:13.310 ⇒ 01:29:14.800 Pranav Narahari: And,
1090 01:29:15.870 ⇒ 01:29:23.140 Pranav Narahari: if they’re asking, like, okay, or even if Utam’s like, oh, why is it taking this much time? I’ll be like, okay, like, let’s, like, dive into this.
1091 01:29:23.140 ⇒ 01:29:23.740 Samuel Roberts: Yeah, yeah.
1092 01:29:23.800 ⇒ 01:29:27.069 Pranav Narahari: server… That’s fine. Taking… gonna take at least…
1093 01:29:27.410 ⇒ 01:29:32.790 Pranav Narahari: I don’t… it may take half a day, like, we’re gonna go for, like, maybe 3 hours each, but, like, you never know.
1094 01:29:32.790 ⇒ 01:29:34.839 Samuel Roberts: You never know, yeah, exactly.
1095 01:29:34.840 ⇒ 01:29:37.100 Pranav Narahari: Okay, yeah, I don’t want to hold you any longer, I’m.
1096 01:29:37.100 ⇒ 01:29:41.030 Samuel Roberts: Okay, well, I mean, I don’t want to jump if you, like, need me, but I just, I… yeah, I’m starting to…
1097 01:29:41.030 ⇒ 01:29:44.610 Pranav Narahari: No, no, yeah, totally. I think we’re in a good spot. I think…
1098 01:29:44.870 ⇒ 01:29:46.619 Pranav Narahari: Sam, yeah, this was super helpful, thank you so.
1099 01:29:46.620 ⇒ 01:29:50.659 Samuel Roberts: Okay, yeah, sorry to, like, it’s been a little chaotic over the holidays and everything, but…
1100 01:29:50.660 ⇒ 01:29:51.580 Pranav Narahari: All good, no, this was…
1101 01:29:51.580 ⇒ 01:29:56.170 Samuel Roberts: Fall into a better pattern when it’s not, like, the worst time of year to be working on a new project.
1102 01:29:56.170 ⇒ 01:29:58.499 Pranav Narahari: No, no, you were a lifesaver today, like, after…
1103 01:29:58.500 ⇒ 01:29:58.900 Samuel Roberts: Okay.
1104 01:29:58.910 ⇒ 01:30:01.900 Pranav Narahari: I was like, I need… I need Sam to help me.
1105 01:30:01.900 ⇒ 01:30:11.940 Samuel Roberts: Okay, alright, well, I’m glad, yeah. So, yeah, let them know about those API keys, and then I think the other thing is, like, once we settle this, let’s figure out, like, the brands across users.
1106 01:30:14.070 ⇒ 01:30:20.100 Samuel Roberts: That way, like, it looks to them like they can just go in and create brands and test and do things with each other.
1107 01:30:20.100 ⇒ 01:30:24.720 Pranav Narahari: And that’s, like, a huge… that looks like a much bigger lift to them than it was, probably, so…
1108 01:30:25.000 ⇒ 01:30:38.030 Pranav Narahari: Yeah, I’m gonna try to get that out today. Okay. Like, and so, if you’re able to just, like, like, we probably don’t even need to have a call, like, I’ll make some updates, and then if you could just, like, go into staging, just, like.
1109 01:30:38.030 ⇒ 01:30:48.290 Samuel Roberts: test things out. Totally, yeah. Yeah, we can… yeah, yeah, shoot me a text or a Slack, I may… I’m not sure if Slack notifications are even on. Oh, they might be for you, because I think I turned you on to VIP, so…
1110 01:30:48.630 ⇒ 01:30:51.499 Samuel Roberts: Yeah, if I don’t react… if I don’t respond on Slack.
1111 01:30:52.050 ⇒ 01:31:00.869 Samuel Roberts: Especially if it’s after 5 Eastern, I think that’s when it turns off, but send me a text and I can test it out with you. But yeah, then we can let them know that we got the…
1112 01:31:01.280 ⇒ 01:31:05.470 Samuel Roberts: MTP keys working, and the… Brands across users.
1113 01:31:06.080 ⇒ 01:31:13.140 Pranav Narahari: Perfect. Yeah, yeah, and I think that really, like, hits on Bobby’s message, too, so…
1114 01:31:13.140 ⇒ 01:31:13.480 Samuel Roberts: Perfect.
1115 01:31:13.740 ⇒ 01:31:15.489 Pranav Narahari: But, okay, Sam.
1116 01:31:15.820 ⇒ 01:31:16.720 Pranav Narahari: so much.
1117 01:31:16.720 ⇒ 01:31:18.779 Samuel Roberts: Yeah, sorry for the trouble today, but yeah.
1118 01:31:18.780 ⇒ 01:31:21.380 Pranav Narahari: No worries, you don’t need to apologize, I appreciate it. Thank you.
1119 01:31:21.380 ⇒ 01:31:22.680 Samuel Roberts: Yep, have a good one.