- Duration: 49 min
- Platform: zoom
- Source: Read.ai 01J8V8VNJF3P0PJGX9A53YNAV7 (https://app.read.ai/analytics/meetings/01J8V8VNJF3P0PJGX9A53YNAV7)
Transcript
[Sid]: Hey, what’s going on, man? Yeah. Yeah. [Conference Room (Michael Houck) - Speaker 1]: I know. I’m I’m a anticipation. Anticipation is killing me. [Conference Room (Michael Houck) - Speaker 1]: Oh man. I feel like I’ve been, I feel like I’ve been telling people that we’re almost ready to launch for like two months. So it’ll be nice to actually I mean, that was long time. [Sid]: They must be waiting for from a very long time. [Conference Room (Michael Houck) - Speaker 1]: Yeah, people people have been upset. A lot of people have have been upset about it. But we got to make sure that we we get the estimates right in the future. I think we all know that. So it’s okay. As long as we, you know, figure it out and get it right going forward. That’s all that matters. [Sid]: Correct. I also think that it’s nice that those people actually waited for so long because I have seen that they like people, they switch to other platforms and whatnot. [Conference Room (Michael Houck) - Speaker 1]: We did, we did have a good amount of, of churn for sure. Uh, but I think it’s just the fact that no one else really has a platform like us. Um, and I think that is a good sign for our, our future too. [Sid]: So that’s a good thing. [Conference Room (Michael Houck) - Speaker 1]: Yeah, yeah, yeah, yeah. [UNKNOWN_SPEAKER]: Um, okay, cool. [Conference Room (Michael Houck) - Speaker 1]: It looks like Rafael is online. Uh, just hasn’t jumped in yet. Um, let me, I’ll send everybody a message in the channel. Oh, you, you got it too. [UNKNOWN_SPEAKER]: Yeah. [Conference Room (Michael Houck) - Speaker 1]: Do we need Rizwan? [Sid]: I think he did a production release for the bots yesterday, but it’s good to have him. I mean, if he can join, great. Otherwise I think we can still manage. [Conference Room (Michael Houck) - Speaker 1]: Okay. I just asked if he’s around. So we’ll see. [Sid]: Yeah, it makes sense. [Conference Room (Michael Houck) - Speaker 1]: My host says he doesn’t have the invite. That’s odd. [Conference Room (Michael Houck) - Speaker 1]: How do you get the link? [Sid]: I think yesterday he slept and then he may not have checked the mail. That’s why it should be there in the email. I can share, okay. [Conference Room (Michael Houck) - Speaker 1]: Okay. I just shared the link with, uh, with both him and, and Rafael. Um, cool. Very, very exciting stuff. [Sid]: Just two, two hours maximum. I think, I mean, let’s see when, but let’s see when we start. [Conference Room (Michael Houck) - Speaker 1]: Yeah, we’ll, we’ll, we’ll see. I’m holding my breath. Uh, but, um, If it’s two hours, that would be good. We’ll see. Hey, Rafael. [UNKNOWN_SPEAKER]: Hey, guys. What’s up, man? If we get it done, we’ll be popping champagne over here. Today I feel way less stressed because we validated everything. [Rafael Bruno]: thing. I think that’s it just need to fix some stuff on the database. But after that, he can push things. He can create the production database, and we can merge successfully. [Sid]: Sanyam Bhutani That’s done Rafael what we what you shared me yesterday shared with me yesterday. I did that just a few minutes ago while talking to Mark in the meeting. So that you mentioned when was the that has been updated about users. Do you think you should soft delete them? [Rafael Bruno]: You can, when you are migrating the data from Airtable to the production database, you can put a condition to only migrate users that have email and that the email is not like a, a empty string. [Sid]: Okay, what if I mean, they have some broadcast, is it possible? I mean, where did those accounts come from [Rafael Bruno]: I’m wondering if they had an email earlier, but somehow, I don’t think that I don’t think that they have broadcasts, because they don’t even have emails, they would have to they would need emails to log into the platform. [Sid]: Yeah, agreed. They cannot log in now. I’m saying I’m like thinking if they had an email earlier, and then we updated it to empty string. [Conference Room (Michael Houck) - Speaker 1]: Can you share an example? Like what’s the Yeah, it’s a good sharing example we can I can look into it might be something that like I know for some reason. [Sid]: Yeah, actually, Russell So he’s saying that in our database, we have some, we have 800 accounts where user, where the email is not valid. Like it’s an empty string or it is none. [Conference Room (Michael Houck) - Speaker 1]: Oh, I see this. Yes. So I do know what this is basically in the very, very early days of megaphone. This is actually before Rafael even joined the team. This was just when it was me and I had a friend sort of helping out with various small and stuff and setting up our air table together. We added a bunch of people to here who were like target users, either as creators or as casters. So these are not people who I believe. Yeah, if you look in the creator status column for these people in air table, it all says target, which means that these are people who we targeted or status column, one of the two. So we don’t need to migrate these over. They’re not real users. I’m looking through the full list to make sure that’s the case for all of them. It looks like there might be a couple at the very bottom, which were, yeah, there’s like, here, I’ll share the list in Slack. I’ll get a thread going. Let me do that. Okay, so these are the only real people. [Conference Room (Michael Houck) - Speaker 1]: blank emails. Yeah, these are people who were actually no sorry, Matt and Pete are not it’s only the three. The three that are. [Sid]: Okay. Okay, fine. So Rafael, did you delete those users from their database? Because I’m Yes, yes, I did that. [Rafael Bruno]: Cool. [Sid]: All right. So are we good now, Rafael? What do you think? You can double check. One moment. [Rafael Bruno]: How do you have the emails of those users? [Conference Room (Michael Houck) - Speaker 1]: Good question. Let me find them. Okay. I have one. And double check this guy did not sign up with this email already, or with his name. His full name is, because if we already have him somewhere else, then we might not need him with this row. [Conference Room (Michael Houck) - Speaker 1]: The other two, let’s see. [Rafael Bruno]: Yes, we have, maxBitna on our database. [Conference Room (Michael Houck) - Speaker 1]: Okay, if that’s the case, then as long as this row isn’t like tied to anything else, like the marketing max one, then you can delete the marketing max one and keep the maxBitna one. [Conference Room (Michael Houck) - Speaker 1]: The other two, Steve Natto and Daniel Aghachi, we don’t have. I don’t have their emails. [Rafael Bruno]: Would it be a problem if we exclude the ones that we don’t have the emails? [Conference Room (Michael Houck) - Speaker 1]: Are they tied to any broadcasts or accounts or anything? [Sid]: They do have a caster and an amplifier. I mean, their status is active. Give me a second. [Conference Room (Michael Houck) - Speaker 1]: I can check Stripe too. Let me check Stripe. Maybe their emails are in Stripe. One second. [Rafael Bruno]: Steve doesn’t have any broadcasts. [Conference Room (Michael Houck) - Speaker 1]: Yeah, they’re not customers in our account either. [Conference Room (Michael Houck) - Speaker 1]: Do you find something I fail? Uh, no. I think, look, I think it’s safe. Um, we know who they are. If they email me, um, then we can just add them in. But if they’re not tied to anything else, it’s not going to fuck up any other data. Um, then I think we’re safe to, and move forward without them. [UNKNOWN_SPEAKER]: OK. [Rafael Bruno]: So see, when you execute the migration script, put the condition that the data from air table from the users table needs to have an email that is not null or empty string. [Sid]: Yeah, sure. That’s it, right? We are not doing anything. Cool. [UNKNOWN_SPEAKER]: Yeah. [Sid]: Cool. [UNKNOWN_SPEAKER]: Noted. Cool. [Sid]: So next steps. Are we starting? Rafael, are we all good on your side? Yes, on the back end, we are good. [Conference Room (Michael Houck) - Speaker 1]: Mahul, are we good on your side, front end-wise? [UNKNOWN_SPEAKER]: Everything set? [MJ]: Yeah. [Conference Room (Michael Houck) - Speaker 1]: And any concerns about the scraper Rizwan or did everything go well? [Rizwan Hameed]: It’s all good so far. I have brought all the bots to the production already by yesterday. [Conference Room (Michael Houck) - Speaker 1]: Okay. Were you going to say anything Rafael? [Rafael Bruno]: No, I was just about to ask Mehul to put the banner telling the user that we are under maintenance. [MJ]: Shall I put it now itself or? [Conference Room (Michael Houck) - Speaker 1]: Yeah, let’s do it now. It sounds like we’re all good. So yeah, feel free to do so. And Sid, let’s get it rolling. [Sid]: Yeah, I’ll start. I’ll pull the trigger from here. [MJ]: Yes, we need to deploy first, right, Rafael? And then what? We need to merge or deploy first code, right? Then we can put that. [Rafael Bruno]: You mean to push the production or the dev code into production, right? [MJ]: Yes, correct. And then we run it. [UNKNOWN_SPEAKER]: OK. [Sid]: OK. Right now. We just put the under maintenance page in production. Cherry pick that commit. And after, after, after that deviationary put a separate release. [MJ]: Oh, because I need to implement it. So we change everything a lot, right? So I guess we can and then have this, uh, banner enabled so that no, no, none of the user will be able to access it. [Sid]: That will also do. Yeah. [MJ]: Rafael, are you doing it or should I do it? [Rafael Bruno]: One moment. Yes, sure. I was not paying attention. Could you please repeat? [MJ]: No, what I’m saying, if you can just merge the code with the production, the dev branch to production, right? Oh, sure. We merge it once it’s deployed and we enable the banner so that our code will be in production and will have the banner in a place. [Rafael Bruno]: Okay, I’ll do that. I was doing that right now. One moment. Thanks. [UNKNOWN_SPEAKER]: Bye. [Sid]: Also Rafael, remember you need to update those environment variables to the production database. [Sid]: Do you have those details or should I share? [Rafael Bruno]: Do I have what? [Sid]: Do you have the environment variables? Was for production. Well, Thank you. [Sid]: Well, can I share the password? The one I have looks like it’s very old and it got updated after that. Oh, let me check here. Also, just confirm if the host I have is same as you are using. Thing. [Rafael Bruno]: Hmm. [Rafael Bruno]: For production, I will let enable the password rotation. Sid. [Sid]: So what’s the frequency every week? Seven days. We’ll also have to update the environment variable after seven days. If we are not around, the database connection might not work. Oh, I forgot. Yeah. [Rafael Bruno]: Yeah, I’ll disable here. [Rafael Bruno]: We’re not taking that from the secret manager. [Sid]: We can have that later. After this, like in the next sprint. [Conference Room (Michael Houck) - Speaker 1]: Do we need a different secret manager or something? [Rafael Bruno]: No, we have one for AWS but we are not retrieving the secrets on the code of this manager. [UNKNOWN_SPEAKER]: Got it. [Sid]: Is it done? Can you share the password? [Rafael Bruno]: Yeah, I was just putting that on the code and I will push this into the dev branch And then you. The the password. [Rafael Bruno]: You can pull and you will see that on the production file. [MJ]: Well, should I enable the banner? [Rafael Bruno]: Not yet. Yeah, one moment. [Sid]: I think, Mehul, you can enable the banner whenever the production release is done, it will automatically show the maintenance page. [MJ]: Yeah, I already did that. [UNKNOWN_SPEAKER]: Hmm. Oh. [Rafael Bruno]: Hey, guys. Merged into the production, did a production branch, and just sharing something. We modify about 2,200 files. [Rafael Bruno]: Wow. [Conference Room (Michael Houck) - Speaker 2]: That’s a lot. That is a shit ton. Does it, does it tell you how many like lines of code you guys changed? [Rafael Bruno]: Um, no, but I can check here. One moment. [UNKNOWN_SPEAKER]: Dang. [Conference Room (Michael Houck) - Speaker 2]: You guys have been grinding. [UNKNOWN_SPEAKER]: Yeah. [Rafael Bruno]: you Thank you. [Rafael Bruno]: something funny. We decreased the number, the number of lines of codes that we had. This is kind of good. There was a lot of refactor on the codes and it decreased a lot. [Sid]: Yeah, it’s good. It is a better like it’s optimized code. If you’re writing something in 100 lines versus writing in 20 lines. Yeah. [Conference Room (Michael Houck) - Speaker 2]: Yeah, always better to be more concise, if you can. Same is true with writing, you know, normal, like not code like words. [Conference Room (Michael Houck) - Speaker 2]: Yeah, so it’s good. Good that we’re making more I mean, I was telling Rafael, like you guys basically rebuilt the whole application over the last couple of months. [Rafael Bruno]: Yeah. The backend is like, was like 80% replaced. [Conference Room (Michael Houck) - Speaker 2]: Jesus Christ. [UNKNOWN_SPEAKER]: That’s a lot. [Conference Room (Michael Houck) - Speaker 2]: That is a lot. But now it’ll be set up to, to grow and to add new features it’ll load quickly and all that good stuff yeah even scale is possible now it won’t be a problem sweet sweet okay guys so by the way [Sid]: i’ve started the migration process has been started, it will be synced in our workspace database now. This will, this may take about 15-20 minutes, but the data will start syncing in. And then I’ll start running those scripts manually and then we can verify it. [Conference Room (Michael Houck) - Speaker 2]: Okay. Sounds good. [Conference Room (Michael Houck) - Speaker 2]: Is there anything we need to do in the meantime or are we just playing a waiting game now? [Rafael Bruno]: What kind of game? [Conference Room (Michael Houck) - Speaker 2]: Oh, no, no, I just… We can play a game after the launch, Rafael. [UNKNOWN_SPEAKER]: That’s funny. [Conference Room (Michael Houck) - Speaker 2]: It’s so crazy to be moving away from Airtable because I remember like I was literally sitting in a coffee shop in New York here and I set up the Airtable when we first, when I was first talking to my friend about the idea for Megaphone. And then now it’s like a little over a year later and I don’t know, it feels like the business is growing up, which is nice. [Rafael Bruno]: This is good. [UNKNOWN_SPEAKER]: Yeah. [Sid]: So when was it like last year or even before that? [Conference Room (Michael Houck) - Speaker 2]: No, it was just last year. Um, basically at the very end of June last year, I had the idea. And so I talked to a couple of friends and asked them if they would pay for it and all of them said yes. And so. That told me that, you know, there was some appetite for it. And so then I ran it for a month, basically, just as a, an experiment, Rena was helping me out, and we were tracking everything in Airtable. And then we got more people to join that month. And it worked really well for the people who were paying for it. And so that’s when we brought Rafael onto the team and it was like early August and then started working on the V1 at that point. [Sid]: Nice, nice, wonderful. [Sid]: So back in those days, I assume it must be manual, like manually sharing the post with them and recording engagements. [Conference Room (Michael Houck) - Speaker 2]: Yeah. It was a hundred percent of everything was manual. Um, Reno was working like crazy and she’s still, she still works like crazy on it, but I’m actually, I’m excited because she’s been working crazy hours on doing this for like over a year. And it’ll be nice to have some of this stuff automated so she can take a, take a break. Yeah. [Rafael Bruno]: Okay, I just checked and all the environment variables on production are okay. [UNKNOWN_SPEAKER]: Great. [UNKNOWN_SPEAKER]: I still can’t believe we’re changing over 2,000 files right now. So crazy. [Rafael Bruno]: I just checked, and the new code is now on production. It’s running. You can enable the banner. [MJ]: Yeah, I guess banner is already on. [Rafael Bruno]: Are you sure? Because I can see the login page. [Sid]: I’m trying to log It’s saying unable to connect to database. [Rafael Bruno]: I just redeployed because maybe I updated the environment variables when the build was going. [MJ]: I guess when you log in, it won’t allow to see anything. OK. So saying unable to connect database. [Sid]: The flag is enabled. You can see that, uh, I can see it here, but it’s not redirecting. [UNKNOWN_SPEAKER]: it. You. [Rafael Bruno]: Sid, you said that it would take how long to move things into production? [Sid]: about one one hour, one hour to one hour 30 minutes. I’m sure it will be taking one hour. I’m just adding buffer time of 30 minutes more. [Rafael Bruno]: Okay, so is there like, is there any reason of that we need to stay here? Or can we meet again in one hour? [Conference Room (Michael Houck) - Speaker 2]: I think I would defer to Sid, in my opinion, as long as we’re around and can hop back on the call if we need to, that’s fine. But if we’re not actively working through anything or communicating about anything, then yeah, we can hop off and pop back on when it’s ready. Just stay near your laptops or your computers so that Sid can give us a heads up when it’s time to come back on. [Conference Room (Michael Houck) - Speaker 2]: Unless I’m missing something and we should stay on now? You tell me. [Sid]: I think I’ve heard so accounts did accounts data has been migrated and others other data will be starting now. So we are good. I mean, the migration is going good. There’s nothing like there’s no issue so far. [Conference Room (Michael Houck) - Speaker 2]: Cool. Okay. Yeah, I guess you and Rafael stay in close communication. And like, obviously, you know, keep checking the data as it comes in to make sure things, everything’s right. [UNKNOWN_SPEAKER]: Okay. [Conference Room (Michael Houck) - Speaker 2]: Okay. Uh, Sid, can you post in the team channel when we should hop back on? [Sid]: Yeah. Yeah. I leave a message, uh, in the launch thread itself, and then you can connect on this call again. Perfect. Sounds good. I’ll run all the data and then you can, uh, join again. Okay. See you guys soon.