day in the life of a software engineer | 4 hour productivity | the next big hit mobile app

A vlog-style developer session by Phil Choi (uploaded March 17, 2025) combining personal anecdotes and a live coding walkthrough. Phil discusses family/daycare, tattoos, hiring/coworker dynamics, and leads a technical session implementing social auth and an in-app webview (React Native WebView), Firebase Hosting for privacy/TOS pages, and image-crop picker integration for profile images. He assigns tasks to teammates (Jocelyn, Gabe) and plans repository/branch maintenance and future auth providers (Apple, GitHub, Microsoft).
Chapters
We usually used to be the bus super quick, but now I gotta go walk over here. So. I never told you guys why my kids moving his daycare center. It's a daycare center that's been open for 40 years, bro. And. And they're closing it down. It's all good. It's all good. Roll with the punches, you know? You know Gladiator, bro? Look at this, bro. There's not nothing on the ground. He just wants to feel the dirt. Have you seen that movie Gladiator, bro? Where he gets some dirt and puts it on his hand? He's been doing this shit. Look at that, dude. Yeah, dude, he's. He's Russell Crowe. Do you see what he's doing, bro? He's getting ready for battle at the fucking daycare center right now. Let's go, dude. Every day, dude. Do you see them, dude? Getting ready for battle. He has fucking dirt all over his hand. Yeah, it's dirt all over his hand now. Of course, dude. I, like. I drop him like this. We've been. We've been practicing. Twinkle, twinkle little star Check this out, dude. Twinkle, twinkle little star How I wonder what you are up above the world so high do it, dude. No, he's on camera, dude. All right, I'll be right back. All right. What's up, dude? Oh, my kid didn't want me to leave, bro. Yeah, but it's okay. It's so cheap and good. Yeah. There you go, dude. Thank you, bro. Right here, dude. Damn. It's been a while since we got the cigarette, dude. Coffee? Oh, yeah, dude. It's good to have Jocelyn working with us now, you know, she's super responsible, you know, she's like, part of lead fill, you know, every decision. I can, like, really tell. She's, like, worked at a company because she's worked at one for, like, you know, a while. She's super dedicated, you know, And I feel like that's how you have to be like companies, because the company is really afraid of you hopping around. I think when you're coming up or whatever, you have to hop around because it's like the way you, like, make your salary increase a lot once you get, like, a place you're, like, really with, you know. Yeah, you just stick to it. Loyalty. Yeah. Stick to it until you, like, learn everything and then you leverage that to get, like, a higher salary or start your own thing. What's, like, the attitude that you need to have when they first start? Attitude is just make someone's life easier. Probably your direct, like, superior Whatever work you can take off their hands, dude. Or your peers, whatever. You're getting paid to make someone's life easier. You know my life was like all about like before like smoking weed, dude. Like wake and bake and shit. Yeah. And like your whole day would get right, right. Yeah. The exact plan when I was young. Yeah. Like every day, like morning. Dude. I thought I was gonna be like Johnny Depp and blow, bro. I swear to God. Have you seen that movie? No, no Johnny Depp. I know. Like I was so lost, but now I'm found. So my name is Phil. I started developing after the age of 30. If you have any story about, you know, how you started programming and why, leave it in the comments below. We'll get a conversation started and leave a like comment or share. It'll really help the channel. You feel it? Yeah. You got muscular. You think I'm doing good, dude? Yeah, you're doing good. You got it, dude. Yeah, yeah. Don't mess with Phil. I think I did like, you know, sitting on the Smith machine, like presses like this. Hey, how are you?
I am good.
Good. I, you know, I really miss these times with you and I feel a little bit incomplete.
I knew it. I was feeling the same way.
Have you. Are you thinking about getting a new computer?
Yes, sir.
When?
Because we might have not thinking it's I do it.
We might have to just send you one to use for let. Phil. What's up song? How are you? So I'm on branch called Social Auth. It's doing all this stuff right here and then I made a function called Social auth login and then Social Auth login is using this function called Social Sign up credential and Social Auth login and that's using a token to credential. Right now all I have is Google here, but we're going to add Apple, GitHub, Microsoft. But before we add those, we need to install React native webview. It doesn't kick you off the app, it stays in the app. But it has its own little browser. Yeah, it's like a pop up. Yeah. So we're going to create that today. Hey, by the way guys, I'm getting this tattoo right here. Dude. I don't know what it is not Jocelyn, but I love this Chicano lettering.
I was gonna tell you that.
Yeah, bro. I wouldn't do it on the hand. I'm doing it, bro. I'm go, I'm do. I'm going for it, bro. So wait, can I tell the biceps are already all filled, bro. But there's a huge story behind this right now, dude. Yeah, no. We went to a random tattoo shop and it end up ended up being like my friends Scott because he got a raise at his company. So I was like, oh, like, let's hang out with Scott. And then Scott. So Scott was like, hey, I want to celebrate and I'll buy dinner. Yeah. So I felt kind of bad, so I bought him like a really expensive handmade whiskey. Whiskey glass. It actually looked really sick. And then after we ate, we're so full, we're like, dude, we need to digest before we pound more beers, you know? So I was like, I've always wanted to get my kid's name tattooed on me. So I was just thinking I'm gonna go in and just get like, yeah, yeah, yeah. Like, like get something like super small. But then I was like, dude, do I want a drunk regret or do I want to get something sick? So I just, I put in the reservation fee and now it's getting designed, but it's gonna be a tattoo. It's gonna be a tattoo on my head. Yeah. How's that? Nice. Nice mustache. Damn, dude. Thank you. It's full, dude. That's what's up. Have you worked on the settings screen or the profile screen at all, Gabe? Yeah, I just need to push it. There is the react native Image Crop picker, like an image picker inside of react native that we need to use for the edit profile screen. So I think you've worked with that before, like you know the Firebase storage stuff. But you're going to need to hook up react native Image Crop Picker to do that. Image. Yeah, it's a. It's a library. It's Image Crop picker. So the crop picker means like when you. So there's an image picker, but then there's the crop picker. So when you upload an image, you know how you can crop the image like so you don't get the whole photo. Yeah, yeah, I thought maybe we could use that instead of just Image Picker. Okay. Crop picker. Okay, yeah, I see that and I will. I'll give you some reference code. I have a bunch. So let me just. Let me just put that in song. Did you work on the View profile screen at all? Oh, was that for the wireframe or. Yeah, just the wireframe. Because we do not have a design, so I do not care about like the UI looking like complete or anything, but I just. The app needs to start like moving around places, so react Native Webview. What that is is have you ever used Instagram before, Gabe? Yeah. Okay, so you know, on Instagram when you click on like a web link, it doesn't shoot you to Safari, it stays inside of the app, inside of its own browser. Have you ever noticed that? So that's what I'm going to kind of set up. So we're going to use this react native Webview for like privacy policy page in terms of service page as well. We're going to need to deploy those links somewhere. And I was maybe thinking about Firebase hosting and I'll teach you guys how to do that super easy. But I do need to upgrade our Firebase plan. So Jocelyn, what you're going to do is you're going to start the wiki for us and then we're going to. I'm just going to put in like, you know, our readme, like our documentation on how to install packages and all this kind of stuff. Because later on we're using a lot of open source stuff. So I kind of want to put the open source like libraries we're using on the, on the, on the app. Like give some credit, like a lot of apps are doing that recently.
And so then I'll just start the notion page or whatever for us and then we'll start adding the documentation to it.
Exactly. It would be nice song, if you could work on this search stack as well. So like, you know, like Instagram search page, you know, there's like the search page and then there's like results underneath and then you could go to the history and all that kind of stuff. Yeah, so I think it usually consists of two screens. Pretty sure. So that'd be kind of nice if you did that as well. All right, now inside of here we'll try to get that webview working. And let me see here, Playground. So I'll just copy paste this code here. Text strings must be rendered within a text. One second. Have a little issue. Oops. What's going on? Oh, semicolon. There you go. All right, cool. Now we have a nice little web view within our app. You guys see that? So now if I go to like google.com refresh, it'll show google.com and it's a little browser within our app. Right. Nice. You do have to be careful because you cannot make it so free. Like if you do Google, that means that like, you know, someone could use this app for anything. So you'll get, you got rejected from the App Store if it's too free. Like you give Too much like freedom for the user. So now what I would like to do is I would like to stick it in a modal and call it like a web view modal. And. And then we can kind of use that. So I'm going to take this guy out. And my expected result right now is let's just do like this real quick. And then I'll do import button. From here, I'll make a button. How do I do it? Press here. Did I have a center? So now if I press this, my expected result is to pop open a web view. So let's get that done and I think we'll be done for today. All right, now I'll make this webview modal function. So I'll do import, react, import. I'm pretty sure I have a modal in here somewhere. Let's see here. Import, react, import overlay from the theme and I want to use overlay. Props. All right, now I'm going to use import web web web view. So this is the modal that pops up right now. You see that, Gabe? Yeah. All right, now. Now I need a controller. So I say use state and then I can say const is visible. Set is visible to false. And I'll pass in is visible here. And then if I press this, I'm going to say set is visible to true. And if I press on the backdrop, I can do set is visible to false. This button did get added, but I'm going to have to play around with the positioning a little bit. But now we have a nice little webview modal where we can pass in any uri. So I can pass in anything here and open that to a full screen. I'll mess around with the things a little bit. But now maybe. And why do you need to bring it up to the better plan? Oh, because there's. So right now we're using Firestorm authentication, but we need to use something called Firebase hosting. It's. I think this is really good because it's really easy to deploy, like simple websites, I guess you can deploy any website, but it automatically gives you an SSL certificate and everything. Now I want to use hosting I chose. I clicked on the wrong one. Actually. We'll pass in this URI here and we'll press that and it opens up our privacy policy. Nice. Cool. And then we'll make one for terms of service and all that kind of stuff. So now if we go to let's social media web app and then we type in. Type equals privacy. Equals privacy policy. He'll open the privacy policy page and then if we type in TOS or anything else will open the terms and conditions. That's pretty cool. So now we can just use that in our website. Now we can just use that in our code. So how I would do that is in the light social mobile. I'll go to the config inside of the app config. Maybe I'll put in TOS link or I'll just put in something called links and I'll put in tos. No, let's just do this TOS and then I'll do this. So that's the TOS link and then the privacy policy and then that's going to be this link and that's going to be at the type of privacy policy. Like this. Cool. Now inside of here we can just do privacy policy and that's going to be a string that's going to. In terms of service, it's going to be a string. This DOT Privacy policy will equal this Terms of service Terms and conditions. Which terms of service? I don't. I have no idea. So. All right, well, that's. Hope you guys learned something. That was like we set up the whole web view for the Firebase hosting and stuff and we just put it in one page. So now that's pretty much all done. And that looks cool. Like we did a couple things. We set up the REACT native webview, we made a webview modal and then we. We did the Firebase hosting for the Terms of service page and the privacy policy. And I found out about this today. The privacy policy generator. That shit's kind of cool. I think everyone knows what they're doing. I think hopefully. Gabe, just work with the image picker. I'm going to review your code and let you know and message you and then as the design comes out, I'll let you guys know in the admin panel. I'm looking forward to looking at it and working on a little bit with you, Jocelyn.
Sounds good. Okay, yeah, let me know.
All right, later.
See you guys. Good night day.
Thank you. Bye Bye. We're back. Anyways, there wasn't too much like progress, but now everybody knows what they're doing and I have some work to do. I have to review some code and put it in the development branch and I have to update main branch soon and the stable branch. So I think I'll do that stuff today. I'll get that stable branch because we're at a good checkpoint and then I have to finish the Microsoft login.
More from Phil

day in the life of a software engineer | 5 hour productivity | building my dev agency 🔥

day in the life of a software engineer | 3 hour productivity | coding my 6-figure community startup

day in the life of a software engineer | 5 hour productivity | coding our sns startup app LFG

day in the life of a software engineer | 5 hour productivity | creating apps that makes big money






