Meeting Title: Rimo x Brainforge | Weekly Sync Date: 2025-10-16 Meeting participants: Awaish Kumar, cameron, Robert Tseng, Surf, Ryon, Amber Lin, Fireflies.ai Notetaker Cameron, Nick G
WEBVTT
1 00:07:47.780 ⇒ 00:07:48.569 Robert Tseng: Hey guys.
2 00:07:57.000 ⇒ 00:07:57.700 cameron: Hello?
3 00:07:57.950 ⇒ 00:07:58.640 Awaish Kumar: Hello?
4 00:07:59.160 ⇒ 00:07:59.800 Robert Tseng: Hello, hello.
5 00:07:59.800 ⇒ 00:08:01.619 Surf: How are you doing?
6 00:08:02.680 ⇒ 00:08:03.469 Ryon: What are you doing?
7 00:08:03.470 ⇒ 00:08:04.070 cameron: Good.
8 00:08:07.800 ⇒ 00:08:10.999 Robert Tseng: All right, everyone is here.
9 00:08:14.340 ⇒ 00:08:20.050 Robert Tseng: All right, well, Cameron, I don’t think we’ve met, on call, so… hello, I’m…
10 00:08:20.590 ⇒ 00:08:24.589 Robert Tseng: Robert, and yeah, I guess you’ve been speaking to Oasisurf already.
11 00:08:25.160 ⇒ 00:08:31.889 Robert Tseng: I don’t know if you’ve met Amber, I think you have, you’ve seen her in Slack, at least. She was out this past week, but she’s back.
12 00:08:32.419 ⇒ 00:08:35.020 Robert Tseng: Yeah, I guess the team has some…
13 00:08:35.580 ⇒ 00:08:43.260 Robert Tseng: something’s transcribing this call with… okay, sure. Yeah. I mean, this call’s recorded, so I’ll send the transcript out anyway.
14 00:08:45.490 ⇒ 00:08:49.889 cameron: Let me pass the note speaker in here as well, then. One second. Is my fireflies in here?
15 00:08:51.140 ⇒ 00:08:51.670 Surf: Yep.
16 00:08:52.210 ⇒ 00:08:55.850 Robert Tseng: Okay, we’re gonna have, like, 3 AI transcribers in here.
17 00:08:55.850 ⇒ 00:09:06.420 cameron: But actually, like, if you share something important, I genuinely want to, like, get it done, and to be honest, I have very poor memory, so if I… if I don’t have someone in here to, like, take a look at it, I’m not going to be held accountable for it.
18 00:09:06.950 ⇒ 00:09:08.689 Surf: Yeah, yeah, I get it.
19 00:09:09.780 ⇒ 00:09:19.689 Surf: Agreed. And then, I guess, for this, I kind of want to start off with, like, a journey mapping before you demo. I want to, like, give a demo to show, like, I guess, the style of what I’m trying to understand and track.
20 00:09:20.160 ⇒ 00:09:20.880 cameron: Yeah, yeah.
21 00:09:21.040 ⇒ 00:09:21.780 Surf: It all makes.
22 00:09:21.780 ⇒ 00:09:27.580 cameron: Yeah, yeah, I just want to let you know, like, internally, there is, from Remo’s side, there’s been a little bit of delays.
23 00:09:28.010 ⇒ 00:09:40.070 cameron: just because we did some re-architecture, and I’ll jump into the re-architecture. It was kind of like a last-minute, very important thing we had to do to support some of the things that Eden wants to do, especially when it comes to the red kits.
24 00:09:40.070 ⇒ 00:09:58.260 cameron: In particular, I’ll just give you a quick overview why, before the software only supported sending out, like, one medication at a time, like, it only supported something like one medication vertical at a time, but we introduced a new transitional layer that you can bundle different medications underneath one called therapeutic. So, I’ll jump a little bit more into it, but if you want to take a lead, sir.
25 00:09:59.630 ⇒ 00:10:00.880 Surf: Alright, cool.
26 00:10:01.000 ⇒ 00:10:03.930 Surf: I wanna… well, I wanna show you…
27 00:10:04.430 ⇒ 00:10:14.530 Surf: like, something from a demo perspective, and, like, how I demo it by showing you an example, because I want to make sure that, like, we’re tracking all the things that we need to track, and I can understand exactly what’s going on.
28 00:10:14.870 ⇒ 00:10:23.490 cameron: Yeah, yeah, and just to let you know, so there is a new commit that’s going to be being pushed tomorrow night, and then you’re able to take a look at the bunch of new stuff that we just introduced.
29 00:10:27.210 ⇒ 00:10:29.370 Surf: Alright, can everybody see my screen?
30 00:10:29.650 ⇒ 00:10:30.450 cameron: Yes.
31 00:10:30.500 ⇒ 00:10:33.710 Surf: Alright, cool, sweet. So…
32 00:10:33.960 ⇒ 00:10:52.320 Surf: Alright, I want to start us off with the journey. So, here’s a product that… well, we’ve already launched for one of my potential clients, right? This is the front-end UI, it’s their data in Salesforce. Here, you can kind of see a stitching of exactly, like, what kind of data we’re loading in, and you can see, like, there’s this company called Clear Street LLC.
33 00:10:52.530 ⇒ 00:10:53.420 Surf: Right?
34 00:10:54.380 ⇒ 00:11:01.300 Surf: Here’s the API documentation, and this is the endpoint that actually powers this data that you’re seeing on the screen.
35 00:11:02.730 ⇒ 00:11:10.610 Surf: here’s the controller for that same custom buyer, right? And then the service model that happens underneath it.
36 00:11:10.800 ⇒ 00:11:16.379 Surf: Here’s the actual service model and the code that actually does the queries to generate that data up.
37 00:11:16.690 ⇒ 00:11:17.210 Surf: Right?
38 00:11:17.210 ⇒ 00:11:18.530 cameron: Okay, so this is a nest.
39 00:11:18.530 ⇒ 00:11:18.960 Surf: And ultimately.
40 00:11:18.960 ⇒ 00:11:21.280 cameron: And Ross Epo, right? Yep. Okay.
41 00:11:21.280 ⇒ 00:11:25.880 Surf: then, yeah, so we have to write some custom raw SQL because of, like, the size and the shape and.
42 00:11:25.880 ⇒ 00:11:30.579 cameron: Yeah, I get it, trust me. We’ve tried to avoid… we’ve tried to avoid raw SQL, but yeah.
43 00:11:30.870 ⇒ 00:11:35.859 Surf: That’s fine. I’m more talking about, like, The clarity of…
44 00:11:35.860 ⇒ 00:11:36.440 cameron: Exactly.
45 00:11:36.440 ⇒ 00:11:41.959 Surf: Here’s the visual, here’s where it is, and then, like, in the database, here is exactly that record.
46 00:11:42.140 ⇒ 00:12:00.770 Surf: So, like, from the database to the screen, right, like, you can literally see that all mapping, and the entire journey map that happens there, and then there’s also the front-end code, too, like, we don’t have to really get into that. But, like, I want to get into, like, I guess the details from that wiring perspective of how it’s kind of all wired up.
47 00:12:01.370 ⇒ 00:12:02.810 Surf: Does that make sense?
48 00:12:03.190 ⇒ 00:12:04.530 cameron: That makes sense, so…
49 00:12:04.530 ⇒ 00:12:13.009 Surf: I guess. From this… hold on, let me just say one more thing, because, like, from this perspective, I think this was the database that you sent to me that I logged into on this…
50 00:12:13.130 ⇒ 00:12:17.859 Surf: So, this is their database, you can see all the tables, but I don’t… there’s no tables in here.
51 00:12:18.110 ⇒ 00:12:19.899 cameron: There is table in there, it’s…
52 00:12:21.440 ⇒ 00:12:23.229 Surf: Am I logged into the wrong one?
53 00:12:23.430 ⇒ 00:12:26.769 cameron: UR, hold on. What’s the URL for that one?
54 00:12:27.000 ⇒ 00:12:31.749 Surf: US East 2PG PSD Database Cloud.
55 00:12:33.740 ⇒ 00:12:36.340 cameron: Hold on, let me just… from Slack real quick.
56 00:12:37.030 ⇒ 00:12:51.579 Surf: Alright, cool. Well, when you do your demo, you can, like, share me, show us, share me more stuff, so I can get into it, but I just want to make sure, like, alright, from that journey mapping, like, I guess that’s kind of what I want to see here, and, like, I guess, let’s start the journey at, like.
57 00:12:52.210 ⇒ 00:12:56.520 Surf: let’s even take out, like, the idea of, Eden…
58 00:12:56.890 ⇒ 00:13:05.590 Surf: being, like, single-tenant, right? Like, let’s say they were just, like, a multi-tenant user on your platform, and they were already logged in. How could we get GLP-1
59 00:13:05.770 ⇒ 00:13:10.020 Surf: through the rails and, like, I guess, show, like, kind of that level of architecture. Does that make sense?
60 00:13:10.020 ⇒ 00:13:11.549 cameron: Can you allow me to share screen?
61 00:13:11.740 ⇒ 00:13:13.669 Surf: Cool, yeah, yeah, I’m gonna stop now.
62 00:13:14.110 ⇒ 00:13:15.710 Surf: Alright, cool. Take it away.
63 00:13:16.480 ⇒ 00:13:18.610 cameron: Okay, is my screen sharing… is my screen sharing, or no?
64 00:13:18.980 ⇒ 00:13:20.069 Surf: No, I can’t see anything.
65 00:13:20.430 ⇒ 00:13:24.349 cameron: Give me one second, let me just open up PGAdmin, put these credentials in real quick, one second.
66 00:13:30.220 ⇒ 00:13:37.150 cameron: Bear with me for 2 seconds, I have to do this database on my local host, that put in pgadmin real quick.
67 00:13:38.560 ⇒ 00:13:42.900 cameron: Can you lose… Great registration.
68 00:13:58.490 ⇒ 00:14:00.740 cameron: Bear me for one second, guys. Sorry about that.
69 00:14:25.880 ⇒ 00:14:28.390 cameron: Word and save…
70 00:14:32.240 ⇒ 00:14:33.979 cameron: Let me share my screen real quick.
71 00:14:51.960 ⇒ 00:14:56.589 cameron: Okay. Okay, so this is the database stuff here, this is what we’re talking about, right?
72 00:14:58.370 ⇒ 00:15:03.699 cameron: This, okay, that’s our database view. Pop into here. All right. Let’s start from the…
73 00:15:03.700 ⇒ 00:15:08.280 Surf: So yeah, that should be fine. Once I get the actual keys, I should be able to log in from…
74 00:15:08.420 ⇒ 00:15:09.730 Surf: Even DBeaver.
75 00:15:10.220 ⇒ 00:15:27.860 cameron: Let’s jump into the admin side. Let’s start with pharmacies, okay? So I’m gonna show you over here. So, pharmacy, you can see over here, right? So this takes a second to load, right? So, we have a pharmacy name, description, an image over here. Pharmacy code is a four-digit code that identifies the pharmacy.
76 00:15:27.860 ⇒ 00:15:33.660 Surf: Hold on, real quick. When you say pharmacy, these are the ones, supplying the drugs, right?
77 00:15:33.880 ⇒ 00:15:34.450 cameron: Correct.
78 00:15:34.780 ⇒ 00:15:35.200 cameron: comments.
79 00:15:35.200 ⇒ 00:15:37.680 Surf: Alright, so this is the end of the funnel, correct?
80 00:15:38.130 ⇒ 00:15:39.440 cameron: That’s correct, yes.
81 00:15:39.880 ⇒ 00:15:42.560 Surf: Alright, is there a way for us to start at the beginning of the funnel?
82 00:15:42.700 ⇒ 00:15:44.480 Surf: So, water cutting…
83 00:15:45.070 ⇒ 00:15:48.630 cameron: It’s… it’s a little bit constrained. I want to start with, like, explaining, like.
84 00:15:48.830 ⇒ 00:15:54.039 cameron: the admin side of things, how everything’s mapped together, so I can show you how an order looks like.
85 00:15:56.050 ⇒ 00:15:57.850 Surf: Okay.
86 00:15:58.450 ⇒ 00:16:01.249 cameron: Because if you take a look at the order, right?
87 00:16:01.420 ⇒ 00:16:03.639 cameron: I’ll just show you what an order looks like.
88 00:16:03.940 ⇒ 00:16:12.530 cameron: If you take a look at an order, an order… an order links to a pharmacy, right? So I kind of want to explain the pharmacy stuff before we hop into the orders.
89 00:16:13.010 ⇒ 00:16:13.680 Surf: Okay.
90 00:16:15.650 ⇒ 00:16:26.289 cameron: So, we have pharmacies here, right? So, each of the pharmacies has a unique 4-digit code, so this is how you guys are going to be able to identify the pharmacy, by using the four-digit code, right?
91 00:16:26.410 ⇒ 00:16:42.299 cameron: There’s an order prefix, so we can prefix the orders with something. This will allow you to be able to lead and staff to… in general, anyone to look at an order and know exactly where it’s coming from. There’s the metadata here, so each pharmacy has different ways to connect to the pharmacies.
92 00:16:42.460 ⇒ 00:16:53.950 cameron: We use a combination of something… some stuff in Prisma and some stuff in types. So, the way that the pharmacies are defined, right, there’s typically a couple different APIs, right? So,
93 00:16:53.950 ⇒ 00:17:06.459 cameron: We have Absolute, Epic Scripts, and Life File. These kind of cover majority of the pharmacies. Each of the pharmacies has a different schema, you can see over here, of what’s required to connect the platform to the pharmacy, right? We’re all on the same page here?
94 00:17:08.869 ⇒ 00:17:10.049 Surf: Yeah, this makes sense.
95 00:17:10.339 ⇒ 00:17:13.209 cameron: Cool. So, pharmacies have the…
96 00:17:13.210 ⇒ 00:17:17.359 Surf: These are all of the predefined pharmacies that, let’s say, would work with the platform.
97 00:17:17.660 ⇒ 00:17:18.290 cameron: Correct.
98 00:17:18.589 ⇒ 00:17:19.049 cameron: Cool.
99 00:17:19.260 ⇒ 00:17:28.579 cameron: you have the licenses that are defined, so you can put each state as the licensing, that associates the pharmacy to the state model, right? We use the state model…
100 00:17:28.580 ⇒ 00:17:30.839 Surf: Do we have to predefine that, or does that already come in?
101 00:17:31.360 ⇒ 00:17:41.359 cameron: It’s in the seed script right now, but you have… you can predefine it, so if I open up a pharmacy, like Emerald Compounding Pharmacy, you can have the licenses, you can tick the licenses, you can change them here as well.
102 00:17:41.780 ⇒ 00:17:42.970 Surf: Cool. Okay.
103 00:17:43.330 ⇒ 00:17:54.450 cameron: pharmacy settings, this has all the settings and stuff like this, and then connection, over here, it’s gonna show the connection settings. Emerald’s not set up to be connected right now, but if it was a Y file, it would show all the Wi-File creds here.
104 00:17:54.690 ⇒ 00:17:55.660 cameron: Campbell?
105 00:17:56.630 ⇒ 00:18:12.829 cameron: Next thing, let’s hop into a pharmacy item, okay? So pharmacies can have pharmacy items associated to them. A pharmacy item is a wine item SKU that’s coming from the pharmacy. So if I hop into Emerald over here to the items, you can see these are the line item SKUs that are coming from the pharmacy.
106 00:18:13.130 ⇒ 00:18:20.290 cameron: Each item is associated to a medication object, it has an item name, it has the type, which is a custom compound, no NDC,
107 00:18:20.300 ⇒ 00:18:38.380 cameron: It’s a vial, has total milliliter content, and it has the compound ingredients with the strength of the ingredients for each of the compound ingredients. For example, these are 1mg per milliliter for the semaglutide, and the tersepatide is 10 milligram milliliter for the terzepatide, and 5 milligrams per milliliter for the glycine.
108 00:18:39.490 ⇒ 00:18:53.100 cameron: You’re able to add new pharmacy items by pressing new item, pick the medication it belongs to. If it’s a tablet, it’s going to ask for the total concentration of the item. If it’s a custom vial compound, it’s going to add… yes, Alesh?
109 00:18:53.650 ⇒ 00:18:58.399 Awaish Kumar: Yeah, if it is a, like, compound, then, like.
110 00:18:59.270 ⇒ 00:19:05.539 Awaish Kumar: Like, do we also have information of what’s actually being delivered? Like, the wild sizes of,
111 00:19:05.540 ⇒ 00:19:19.139 cameron: Yes, you can see that over here. So, if it’s a vial, if you see how the vial is a… it’s a compound, how it has two compound ingredients? For each compound ingredient, you gotta put the strength. So, if it’s a vial, you put in the total milliliters.
112 00:19:19.140 ⇒ 00:19:35.689 cameron: you put in the concentration, you pick the type of formulation the pharmacies use. Typically, I think we’re going to deprecate the MCG and G. We’re going to just have everything in milligrams per milliliter to standardize everything. So, you pick the concentration, and you input that into the system.
113 00:19:36.030 ⇒ 00:19:49.449 cameron: These are defined on the pharmacy over here as a decimal, so these are… you have the total volume, total volume unit. We’re probably going to deprecate liters and just have everything in milliliters, and have everything in milligrams per milliliter, just to give you a heads up.
114 00:19:49.450 ⇒ 00:19:53.399 Surf: Good question, probably to Cameron and Ryan,
115 00:19:54.040 ⇒ 00:20:00.339 Surf: I guess, who sets that up, right? Would this be, like, Ryan and someone at England deciding to set all that up?
116 00:20:00.490 ⇒ 00:20:01.570 cameron: No, it’s a web…
117 00:20:01.770 ⇒ 00:20:02.819 Surf: Okay, so whatever…
118 00:20:02.820 ⇒ 00:20:18.059 Ryon: It’s all… it’s all the EMR side, sir. This is… so unlike with BASC, it’s gonna be all EMR side, so everything Cameron’s describing is going to be handled by the EMR. We’re on the intake side, just gonna send the order through with the specs that Cameron needs. He’ll handle the rest, basically.
119 00:20:18.060 ⇒ 00:20:24.479 Surf: Got it. So, the things that we’re talking about right now, Cameron, when we actually do the integration for Eden, you will have already.
120 00:20:24.480 ⇒ 00:20:25.539 Awaish Kumar: Preset all this up.
121 00:20:26.030 ⇒ 00:20:37.990 cameron: Yeah, I mean, it’s gonna make sense in a second once I cover the full flow. I just want you guys at Brainforge to fully understand, because there’s gonna be a lot of data that you guys can actually use to help you guys, like, figuring out, like, the average, like.
122 00:20:37.990 ⇒ 00:20:47.919 cameron: like, what actual, like, strength, what actual dose people are on in comparison to having just a product, you can granularly get down to the specific dose that they’re on.
123 00:20:47.920 ⇒ 00:20:52.770 cameron: So I want to explain to you, because you guys are going to have a lot more visibility into all this data in comparison to previously.
124 00:20:56.360 ⇒ 00:20:57.100 cameron: Boom.
125 00:20:58.030 ⇒ 00:20:58.880 Surf: Yeah, gotcha.
126 00:20:59.560 ⇒ 00:21:13.500 Robert Tseng: Okay, so, like, so none of this is actually, like, this is not how it’s going to be set up at all, okay? We understand that you can do pharmacy configurations here, like, I understand, okay, you’re going to end up doing all the presets. Okay, that’s fine. Like, is there anything else we need to see on this?
127 00:21:15.230 ⇒ 00:21:17.569 cameron: I’m just explaining to you the whole flow from end to end.
128 00:21:18.030 ⇒ 00:21:31.340 Robert Tseng: Yeah, well, we want to look at orders. I don’t… I mean, pharmacy admin, I don’t… I mean, if you’re going to be responsible for that, I don’t… I honestly don’t really care. Like, it’s… whatever ends up… whatever the team gives you, like, you’ll put it in, like, okay, I get it, you’re just filling out these forms.
129 00:21:36.020 ⇒ 00:21:37.420 cameron: Okay, I mean…
130 00:21:37.750 ⇒ 00:21:44.580 cameron: I was explaining the whole process, because these end up linking to… we don’t… there’s no such thing as a product, so I was gonna…
131 00:21:44.780 ⇒ 00:21:47.830 cameron: Fully explain how this all works from end to end.
132 00:21:49.100 ⇒ 00:21:52.650 Robert Tseng: Okay, so we’re… you’re gonna go through offerings, and then you’re gonna get to orders?
133 00:21:53.280 ⇒ 00:21:55.120 cameron: That’s… that’s correct, yeah.
134 00:21:55.120 ⇒ 00:21:56.370 Robert Tseng: Okay, alright.
135 00:21:57.970 ⇒ 00:21:58.720 cameron: Okay.
136 00:21:58.780 ⇒ 00:22:08.989 cameron: Then you have medications, right? So, this is the specific medication. I mean, this is not that important to Robert, clearly, so I’ll just run through this. Medications, the medication.
137 00:22:09.010 ⇒ 00:22:22.890 cameron: Therapeutics is basically, similar to a product. So, when you hop into therapeutic, you can basically link multiple products, multiple pharmacy items inside of therapeutic to be shipped out.
138 00:22:23.080 ⇒ 00:22:23.870 cameron: Okay.
139 00:22:24.530 ⇒ 00:22:29.530 cameron: Offerings are the most important part. You can have semaglutide injections, okay?
140 00:22:29.930 ⇒ 00:22:36.100 cameron: dose plans over here, so the specific dose plan, you have the therapeutics that are involved in it, right?
141 00:22:36.100 ⇒ 00:22:51.739 cameron: So you have the specific therapeutics that are involved in it, you have the specific pharmacies that are associated to it, you can toggle on and off the pharmacies over here. You have the specific provider’s network onto it, you can toggle the provider networks on here. You have the conflicts, you can’t take multiple things at the same time.
142 00:22:51.740 ⇒ 00:22:52.910 cameron: That covers that.
143 00:22:52.910 ⇒ 00:23:10.489 cameron: You hop into a dose plan over here. This is where each dose plan has a pre-configured step, step 1, 2, 3, 4, 5. Each of the dose plan steps, you can add the therapeutics into it. A therapeutic is basically, in this case, when it comes to GLP-1s, it’s a specific
144 00:23:10.490 ⇒ 00:23:13.310 cameron: Pharmacy… it’s a specific additive.
145 00:23:13.370 ⇒ 00:23:31.790 cameron: So, semaglutide glycine, you see, this comes from Emerald. If there’s another pharmacy that has glycine, you can shove it in the same therapeutic, you can shove it over here, and it will ship from either or pharmacy. It doesn’t care. So, that’s what that is. Then there’s another one here, like semaglutide cycobalamin, yes?
146 00:23:32.590 ⇒ 00:23:34.220 Surf: No, no, keep going. I’m gonna ask you a question.
147 00:23:34.220 ⇒ 00:23:35.800 Robert Tseng: I don’t know, Awish has a question.
148 00:23:36.260 ⇒ 00:23:37.050 Surf: Oh, cool, sweet.
149 00:23:38.880 ⇒ 00:23:57.029 Robert Tseng: Okay, well, I think I know the question he was gonna ask. Well, I mean, I think this is great. The fact that you can have multiple pharmacies without having to change the… what you’re calling dose plans, like, I think that to be able to nest the pharmacies underneath that, and not have to create new dose plan types for every single, like, type… I mean, I think this is… yeah, this… this looks great.
150 00:23:57.400 ⇒ 00:24:00.200 cameron: Again, just for clarification.
151 00:24:00.310 ⇒ 00:24:04.500 Surf: Even all of this stuff that you’re showing up. Cameron, you’re gonna pre-configure all of this as well, correct?
152 00:24:05.020 ⇒ 00:24:13.559 cameron: Somewhat, yeah, but you guys need to know this, because what’s gonna end up happening is, for example, if they want to switch a certain pharmacy, there’s certain logic that will happen.
153 00:24:13.560 ⇒ 00:24:26.389 cameron: So, for example, if you see this therapeutic option over here, semaglutide glycine, right? This is all the pharmacy items that come inside of it. If there’s another therapeutic option called semaglutide glycine, right?
154 00:24:26.390 ⇒ 00:24:29.449 cameron: It could… the actual therapeutic ID
155 00:24:29.450 ⇒ 00:24:43.240 cameron: can switch as long as the actual medication is the same. It may switch automatically. If the medication is different, right, semaglutide cyancobalamin, you need to manually initiate a medication transfer request.
156 00:24:43.760 ⇒ 00:24:52.359 Surf: Now, that’s the part that I wanted to understand. Okay, cool. So, if that logic happens, we need to manually do it, and that would be an Eden thing to do, correct?
157 00:24:52.790 ⇒ 00:25:03.819 cameron: We haven’t built out the UI yet, but there’s gonna be an order, like, an issue queue, so you’re gonna see, like, a bunch of issues, right? And then you’re gonna be able to, like, basically run, like, an automation, like, press one button to reassign.
158 00:25:05.140 ⇒ 00:25:15.909 Surf: Okay, got it. So, there’s going to be a, let’s call it, like, on the left side, issues, and then that would be something where someone on the Eden team is checking regularly to see these issues, and then resolving in some way.
159 00:25:16.330 ⇒ 00:25:26.719 cameron: Correct, yeah, on the remote platform, we’re managing it. If we’re the ones managing the farm ops side on the Eden stuff, we’d be the one to do it, but the system admin would be the one in charge of doing it, whoever’s in charge of pharmacy ops?
160 00:25:27.430 ⇒ 00:25:32.979 Surf: Alright, and that person would be… I just want to make sure that it’s clear, it’s an Eden person, correct?
161 00:25:32.980 ⇒ 00:25:37.259 cameron: I’m not sure, I mean, that depends if they’re gonna staff us to do it, or they’re gonna staff someone on their team.
162 00:25:37.580 ⇒ 00:25:46.570 Surf: Got it, cool. Alright, sweet, because I want to know what’s automated and then where the layers of an individual are, because then those are going to be the features that we also need to see, but you said that one’s not done yet.
163 00:25:46.920 ⇒ 00:25:47.529 Surf: Got it.
164 00:25:47.530 ⇒ 00:26:04.910 cameron: I mean, we’re still working on it, yeah, I mean, there’s a bunch… this therapeutic stuff is new. So, yeah, I mean, I’ll jump into the therapeutics over here, right? So, therapeutic, right, you can see over here, the different, like, you know, triseposide, RDT, semaglutide, that’s the name of the therapeutic. There’s different therapeutic options.
165 00:26:04.910 ⇒ 00:26:19.039 cameron: So the whole point of a therapeutic option, we called it a therapeutic option to allow for future expandability, just so you understand that these are constrained to a pharmacy. So, you see where it says, like, low dose step 2 absolute RX?
166 00:26:19.140 ⇒ 00:26:37.510 cameron: through this thing over here, you can link the actual, like, items in here, right? These are, on a code level, enforced to a pharmacy, but they allow for future expansion… expansions. This way, if Eden were to offer skin care and needed to send 3 individual pharmacy items.
167 00:26:37.510 ⇒ 00:26:44.050 cameron: all through one, they could add an option that contains the three items from the pharmacy.
168 00:26:44.220 ⇒ 00:26:45.630 cameron: Does that make sense to everyone?
169 00:26:48.070 ⇒ 00:26:48.680 Robert Tseng: Yeah.
170 00:26:49.870 ⇒ 00:26:50.580 cameron: Okay.
171 00:26:50.930 ⇒ 00:26:51.620 cameron: Cool.
172 00:26:52.350 ⇒ 00:27:11.139 cameron: Now we’re gonna… so that basically handles all of this stuff, the different dose plan steps, all that stuff, right? They have all the pharmacies, you can enable, disable them on a provider level, for the dose plan, and also for an offering. When Eden decides to make an intake, they can either do one of two things. They can either just pass in the offering ID,
173 00:27:11.140 ⇒ 00:27:16.020 cameron: And the system will automatically pick a dosing plan based off of what it thinks is the default.
174 00:27:16.020 ⇒ 00:27:23.830 cameron: or Eden can write its own custom logic to decide a specific dose plan based off of what logic they do on their intake forms.
175 00:27:25.900 ⇒ 00:27:37.679 Surf: Alright, let’s actually dive in there, because there was something specific to Eden. You’re saying if they want to veer off of the pre-configured dose plan that you would already have pre-set up, they can create a new one.
176 00:27:38.540 ⇒ 00:28:02.770 cameron: Well, no, because only the doctor network can approve the dosing plans, so there needs to be, basically, like, a farm… like, a kind of, like, a medical, like, system, like, operator, right? So whether that be staff on Eden’s side, or whether they contract Remo to do it, someone… only, like, a couple individuals are going to be doing it, then the intake department can look at the dose plans that are here, and they can pick the specific ID that’s been pre-configured.
177 00:28:02.770 ⇒ 00:28:08.269 cameron: The doctors cannot manually edit the instructions on the signatures. They have to be pre-configured.
178 00:28:08.270 ⇒ 00:28:10.649 cameron: That’s a rule that… have told us.
179 00:28:10.930 ⇒ 00:28:28.849 Surf: Got you. So, ideally, we haven’t decided on that yet, but someone needs to have all of these in, have them pre-configured so that when they go out to the providers, the providers basically check them to see if they’re right and approve or deny. Ideally, if they’re not correct, then they would just deny them. Is that correct?
180 00:28:28.850 ⇒ 00:28:41.819 cameron: Somewhat, yeah, yeah. So the providers can only approve, a specific… the providers can basically approve a specific dose plan step, and the providers can recommend a therapeutic.
181 00:28:42.000 ⇒ 00:29:00.999 cameron: When the provider approves the dose plan step, it approves… it basically generates a prescription intent for all of the different offerings in there. So they generate, like, 5 different prescriptions at once. This way, we can switch to prescriptions, or switch to medication, or whatever you want to call it, without having to go back to the provider.
182 00:29:02.420 ⇒ 00:29:09.280 Nick G: Quick question, Cameron. Are these workflows, documented everywhere? Do we… do we have a…
183 00:29:09.690 ⇒ 00:29:13.830 cameron: My team is still working on it. There’s gonna be a more in-depth
184 00:29:13.960 ⇒ 00:29:32.419 cameron: We can do a more in-depth conversation next week. We’ve had some internal delays that have caused also this demo to have less features than I wanted to show that are lacking on the order side, but my team is actively working on a Gitbook documentation that’s going to be able to explain all the life cycles to you guys. The main purpose of this call was to show you that Remo’s more than a…
185 00:29:32.480 ⇒ 00:29:36.119 cameron: what’s it called? Basically a front-end that has no functionality.
186 00:29:41.040 ⇒ 00:29:55.619 cameron: You have the different dose plant steps here, that’s handled there. I can show you the doctor portal sometime next week. Someone on our team is developing that right now, should be finished up, but I’ll be able to dive into a little bit more of that next week. Yeah, so let’s hop into the store side over here.
187 00:29:55.680 ⇒ 00:30:06.640 cameron: Head to a store. Let me go to Eden. Let me add some offerings over here to Eden’s side real quick. So, we’re gonna add the pharmacy…
188 00:30:07.810 ⇒ 00:30:14.180 cameron: I’m gonna add Provider Network… Let’s go ahead and add the offerings.
189 00:30:14.180 ⇒ 00:30:20.630 Surf: Oh, quick question there, too. The Dr. Telex thing, I know you said that they were going to onboard on Monday. Did they onboard yet?
190 00:30:20.810 ⇒ 00:30:24.729 cameron: Not yet, no, there’s been some internal delays with the customer service piece, we’re still trying to sort out
191 00:30:25.910 ⇒ 00:30:27.410 cameron: I texted you and I messaged that.
192 00:30:30.130 ⇒ 00:30:34.690 Surf: Cool. And the developers will be onboarding onto two separate platforms, because Eden’s gonna have its own platform.
193 00:30:38.830 ⇒ 00:30:39.390 Surf: Cool.
194 00:30:40.330 ⇒ 00:30:52.840 cameron: We basically added the offering here, right? So you can add sales channels. These are basically, like, a channel where you can, you know, select the domain that you want. You can put in, like, the SEO settings and, like, all that stuff here.
195 00:30:52.880 ⇒ 00:31:06.790 cameron: And you can pick the theme on there. You can create different themes through the theme settings over here, where you can pick the… all this stuff over here. You can add your payment gateways, your payment gateways over here. You can add the domains and domains through that stuff, so that part’s handled.
196 00:31:06.830 ⇒ 00:31:22.489 cameron: Let’s jump right into the offering side. So, on the store side, this is Eden’s side, this is where they can configure their offering. So, they can create the billing plans, so let’s do a monthly billing plan, right? They can charge the default price is, like, $2.99, one prepaid cycle, create.
197 00:31:24.010 ⇒ 00:31:34.590 cameron: Right? And then you can do, for example, like, quarterly, and then you can do, like, you know, 3 prepaid cycles, right? Say it’s, like, $720 total for that cycle.
198 00:31:36.240 ⇒ 00:31:51.030 cameron: Right? You can see the different dose plans that are on the store, you can see the different therapeutics and the pharmacies that are associated to the offering, you can do all of that. Pricing profiles is in replacement of coupon codes, so you can basically create a pricing profile.
199 00:31:51.550 ⇒ 00:31:52.360 cameron: Right.
200 00:31:52.790 ⇒ 00:31:56.199 cameron: And you can hop into the pricing profile over here, right?
201 00:31:56.730 ⇒ 00:32:08.120 cameron: And then this is where you can basically, on… throughout multiple offerings, you can create custom pricing. So, you basically press link to billing plan, select the offering, select the billing plans you want to
202 00:32:08.120 ⇒ 00:32:18.760 cameron: create the custom pricing for. And what you can do is you can add a cycle. So, you know, for the first cycle, it’s $99, right? And then after one cycle, you can adjust it to
203 00:32:19.260 ⇒ 00:32:20.340 cameron: $2.99.
204 00:32:21.660 ⇒ 00:32:36.820 cameron: And you can do the same thing on the quarterly, right? So the quarterly… The quarterly cycles are different because, like, you have to calculate it based off of, like, the actual, like, total billing. So the first one would probably be, like, 600 total billing, and then the one after that would probably be… it’d resume back to the 720.
205 00:32:38.200 ⇒ 00:32:55.010 cameron: So then you can complete the setup over here, and it’s gonna make the adjustments over here. Then you can link the codes over here. So, for example, you can create a code, and put a name for the code, and you can basically create the code, and then when you apply this code to the intake form, it’s gonna go ahead, and it’s gonna apply that pricing for you.
206 00:32:56.410 ⇒ 00:33:03.910 cameron: Next thing is the intake forms over here. So you hop into the intake form builder over here, right? Let’s open up the form editor, we’re working on this.
207 00:33:04.010 ⇒ 00:33:25.819 cameron: Basically, on the right side of the screen is all the settings and stuff you can choose for the intake, and these are pre-configured. If you take a look in the code, these are pre-configured in, like, ZOD, and it’s a very easy way that you can code intake forms using AI, and then the Eden staff can just, you know, or whoever’s in charge of building the forms, can change some of the settings over here.
208 00:33:25.820 ⇒ 00:33:31.220 cameron: So this is the general forms, and you can view the different teams and what they look like by just selecting down on the top right of the screen.
209 00:33:33.200 ⇒ 00:33:33.890 cameron: Cool?
210 00:33:33.890 ⇒ 00:33:35.819 Surf: This is for the forums, though.
211 00:33:36.340 ⇒ 00:33:37.530 cameron: Yeah, intake forms.
212 00:33:37.810 ⇒ 00:33:38.829 Surf: I go feet.
213 00:33:39.710 ⇒ 00:33:48.730 cameron: Okay, then you have the customers over here. I actually… let me see if I can seed some customers over here. One second, I want to see if I have the seed script on here.
214 00:33:51.910 ⇒ 00:33:53.920 cameron: I don’t think I have the seed script either.
215 00:33:54.750 ⇒ 00:33:56.679 cameron: So, in terms of…
216 00:33:57.200 ⇒ 00:34:08.780 cameron: treatments and customers, I don’t have the seed script. Let me ask my dev right now, if he can give me the seed script for it, but basically finishing the entire UI and editing them, but it’s unfortunately out of the seed script on me, which is kind of unfortunate.
217 00:34:08.969 ⇒ 00:34:12.790 cameron: One second… Excellent.
218 00:34:13.080 ⇒ 00:34:18.780 cameron: Yeah, but I can… I’m gonna text them right now, but we can jump into that in a second. I can run through the intakes on what they look like.
219 00:34:19.330 ⇒ 00:34:22.229 cameron: And I can show you how the data is being stored as well over here.
220 00:34:22.699 ⇒ 00:34:25.760 cameron: So, these are the intakes over here, right?
221 00:34:25.900 ⇒ 00:34:29.319 cameron: Whenever you go through each step, it updates the intake on each step.
222 00:34:29.690 ⇒ 00:34:36.160 cameron: Right? And it just keeps going through over and over again. Now, let me go ahead and actually get the data so I can show you what the intakes look like.
223 00:34:46.210 ⇒ 00:35:01.799 cameron: So this is what kind of the data on the intake looks like. So it’s a JSON schema with the form data and stuff over here. So the selected billing plan, the states, the treatments, the current gender, date of birth, health goals, create account, drug allergies.
224 00:35:01.800 ⇒ 00:35:18.609 cameron: And once I actually process the intake, everything will be ahead and go ahead created inside of this system over here. To be fully transparent, because of the refactoring we did, there’s some stuff we’re still working on, so I don’t have much more to demo on that from my side today, but I’m gonna have more on updates on this sometime coming next week.
225 00:35:19.860 ⇒ 00:35:27.660 Surf: Got you. So, that order, like, this is a simulated order form right there, cool, so you go through the steps, fill that out, and then…
226 00:35:29.100 ⇒ 00:35:34.140 Surf: Yep, and then, can you just now… alright, let’s just say this got submitted, right? Boom, this is submitted.
227 00:35:34.370 ⇒ 00:35:42.129 Surf: walk back, I guess, through the… just the high-level visuals of what are all the next steps that kind of happen.
228 00:35:42.510 ⇒ 00:35:44.819 cameron: Yeah, so the next step is you pick the medication.
229 00:35:45.130 ⇒ 00:35:45.680 Surf: Yep.
230 00:35:46.220 ⇒ 00:36:04.290 cameron: billing plan IDs, put the street address, checks out. The next step of this intake is it goes ahead in our system, I’ll just show you over here. I don’t have necessarily the UI yet, because we’re still building that out, but it goes ahead and basically creates a treatment over here. I’ll show you over here. It creates a treatment with all the information that they passed on.
231 00:36:04.320 ⇒ 00:36:09.949 cameron: This is the main thing I want to review with you, is the teleform schemas. I’ll jump in a second. The next step is it creates…
232 00:36:09.950 ⇒ 00:36:30.800 cameron: It creates a treatment with all the information over here, right? And it creates the doctor consultation as well. So it creates the consultation over here, right? And the consultation has all the provider ID, everything like that, dose plan ID, dose plan regimen ID. When that gets approved on the treatment, the main model we’re using is the treatment dose, and we’ll have all the UI done for this, we can show you next week.
233 00:36:30.820 ⇒ 00:36:48.309 cameron: This is all done in cron jobs, by the way, so it’s all done in a queue using the trigger cron jobs. It creates the treatment doses over here, and it basically puts in the dose plan step and the therapeutic option that’s locked in for the treatment. And every single time it comes time to fill an order, it generates an order item.
234 00:36:48.310 ⇒ 00:36:58.809 cameron: Right? It generates an order. An order can be a link to multiple treatments, so if someone has two treatments, and they somehow come from the same pharmacy, one order can contain the items for two treatments.
235 00:36:59.210 ⇒ 00:37:11.649 cameron: And there’s already logic to process that order that does a bunch of calculations to figure it out. Then it ships the order, and it gets to the patient’s house, and then rebills happen, whenever the dose plan expires, and they’re out of doses.
236 00:37:12.100 ⇒ 00:37:15.429 Surf: Alright, cool. Could… could you, could you show back the UI real quick?
237 00:37:17.080 ⇒ 00:37:24.359 Surf: Alright, so, yeah, so… Person filled that out, they became a… that also triggers the customer creation, correct?
238 00:37:25.600 ⇒ 00:37:34.759 Surf: Alright, so customer creation happens, the two other schemas that you said aren’t ready yet happen, and then a treatment is also created. So then, in treatments, we should be able to see that there, right?
239 00:37:35.200 ⇒ 00:37:40.450 cameron: Yeah, I’m asking my… I asked my guy right now if he has a seed script for treatments. There’s still some stuff we’re linked…
240 00:37:41.110 ⇒ 00:37:43.529 Surf: I just want to make sure that I’m following…
241 00:37:43.530 ⇒ 00:37:53.440 cameron: I want to be fully transparent with you, like, there’s some things that we’re still working on, like, because of the new therapeutics launch, we had to kind of scrap a lot of the stuff we did, so I want to be fully transparent.
242 00:37:53.440 ⇒ 00:37:53.970 Surf: That’s one.
243 00:37:54.360 ⇒ 00:38:01.700 cameron: Yeah, yeah, I just wanted to show, because, Robert, I know that you were under the impression that there was nothing built out, but everything’s built out, we’re just reworking on it right now.
244 00:38:02.510 ⇒ 00:38:04.159 Surf: Got it.
245 00:38:04.330 ⇒ 00:38:21.509 Surf: Let me go back. So… fill out that form, customers created, the two steps that you said you’re working on right now, we don’t have the database for that, but that’s fine, and then a treatment is created, right? When that treatment is created, when does the Dr. Telex team start doing their work?
246 00:38:21.810 ⇒ 00:38:37.899 cameron: Right away. When a treatment is created, right away, it creates the consultation, and the treatment goes through the life cycle. So, needs payment method, pending initial consultation, active, paused, needs renewal, needs check-in, payment failed, completed, and canceled.
247 00:38:38.750 ⇒ 00:38:41.619 Surf: Okay, so the consultation, where’s that object?
248 00:38:42.020 ⇒ 00:38:46.429 cameron: Over here. So, if you look into the consultation object, it’s right over here, and it looks to retrie.
249 00:38:46.940 ⇒ 00:38:54.199 Surf: Got you. And on the UI, there’s a space for that, for where they… the Dr. Telex team goes in, like, looks at that?
250 00:38:54.270 ⇒ 00:38:54.900 cameron: Yes, Mark.
251 00:38:54.900 ⇒ 00:38:55.690 Surf: go with you.
252 00:38:55.690 ⇒ 00:39:06.729 cameron: It can go through… yeah, my… it’s on one of my guys, his name’s Ryan, he’s working on it right now, the doctor portal, so it creates a consultation, there’s two tabs, there’s one for new consultation, and there’s one for tickets for customer support.
253 00:39:07.310 ⇒ 00:39:17.289 Surf: Got it. Okay, cool. And then, once they do their thing, and then they submit it, it changes the lifecycle step to the one that then pushes to, the pharmacy, correct?
254 00:39:17.720 ⇒ 00:39:42.690 cameron: That’s… so it changes the life cycle, it adds the doses to the treatment. We have a specific, like, logic on how to fail for the pharmacy. So, it locks in the therapeutic ID, which is like the… which is like the medication variant, right? And then the doctor, basically, like, assigns all the different doses, right? So the doctor can take, like, dose one, repeat 3 times. So the doctor assigns all the doses to the treatment that are underneath here in treatment doses.
255 00:39:42.690 ⇒ 00:39:58.000 cameron: and these are going order, and the doctor puts all the treatment doses in here. The way the system fills is once it’s a cron job that runs every minute, once the treatment’s approved, and once the doses are assigned, and if there’s… if the amount of doses they’ve used on the treatment, you can see over here.
256 00:39:58.650 ⇒ 00:40:13.349 cameron: consumed doses is 0, and prepaid doses is, like, 1 or 2. The system will go ahead and automatically try to bundle as many doses as possible into an order, taking in constraints of the pharmacy’s beyond-use date, so it automatically bundles it together.
257 00:40:15.520 ⇒ 00:40:17.369 cameron: Then it creates the order.
258 00:40:17.380 ⇒ 00:40:38.450 cameron: The order is a different life cycle. There’s pending, which means, like, the… there’s a one-hour hold time before an order gets sent to a pharmacy, and orders don’t send during some hours of the weekends to allow, like, manual intervention. Then the order gets transmitted. There’s transmission error, which means something went wrong. Pharmacy confirmed. Pharmacy exception means, like, the pharmacy indicated we gotta, like, communicate with them.
259 00:40:38.450 ⇒ 00:40:43.179 cameron: Preparing, shipped, in transit, delivered, delivery, failed, canceled.
260 00:40:47.620 ⇒ 00:40:48.590 Surf: Okay, cool.
261 00:40:49.140 ⇒ 00:40:50.180 Surf: Anyone else questions?
262 00:40:50.980 ⇒ 00:41:02.830 cameron: We’ll have that logic to you, and you can review it in the jobs package, and we can schedule another call, like, the second this is up next week, to go over it fully. Just because of the new therapeutics, we kind of had to redo a lot of our logic.
263 00:41:03.010 ⇒ 00:41:07.529 cameron: In terms of that. But the main thing I wanted to review with you, especially with the data stuff.
264 00:41:07.630 ⇒ 00:41:11.199 cameron: Is how to do the teleform responses.
265 00:41:11.290 ⇒ 00:41:12.929 cameron: So, I’ll tell you what we have now.
266 00:41:12.960 ⇒ 00:41:19.130 cameron: We have the responses, which are the form answers, right? We have screen metrics.
267 00:41:19.130 ⇒ 00:41:33.560 cameron: which calculates the amount of time they spent on the screen. If it’s a screen that has specific, like, variables, like, count created, it will, like, say, like, clicked on, like, email, clicked on phone. There’s a bunch of metrics that go to the screen, right?
268 00:41:33.560 ⇒ 00:41:35.949 cameron: The main important thing we’re doing… yes, Ryan?
269 00:41:37.960 ⇒ 00:41:50.390 Ryon: Just two things I want to cover real quick, Cameron. First of which is some of the statuses you mentioned. Is it easy for you to add more statuses? Because we’re actually using more statuses to identify
270 00:41:50.920 ⇒ 00:42:03.509 Ryon: the state of someone’s order from BASC right now, and we’re using these to inform other channels about when a conversion is, like, at a certain state or at a certain point. Like, example is completed questionnaire. Is that something which we can easily
271 00:42:03.720 ⇒ 00:42:05.699 Ryon: add later. It doesn’t need to be done.
272 00:42:06.130 ⇒ 00:42:12.909 cameron: You wouldn’t put that on a treatment, that would be on the actual, like, teleform response, if that exists, and they completed the questionnaire.
273 00:42:13.680 ⇒ 00:42:18.180 Ryon: Yeah, exactly. Is that something that can be easily changed? Like, can we add more statuses, basically, is what I’m asking.
274 00:42:19.010 ⇒ 00:42:35.220 cameron: You can via the code if you want to, I mean, I wouldn’t, but you can, because each of these teleforms has their own statuses over here, like started, in progress, completed, abandoned. Instead of using enums for the statuses, you’re better off computing the data over here in, like, your own tool, and creating transformations, in my opinion. And Robert and Sir, if you have a different opinion, let me know.
275 00:42:36.040 ⇒ 00:42:36.670 Robert Tseng: No, that’s all…
276 00:42:36.670 ⇒ 00:42:37.300 Ryon: That’s it. I don’t.
277 00:42:37.300 ⇒ 00:42:38.190 Robert Tseng: do right now.
278 00:42:38.540 ⇒ 00:42:39.649 cameron: Yeah, that’s… that’s…
279 00:42:39.650 ⇒ 00:42:46.400 Ryon: I don’t really care… sorry, I’m not being clear. I don’t really care how it’s done. I’m asking, can it be done if it needs to be done, basically.
280 00:42:46.400 ⇒ 00:42:50.950 cameron: It can, it can, but I don’t recommend adding the statuses in Prisma, just being fully transparent.
281 00:42:52.410 ⇒ 00:42:53.020 Ryon: Okay.
282 00:42:53.670 ⇒ 00:43:05.689 Ryon: Second question is regards to the coupons. It sounded like earlier you identified that the coupon codes are something you added back to the discount functionality. Does that sound right? It sounds like the answer is yes, I just want to confirm.
283 00:43:05.690 ⇒ 00:43:07.790 cameron: Pricing profiles, yeah, I saw the coupon.
284 00:43:08.450 ⇒ 00:43:09.439 Ryon: Okay, cool.
285 00:43:09.610 ⇒ 00:43:10.160 Ryon: Thank you.
286 00:43:10.790 ⇒ 00:43:16.700 cameron: Hopefully, I don’t… I’m not sure if this… this may air out, because we just changed our renderer, but hopefully this loads.
287 00:43:16.970 ⇒ 00:43:20.990 cameron: So I can show you what the actual dynamic infix looks like.
288 00:43:24.740 ⇒ 00:43:26.830 cameron: Hold on, let me build this like this.
289 00:43:29.090 ⇒ 00:43:30.340 cameron: Embarrassment.
290 00:43:37.360 ⇒ 00:43:38.040 cameron: Say.
291 00:43:38.860 ⇒ 00:43:39.960 cameron: Cool, that’s work.
292 00:43:40.360 ⇒ 00:43:51.600 cameron: Okay, these are the dynamic intakes. I can actually show you on the screens the new schema on how the answers look like. This is what I really care about. So, let me just start answering some of these stuff.
293 00:43:54.620 ⇒ 00:43:59.609 cameron: And for these inputs, if you notice on the right side of my screen, every single time I complete,
294 00:43:59.620 ⇒ 00:44:06.359 cameron: like, I get… I unclick, it will actually update the answers here, and gives us the ability to trigger partial
295 00:44:06.360 ⇒ 00:44:26.499 cameron: events. Now, the way you can send a segment is there’s two ways of doing it. Either A, we can send, like, live by live from the client side, or B, we know when the person disconnected from the intake, because the WebSocket polling connection goes bye-bye, and you can have it so the second the WebSocket connection goes bye-bye, you can… you can basically send over all of this stuff to segment.
296 00:44:29.030 ⇒ 00:44:44.480 cameron: So, you have the base schema. The base schema contains all the base information, right? You have the categories, where there’s categories, certain things, the base field IDs and transitional IDs. When you build intake forms, this is more of a code-level thing, I’m not sure. Is this anyone… something anyone cares about, or no?
297 00:44:46.080 ⇒ 00:44:52.309 Surf: Oh yeah, this is… this is important to me, like, how… how we pass the data, into segment, because obviously for…
298 00:44:53.530 ⇒ 00:44:58.299 Robert Tseng: HIPAA compliance reasons, we just want to make sure that we understand what’s being passed back and forth.
299 00:44:58.740 ⇒ 00:45:05.119 cameron: Yeah, let me see if I can console log some important stuff over here, so you can see everything. Let me just ask AI to do it real quick.
300 00:45:10.500 ⇒ 00:45:23.189 cameron: Will that work? I’ll explain it to you. So, you have a base intake form called WM.TSX. This creates the base questionnaires. These questionnaires are required by the doctor network and cannot be changed. For example, single choice health goals.
301 00:45:23.390 ⇒ 00:45:43.360 cameron: location, date of birth, gender, create account, BMI. The way the schema is set up is it’s super easy for you to leverage a tool like Cursor to go ahead and actually create these new intakes. You’re never going to have to change WM.TSX, because this is the default one. It’s 100% type-safe, so if you hover over, like, value, you know what’s going to come back, and you can build your own rules using code.
302 00:45:43.360 ⇒ 00:45:48.889 cameron: It’s the best way to do it, in my opinion, and I think it’s gonna allow for Eden to move extremely fast. And for anyone to move extremely fast.
303 00:45:48.890 ⇒ 00:45:52.160 cameron: from that matter. Now, the next thing is extending intakes.
304 00:45:52.160 ⇒ 00:46:03.939 cameron: For example, this is an intake called Red Mud, inspired from Remedy Meds. You can basically take the screens, you have a tool called Inject After, where you can pass in an ID, and the IDs are type-safe, so it’s gonna know if it’s gonna error or not.
305 00:46:03.940 ⇒ 00:46:26.770 cameron: And you can pass in the proper member settings screen over here. Now, you can continue to expand the screens, and these ones, are grouped into a schema called extended, so you can identify what questions are part of the base intake that are going to be part of every single weight loss intake, no matter what. This way, you don’t have to, like… with BASC, you have 100 different intakes, you’ve got to make sure everything’s the exact same. You don’t got to do that anymore.
306 00:46:26.770 ⇒ 00:46:40.869 cameron: Because everything in WM is kind of like a base, and the ID is all the same. Then you can extend it, and it’s actually grouped into separate categories, which allows Eden to extend their intakes and add transitionals as they want. So…
307 00:46:40.970 ⇒ 00:47:00.480 cameron: Transitional, you can use a transitional thing over here, you can pass in a component, or you can have the transitional be, like, a full-on, like, overlay, right? So, I’m gonna go ahead, this is hard-coded manually right now, but I’m gonna go ahead and just change this to the… to the other intake over here by, go over here… portal, stores, app, store…
308 00:47:00.640 ⇒ 00:47:10.839 cameron: Intake page. Cool, so this is the future of flow, right? I’m gonna switch this to this flow, so you can see, like, how… how you can easily change stuff, right? So…
309 00:47:13.080 ⇒ 00:47:17.880 cameron: This is going to be dynamically resolved via the URL, we just turned it off for now.
310 00:47:18.320 ⇒ 00:47:20.270 cameron: I’m gonna go ahead and refresh my page.
311 00:47:21.630 ⇒ 00:47:30.980 cameron: Right, so see, this intake’s a little bit different, right? See how, like, the way that it asks stuff is a little bit different? And you can see over here, right,
312 00:47:31.870 ⇒ 00:47:40.969 cameron: Like, for example, these are the screens, it computes what’s visible and not. It is the current screen, right? I’m gonna save an answer right now. I’m gonna just go to the next step.
313 00:47:42.370 ⇒ 00:47:56.529 cameron: current state, answer state, so see how it, can group the answers to, like, the base stuff, the extended stuff, right? And this way, you’re able to really map it inside of the way you want it. Is there any kind of questions or concerns on how this is done?
314 00:47:57.730 ⇒ 00:48:13.980 Robert Tseng: Yeah, I have a quick question. So, yeah, I mean, thanks for going through the code. I think the modularization makes sense. So, I’m assuming, yeah, rather than… I mean, I don’t know exactly how Bass does it, but, I guess when we’re defining an intake event, it’s… I mean, it’s not…
315 00:48:14.200 ⇒ 00:48:27.169 Robert Tseng: like, what’s… so you have it, terraformed into a JSON schema in the code that’s returned on the client side that you can… they can… I just… I think I’m a little bit confused on, like.
316 00:48:27.370 ⇒ 00:48:29.719 Robert Tseng: I mean, I… like, the… on…
317 00:48:29.900 ⇒ 00:48:36.310 Robert Tseng: you… this is your version of, like, what a track event looks like. I’m… I’m having a little bit of a hard time following.
318 00:48:36.310 ⇒ 00:48:53.110 cameron: So the way a track event would work, is see how there’s an on… show if and disqualify if? Right now, my team’s working on, like, a unified Remo, analytics package. Now, here’s the main question. Are you guys going to be reporting anything directly through Meta’s Pixel and Google Tag Manager? Everything’s going to be going through Segment.
319 00:48:53.620 ⇒ 00:48:54.520 Ryon: So, everything goes…
320 00:48:54.520 ⇒ 00:48:55.220 Robert Tseng: segment.
321 00:48:55.400 ⇒ 00:48:56.040 cameron: Okay.
322 00:48:56.040 ⇒ 00:49:17.609 Ryon: Hold on, hold on, hold on for a second. Let me speak to… So, for our intakes, it’s a combination. Any HIPAA, issues that are, like, you know, special PHI is going to go through segment. Other stuff is going to go through, GTM to GA4, but it’s not going to include any identifiable information, or anything that would cause, like, PHI. It’s not even including that.
323 00:49:18.290 ⇒ 00:49:24.680 cameron: So, Robert, what we’re building, see over here where it says show if and disqualify if? We’re basically building,
324 00:49:25.100 ⇒ 00:49:39.079 cameron: a thing, it’s called Remo Track, right? And it’s gonna have all the variables in here, and based off of here, this is where you can use the segment SDK and do, like, segment.track, and actually pass in the variables and everything like that you need.
325 00:49:39.770 ⇒ 00:49:40.770 Robert Tseng: Okay.
326 00:49:41.480 ⇒ 00:50:03.400 cameron: So instead of having to, like, listen for iframes, listen for clicks, you just code it once in the base screens, and now all the base screens are tracking, and this way, when you extend the intakes, you can implement the tracking here. Now, the whole point of the settings schema, which I showed in the settings UI here, right, is so that Eden can, like, use one intake, and possibly
327 00:50:03.400 ⇒ 00:50:21.590 cameron: Oh, this is, like, I have to refresh page, because it’s just rebuilt. So Eden can, like, pass their own settings over here, and instead of having to, like, make a whole new intake, they can, on their member settings, if it’s the same component, they can pass in, like, an option, like, you know, variant A, B, C, D, E. So this way, the same intake can have multiple
328 00:50:21.590 ⇒ 00:50:34.189 cameron: different screens, but it’s not going to mess up the flow or anything. So that’s the whole reason why we built, like, this intake builder over here, where it dynamically takes the settings from a ZOD object and renders it on the side of the screen here.
329 00:50:34.190 ⇒ 00:50:41.669 cameron: So see how I press Solid? It turns like this. See how if I press animated, it goes back to that? You can press the color, right? So these are things that…
330 00:50:42.310 ⇒ 00:50:44.160 cameron: You can, for example, do here.
331 00:50:48.130 ⇒ 00:50:53.589 Surf: Quick question, how hard is it to leverage and use this potentially with another intake form?
332 00:50:54.690 ⇒ 00:50:55.859 cameron: What does that mean?
333 00:50:56.830 ⇒ 00:51:04.739 Surf: Well, you’re showing us, like, your intake flow and your intake forms and stuff, but I know Eden’s already working on one as well. If you wanted to swap those out, how hard is that?
334 00:51:05.320 ⇒ 00:51:15.959 cameron: I’m not too sure, honestly. I mean, like, this is what I’m gonna deliver. I mean, if they… this is what I built. I mean, this is based off of, like, my research on segment, and Robert, I think you’re probably the most educated person here to talk about data.
335 00:51:15.960 ⇒ 00:51:35.360 cameron: So, honestly, any feedback you have, I’d love to hear. I took inspiration for Segment and Shopify. The last really thing that’s important to me is the attribution stuff. So, every time you start a Teleform, you have a Teleform response that has the screen metrics and the responses. The screen metrics is gonna help you, like, it’s kind of like Hotjar, but, like.
336 00:51:36.080 ⇒ 00:51:51.340 cameron: like, inside of the code, so you can, like, run numbers and stuff yourself. The one thing that’s important is a session. This is the same way Shopify does. Every time you hit a teleform, it creates a session, right? A session lasts for 30 minutes, right? The teleform response still exists.
337 00:51:51.340 ⇒ 00:52:09.360 cameron: if you come to it, it creates an anonymous ID, and if you, it creates a lead, a lead object over here, right? So a lead object over here is unique by the email. So if someone starts on their phone, they create a Teleform session, and they, on their computer, they go back to the same form, it’s gonna eventually consolidate to the same lead.
338 00:52:10.350 ⇒ 00:52:11.390 cameron: Make sense?
339 00:52:12.630 ⇒ 00:52:26.460 cameron: So, this way, if you pull back a lead, you can see that, yo, like, you know, this lead, even if it’s an anonymous lead, right, where it has an anonymous ID, right, the fingerprint and stuff is stored on the actual teleform response.
340 00:52:26.460 ⇒ 00:52:38.209 cameron: Right? The fingerprint of the… we have a custom library that we’re hashing the fingerprint of the device in a very accurate way, similar to fingerprint.js, but it’s a little bit more accurate, because it can detect incognito and non-incognito.
341 00:52:38.210 ⇒ 00:52:43.570 cameron: And basically, it grabs the fingerprint, and it creates a… it creates a teleform response.
342 00:52:43.570 ⇒ 00:52:58.559 cameron: And this way, if you… once you ever want to, like, if someone ever actually purchases anything, you can query the lead, and you can send all the information to segment. You see the customer ID, you can see all the telephone responses and all the individual sessions. Now, the sessions…
343 00:52:58.600 ⇒ 00:53:14.750 cameron: I had a long discussion with my team whether to go JSON or whether to go full-on, like, typed out. We decided to go full-on typed out for the UTM, for the FBC, for the GClicks, for the TikToks, for the Snapchat, the LinkedIn, the Twitter X, Pinterest, and catch-all ad programs.
344 00:53:14.750 ⇒ 00:53:23.330 cameron: for the device IDs, for the OSes, for the browsers, for the user agents, for the screen width, all of this stuff, we decided to go full-on type out, and…
345 00:53:23.590 ⇒ 00:53:32.910 cameron: I’d love to hear your feedback on this. The reason why we chose to do this is because it’s going to be easier to calculate reports internally, and I just don’t like using JSON, to be totally honest with you.
346 00:53:32.960 ⇒ 00:53:35.829 cameron: So, this is really gonna help
347 00:53:35.830 ⇒ 00:53:53.320 cameron: the Brainforge team be able to, like, kind of query or, like, have these events sent to them to, like, really track a customer’s journey, and this is going to help you guys when you want to do your multi-touch attribution. So, instead of having to use, like, BigQuery, you can query the sessions here. You can use, like, a time decay method, or you can use, like.
348 00:53:53.320 ⇒ 00:54:01.140 cameron: you know, whatever you guys want, you guys can really use this data to do the attribution. The FBC and the FBP and the G-Click IDs are all here.
349 00:54:06.250 ⇒ 00:54:24.330 Surf: Got it. I guess, high level… well, keep going through this. I think there’s also a section where you want to talk about, like, the feature mappings and what’s not there. I guess, high level for your deliverables, I guess, t-shirt size level, how long do you think before everything’s done for…
350 00:54:24.380 ⇒ 00:54:30.460 Surf: Eden to be able to say, hey, we want to try, like, a simulated test version of, like, sending you
351 00:54:30.680 ⇒ 00:54:36.360 Surf: GLP-1, have it hit all the rails, and actually, like, submit an order, that sort of thing.
352 00:54:36.360 ⇒ 00:54:45.980 cameron: For my… yeah, for my team’s decision, we basically… for my team’s side, we basically made the decision to complete the codebase with, like, as much features as Eden needs, and strip out the Remo stuff.
353 00:54:45.980 ⇒ 00:55:09.520 cameron: And we want to… I hired some more people to kind of deliver a single-tenant codebase by November 1st. That’s our deadline, where we want to go to Eden and say, hey, this is exactly what you have at Basque, but a little bit more. At this point in time, we’re ready to transfer to you and how we want to edit the architectures on there. In the meantime, until we do that single-tenant codebase, I want Brainforge’s opinion
354 00:55:09.520 ⇒ 00:55:12.639 cameron: On if there’s certain schemas that we need to change.
355 00:55:14.890 ⇒ 00:55:17.549 Surf: Got it. So, alright, let me rephrase that.
356 00:55:19.190 ⇒ 00:55:34.819 Surf: I think we’re saying November 1st, which is a couple weeks away, right? Are we talking about just this code base moved into that state with the single tenancy ripped out, and then Eden takes over on the rest of development from there? Or I guess I’m asking…
357 00:55:34.850 ⇒ 00:55:36.130 cameron: There’s gonna be no more to talk.
358 00:55:36.140 ⇒ 00:55:38.030 Surf: There’s gonna be so much, yeah.
359 00:55:38.030 ⇒ 00:55:48.269 cameron: there’s gonna be no more development needed if the… if the goal is to, like… if the goal is to have exactly what Basque has and more, there’s not gonna be any more development required there, from… from my little bit.
360 00:55:48.430 ⇒ 00:55:51.459 Surf: So what we’re saying is, this, what you just showed us right now, is…
361 00:55:51.770 ⇒ 00:55:54.510 Surf: let’s call it feature-to-feature mapping to BASC, correct?
362 00:55:54.970 ⇒ 00:55:55.610 cameron: Yeah.
363 00:55:56.220 ⇒ 00:56:02.629 Surf: Okay, cool. Other than… and then, other than the single-tenancy ripped out, which is specifically for the Eden, correct?
364 00:56:02.840 ⇒ 00:56:07.909 cameron: Correct, so by November 1st, which I’m hiring two guys to specifically handle that task, is to rip out
365 00:56:08.190 ⇒ 00:56:22.900 cameron: all the over-complexity that multi-tenancy has, and strip it down to a single tenancy. Now, whether Eden uses the intake form APIs that we’ve built here, and I’d love your opinion on it to kind of structure it, because I’m a really big data nerd, and I love to learn about data, and I think that Robert has a lot to offer here.
366 00:56:23.030 ⇒ 00:56:37.229 cameron: In terms of that. Now, we want to deliver the best codebase possible. A feature-to-feature with Basque is gonna be… we’re going to do it, but it’s going to be a little bit tricky, because one BASC feature is, like, four features in Remo. So our goal is to just deliver exactly what’s in BASC.
367 00:56:37.360 ⇒ 00:56:47.799 cameron: to Eden by that November 1st date in a single tenancy state, and say, hey, at this point, the app is done, it’s built in a way where you can easily extend it. At this point, Eden’s developers
368 00:56:47.880 ⇒ 00:57:02.519 cameron: can start actually working with Robert to… and Robert’s gonna be like, yo, I need this segment, like, code here, I need this here, I need that here, but the code’s gonna be set up in the way where it’s fully type-safe, and the ability for them to do it is super streamlined.
369 00:57:03.050 ⇒ 00:57:09.559 Surf: Got it. So, well, Robert’s… and Robert, correct me if I’m wrong, you’re working on more of the integrations for the data side, so, like, the.
370 00:57:09.560 ⇒ 00:57:12.459 cameron: Brainforge, not robber, I’m just saying Brainforge in general.
371 00:57:12.460 ⇒ 00:57:13.510 Surf: Yeah, that.
372 00:57:13.510 ⇒ 00:57:14.050 Robert Tseng: That’s why I don’t.
373 00:57:14.050 ⇒ 00:57:30.620 Surf: Yeah, that’s specific to that side of the integration. I know we said that there’s still a couple of features that aren’t, like, ready yet for, like, again, like, if you wanted to send GLP-1 in right now, there’s a couple pieces missing, like the integration, Alex, that stuff, so we’re saying all of that stuff ready November 1st.
374 00:57:30.790 ⇒ 00:57:38.389 cameron: Yeah, it’s gonna be ready for Remo much earlier, and I can give you guys access to the Remo preview and the Remo prod environment, because Remo’s gonna be sending some orders and a test.
375 00:57:38.390 ⇒ 00:57:51.590 cameron: You guys can test it on Remo, but for Eden in particular, with Eden-specific pharmacy integrations that are different from Remo, and all the segment stuff that they need to go live, and the single tenancy, that data is right now set for 2 weeks from now.
376 00:57:52.540 ⇒ 00:57:58.249 Surf: Got it. Alright, so, single tenancy two weeks from now, and then,
377 00:57:59.020 ⇒ 00:58:09.440 Surf: Remo able to add, I mean, Eden able to add on, like, their own pharmacy integrations and that stuff, still using, let’s call it Dr. Telex as the main doctor. That should all be ready November 1st, correct?
378 00:58:09.680 ⇒ 00:58:25.339 cameron: Correct, yeah, because the doctor portal’s bundled in this code base. It should be, like, when you guys call me on next week, there’s gonna be… I can walk you through a whole, like, one of you guys can share screens, go to, like, a prod Remo instance, like, place an order with a code, and, like, me showing you how it gets filled and everything.
379 00:58:25.990 ⇒ 00:58:26.750 Surf: Cool.
380 00:58:27.390 ⇒ 00:58:29.939 Surf: And you said that should be ready next week.
381 00:58:30.190 ⇒ 00:58:47.059 cameron: That should be ready by next week, Thursday, yeah. I mean, it was supposed to be ready for today, but we had to strip out a bunch of stuff, because we did a last-minute re-architecture before launch, because we realized we would have had a huge issue when it comes to skincare items in particular, with the kits. So, it was, like, a last-ditch effort before Remo kind of goes live, and it’s like, hey, we gotta fix this real quick.
382 00:58:52.500 ⇒ 00:59:09.100 Ryon: I just want to make sure of something… sorry, Wish, real quick, I just want to make sure of something, Cameron, for everybody, so we’re all on the same page. Does delivery to Eden include a way for us to provide a connection to any external intakes that we are building, right? Does that… does it include that?
383 00:59:09.360 ⇒ 00:59:13.839 cameron: There will be a base-level API that will allow you to basically interact with what we have here.
384 00:59:15.440 ⇒ 00:59:15.760 Ryon: Okay.
385 00:59:15.760 ⇒ 00:59:17.879 cameron: The way you choose to utilize it is up to you.
386 00:59:20.720 ⇒ 00:59:27.259 Surf: I like that question. I think I had asked it a little bit earlier, but that was a little bit more succinct of the answer, so let me restate it.
387 00:59:27.260 ⇒ 00:59:28.140 Awaish Kumar: So…
388 00:59:28.140 ⇒ 00:59:40.030 Surf: There will be an API where if Eden has their own form, we can just submit the JSON to said API, and then it hits the rest of those following… we follow the format of the API, correct?
389 00:59:40.560 ⇒ 00:59:42.669 cameron: Correct, there’s gonna be a create update
390 00:59:42.710 ⇒ 01:00:05.960 cameron: delete endpoint for each of these. You don’t necessarily need a teleform session in order to, like, do this stuff. It’s just the EMR won’t send in the back-end events directly to the pixel if you don’t create the session with these in here. But there’s gonna be a get endpoint to get the list of the variables, and to get the ZOD schema as a standard… you’re familiar with, like, a new standard schema for objects, right?
391 01:00:07.070 ⇒ 01:00:10.059 Surf: No, could you elaborate a little bit?
392 01:00:13.280 ⇒ 01:00:20.649 cameron: So, we’re using standard schema, is this new JSON schema, it’s called, it’s called Standard Schema, it’s a new.
393 01:00:21.080 ⇒ 01:00:22.260 cameron: basically, like.
394 01:00:23.140 ⇒ 01:00:39.079 cameron: standard schema for JSON objects. So we’re… this is the tech stack, sorry, this is the, spec that we’re using for the intake forms, so when they request it, they can get back a standard schema, and tells them exactly what the types and everything on what needs to be done.
395 01:00:40.760 ⇒ 01:00:48.380 Surf: Got it. But it won’t be, like, open API available, like, so we can just have, like, API documentation that we.
396 01:00:48.380 ⇒ 01:01:06.230 cameron: There will be… there will be 4 endpoints that are open API available. There’ll be four to five endpoints. It’ll be get… it’ll be get form standard schema, create teleform response, update teleform response, create teleform session, Update Teleform Session, and Place Order.
397 01:01:07.970 ⇒ 01:01:08.610 Surf: Cool.
398 01:01:09.710 ⇒ 01:01:13.570 cameron: And obviously, you need to fill out all the teleform stuff before an order is placed.
399 01:01:15.590 ⇒ 01:01:16.220 Surf: Cool.
400 01:01:20.140 ⇒ 01:01:43.240 Ryon: One more question from me, I’m sorry, I wish I… I’m probably interrupting you, do apologize. You’d said earlier, Cameron, that you guys are expanding to include more products, or all products. Can I assume that when you deliver it to Eden, it will support all of the products we currently sell? So that being all GLP-1s, NAD, Simorlin, glutathionine, Vartad, everything. It’s going to support all of those, or is it just…
401 01:01:43.240 ⇒ 01:01:59.860 cameron: That’s how your pharmacy maps it, yeah. I mean, you guys are gonna have to get the questionnaires, and you guys are gonna have to, like… I mean, obviously, I think… I do believe that there is an ongoing maintenance, so I think we can… we’re gonna be doing some of it. I’m pretty sure there is ongoing maintenance, so we can do some of it, but it’s set up to support any product.
402 01:01:59.860 ⇒ 01:02:05.089 cameron: So, as long as the pharmacy APIs are properly configured, it’s set up to support any product.
403 01:02:07.440 ⇒ 01:02:08.060 Ryon: Okay.
404 01:02:09.230 ⇒ 01:02:18.630 cameron: you could even somehow, like, to be honest, you could even write, like, an integration here, adding Shopify as a pharmacy, kind of, like, loopholing it, and you can send over to Shopify if you wanted to.
405 01:02:23.610 ⇒ 01:02:24.720 Ryon: Okay, thank you.
406 01:02:26.340 ⇒ 01:02:27.460 Awaish Kumar: Okay, so let’s
407 01:02:28.520 ⇒ 01:02:41.939 Awaish Kumar: Cameron, you have answered all the questions, regarding operational part of the remote. I think that’s Microsoft and Leon already asked questions about it. I have only few questions regarding
408 01:02:42.030 ⇒ 01:02:57.770 Awaish Kumar: data migration part. Like, we still… we will need support from Remo if we want to do data migration. One of the requests I got from Rayan was, we want to migrate existing data, whatever is in Basque should be in the Remo, so…
409 01:02:57.900 ⇒ 01:03:03.220 Awaish Kumar: what are you, like, planning for that? Will you be migrating that data, or…
410 01:03:03.220 ⇒ 01:03:17.490 cameron: We’re open to do it. Yeah, I mean, we’re open to do anything, it’s just that I have to call… I have to talk to Josh and Adam to make sure it’s in our… it’s in the contract where we’re… you know, if I’m staffing my team, I gotta make sure that they’re getting paid to do it, right? But we can help with data migration.
411 01:03:19.240 ⇒ 01:03:19.990 Awaish Kumar: Okay.
412 01:03:20.180 ⇒ 01:03:22.979 Awaish Kumar: And second thing regarding…
413 01:03:23.200 ⇒ 01:03:35.369 Awaish Kumar: Data is that… so all the, orders which are coming in, all the updates to the order and all of it, it needs to go to some warehouse.
414 01:03:35.620 ⇒ 01:03:40.049 Awaish Kumar: Maybe through, like, bus does through web books.
415 01:03:40.440 ⇒ 01:03:53.690 cameron: Yeah, I have a solution for that. So, we’re actually building out the Remo slash events. My guys, I tasked, like, literally 2 hours to finish this up. Packages Remo slash events, where it has all the webhooks, and there’s packages Remo slash app.
416 01:03:53.690 ⇒ 01:04:18.550 cameron: where there’s a standard, like, interface where you can basically, like, write one line of code, and then all the webhooks can… you can transform it in the code, or you can just add a basic webhook. So you can add an app called, like, BigQuery, and run the transformations in the code level, or you can, like, you know, proxy it through Segment, it doesn’t really matter how you do it, but there’s gonna be events set up for every single thing in the system that’s gonna have an event.
417 01:04:19.380 ⇒ 01:04:25.029 cameron: The event gets fired to a webhook destination, or you can create an app and transform it.
418 01:04:25.790 ⇒ 01:04:28.310 Awaish Kumar: Okay, so do we… do we have any, like.
419 01:04:28.420 ⇒ 01:04:32.299 Awaish Kumar: Documentation on what all the webhooks are supported, or…
420 01:04:32.800 ⇒ 01:04:46.280 cameron: It’s gonna be different, because Remo’s is multi-tenant, so there’s a lot of webhooks that we have that you guys won’t, so I can share you the webhooks for Remo that should be done, hopefully, in the next couple days here. But a lot of them are gonna be changed, because the multi-tenant is gonna be removed.
421 01:04:47.500 ⇒ 01:04:48.180 Awaish Kumar: Okay.
422 01:04:49.020 ⇒ 01:04:53.520 Awaish Kumar: So, will that also be done by the first November, or…
423 01:04:54.120 ⇒ 01:05:03.620 cameron: Yeah, the multi-tenancy part is gonna be just us getting rid of the multi-tenancy, yeah, which is gonna strip down the… it’s basically a bunch of, like, many-to-many models that are gonna be stripped down, just going one-to-one.
424 01:05:03.820 ⇒ 01:05:04.890 cameron: Or one to many.
425 01:05:05.920 ⇒ 01:05:06.520 Awaish Kumar: Okay.
426 01:05:12.880 ⇒ 01:05:15.969 Awaish Kumar: Okay, does anyone else have any questions?
427 01:05:15.970 ⇒ 01:05:18.660 Surf: Yep, I have one other question.
428 01:05:19.180 ⇒ 01:05:30.800 Surf: As last question, Cameron, the delivery to Eden just consists of the code, not the infrastructure also already pre-configured and, like, running? Huh?
429 01:05:31.140 ⇒ 01:05:39.089 cameron: We can do the intro, it’s not a big deal, like, I can do… it’s just Vercel, PlanetScale, and Upstash, and Bunny for CDN, we can give this all to you.
430 01:05:39.510 ⇒ 01:05:40.530 Surf: Cool, sweet.
431 01:05:40.530 ⇒ 01:05:55.819 cameron: There’s a couple other things, for example, like, for example, we’re using, like, live blocks for the, like, collaboration feature, so you guys can’t see this, but if I open this on another tab, and I move this to my second screen over here, right? Hold on.
432 01:05:56.320 ⇒ 01:06:10.280 cameron: There’s a collaboration feature in here where if someone’s, like, actually doing something, you can see what’s going on here, so two people aren’t doing the same thing at the same time. It’s relying off a third party, so there’s a couple collaboration features that you gotta use a third party for, but, we can set up the infrastructure.
433 01:06:11.830 ⇒ 01:06:12.720 Surf: Clinical.
434 01:06:14.280 ⇒ 01:06:17.739 cameron: Yep. And it comes with the white mode and the dark mode, I don’t know if anyone cares about that.
435 01:06:21.070 ⇒ 01:06:21.950 Surf: Cool.
436 01:06:22.290 ⇒ 01:06:30.900 Surf: I guess, I don’t know if we’re… if anyone has any more questions here, or could we just move real quickly to the… I think you had a Google Sheet with, like, I guess…
437 01:06:31.030 ⇒ 01:06:36.919 Surf: the feature list and, like, that. I just want to make sure that we’re mapping against those as well.
438 01:06:37.320 ⇒ 01:06:43.810 cameron: We’re working on it. It’s a little bit tough right now. You can see these are epics. We’re still working on a couple stuff. Some of this is Remo stuff, for example, like.
439 01:06:44.840 ⇒ 01:06:47.240 cameron: We started working on the mask stuff, right?
440 01:06:47.500 ⇒ 01:06:59.490 cameron: So we are starting to work on here. Did Monday… I mean, I can share this with you. I don’t know if Monday’s the best thing that we’re gonna deliver to Eden. I mean, if you guys have a recommendation, I’m thinking we’re gonna just take this and just create, like, a bullet checklist.
441 01:06:59.670 ⇒ 01:07:17.020 cameron: I think we’re gonna end up creating, like, an Excel, where it has, like, a BASC feature on the left, and then the list of remote features on the right, and then kind of, like, a checklist where everyone can go through. Probably have Adam go through, Josh go through, have, like, a couple members of Brainforge go through, and once everyone checks off each box, we’ll consider it done and over with.
442 01:07:17.320 ⇒ 01:07:18.100 Surf: Cool.
443 01:07:20.100 ⇒ 01:07:20.720 cameron: Cool.
444 01:07:21.050 ⇒ 01:07:28.240 cameron: So yeah, I mean, at this point, I just wanted to ask, is Brainforge confident that this platform is not just a pretty UI with some non-functional buttons?
445 01:07:31.740 ⇒ 01:07:40.150 Robert Tseng: I guess, I don’t know why you keep referencing that. I think I… I think I made a comment to ELT saying that all we’ve seen is a front end with buttons, so I think it…
446 01:07:40.150 ⇒ 01:07:57.270 cameron: I’m just wondering, are you guys, like, confident in this platform? Like, we want to work with you guys to get this, like, the best data as possible. So I just want to make sure you guys are confident in what we have now, and if there’s anything you need us to immediately change, please inform us now so we do it.
447 01:07:58.560 ⇒ 01:08:11.220 Robert Tseng: Yeah, well, I mean, thanks for the walkthrough. We’re gonna have to kind of… kind of go… revisit this kind of internally. I think there were some, like, things that I… I mean, everyone has a different perspective here, but for me, I was caring a lot about
448 01:08:11.620 ⇒ 01:08:26.140 Robert Tseng: you know, the data that’s what we’re going to be able to take out of the intakes. I do think that, like, the approach to how we do segment… how we set, kind of basically allow for segment tracking is not… I mean, we basically need two separate schemas, one that’s…
449 01:08:26.319 ⇒ 01:08:30.230 Robert Tseng: allows for the PHI, kind of,
450 01:08:31.470 ⇒ 01:08:56.280 Robert Tseng: the PHI-compliant, like, way of taking… taking data out of the app for segment, because we don’t want… we don’t want to push any PHI in there, and then GTM is going to require something different. So it’s like, if we’re gonna… for this to be extensible for all the different tracking frameworks, yes, it’s all just JavaScript that we… that these… these tools end up putting into… that end up calling from your app, but you… we just… it’s not very clear to me how this
451 01:08:56.279 ⇒ 01:09:00.720 Robert Tseng: set up to be able to handle multiple types, different types of those requests.
452 01:09:01.020 ⇒ 01:09:13.659 cameron: Yeah, I mean, from the Remo side of intake forms, this is what we have. I mean, I think it’s pretty built out. I’d like to know your opinion on it, to, like, have all the UTM params and stuff. This way, we can just pass it on the segment, and you can even API in if you need to get stuff.
453 01:09:13.850 ⇒ 01:09:23.479 cameron: This pretty much just everything. I mean, at least, if I’m missing anything, let me know, but in order to, like, do the attributions and stuff and the sessions, it’s identical to Shopify, right? So, the 30-minute session.
454 01:09:23.580 ⇒ 01:09:29.260 cameron: It takes UTM parameters, makes it here, you get a new session, right, it’s gonna override the parameters.
455 01:09:32.550 ⇒ 01:09:34.979 Robert Tseng: Yeah, I understand that you’ve built something… I mean.
456 01:09:35.010 ⇒ 01:09:55.880 Robert Tseng: by having, like, you know, Google has its own pixel, you put it in, like, it ends up doing the same thing. Segment tracking, like, they also have their own version of session, so everyone’s kind of implementing the same kind of feature, so whether it’s redundant or not, I mean, it’s probably good to have something first-party, but I mean, I don’t really have an opinion on this part of the…
457 01:09:55.880 ⇒ 01:10:09.660 cameron: Yeah, I mean, the main purpose of this is so that you can, like, basically, like, from our backend, like, instead of having Segment go through the client side, from the actual backend of Remo, you can have this go to segment, so it’s a server-to-server connection instead of a client-to-server.
458 01:10:11.120 ⇒ 01:10:12.180 Robert Tseng: Okay.
459 01:10:12.180 ⇒ 01:10:19.800 cameron: Oh, that was my thought process. That’s how Shopify does it. There are events for segments, some of them are server-server. Especially for the purchase, right? That’s what matters the most.
460 01:10:20.280 ⇒ 01:10:20.890 Robert Tseng: Yeah.
461 01:10:21.800 ⇒ 01:10:26.030 cameron: Right? Because you don’t want someone, like, going on the store and, like, spoofing purchases from a client side, right?
462 01:10:26.610 ⇒ 01:10:27.230 Robert Tseng: Yep.
463 01:10:29.570 ⇒ 01:10:36.990 Robert Tseng: Okay, well, we’re gonna… thanks for this, we’ll take this back, and yeah, I guess we’ll check in again next week, but .
464 01:10:36.990 ⇒ 01:10:42.860 Surf: Yeah. I guess one quick thing on, like, that, I guess that last statement of, like, what we would want to see, I guess…
465 01:10:42.960 ⇒ 01:10:52.729 Surf: Next week, we have some stuff. November 1st, we have, like, a deadline, I guess. What’s the earliest point where, I guess, this will be in a state for us to, like.
466 01:10:53.130 ⇒ 01:11:01.090 Surf: run that whole flow, like, go through an order flow, submit GLP-1, that sort of thing, in a non, like, localhost state. ETA on kind of that.
467 01:11:03.810 ⇒ 01:11:05.489 cameron: Sorry, you cut out a little bit, could you repeat that?
468 01:11:05.800 ⇒ 01:11:12.250 Surf: Yeah, I guess. I know we have some stuff coming in next week, and I know we have, like, the deadline for November 1st, I guess.
469 01:11:12.460 ⇒ 01:11:24.759 Surf: what is the deadline for, I guess, in between any of those, where we could see, like, let’s put in an order for GLP-1, like, fake through it, have it hit all through the endpoints and stuff like that.
470 01:11:25.040 ⇒ 01:11:29.399 Surf: and, like, see that I registered for, like, a GLP-1.
471 01:11:30.720 ⇒ 01:11:33.019 cameron: In a non-local hostate.
472 01:11:33.600 ⇒ 01:11:34.740 cameron: Next week’s good.
473 01:11:35.700 ⇒ 01:11:36.350 Surf: Cool.
474 01:11:37.380 ⇒ 01:11:39.139 cameron: Alright, cool. Alright, thank you.
475 01:11:39.780 ⇒ 01:11:40.480 Robert Tseng: Thanks.
476 01:11:41.040 ⇒ 01:11:45.159 Nick G: Cameron, would you, do you wanna, do you wanna check in?
477 01:11:45.700 ⇒ 01:11:47.169 cameron: Yeah, give me, like, 20 minutes.
478 01:11:47.400 ⇒ 01:11:50.830 Nick G: Yeah, take your time, I know you just spent, like, 2 hours talking to everyone.
479 01:11:51.340 ⇒ 01:11:52.280 cameron: Alright, thank you.
480 01:11:52.830 ⇒ 01:11:53.690 Nick G: message me.
481 01:11:53.940 ⇒ 01:11:55.109 cameron: I got you, man. Alright, bye.