Build a Brain Computer App with React Native (Part 7) - Live Coding with Jesse
Key Takeaways
Updates a React Native app based on Apple App Store feedback
Full Transcript
hey everybody welcome to live coding with jesse i'm jesse and today we're going to add a demo mode to our app and i'll explain why right now so um if you haven't been with us for the last six live streams we've been building an app a brain computer app that works with a brain computer interface to grab your brain waves measure them to see how focused you are and then warn you if your focus is dropping below a certain level we successfully submitted that app to the google play store and then we submitted it to the apple app store and it took a while to get any feedback back but you can see on the screen now i did get some feedback for that app so i just got that feedback probably at some point in the past week so basically since i just created my account as an apple developer it took a few weeks for them to approve my account after they approved my account it really only took them a day to review the app and what they said was they can't test all the functionality of the app because they don't have an account to log in with now they also don't have the device so what we're going to do is we're going to create a demo account so this is exactly what they suggested it says please be sure it says please provide a username and password in the app store review so we're going to provide the username and password please be sure that the demo account includes content that demonstrates the features and functionality available in your app okay so we're going to do a check now whenever somebody logs in if they log in with certain information we're going to bypass everything that the app does and we're just going to kind of show like random data basically we're going to kind of mock the data that would normally come in without having to have the brain computer interface or it connected to any type of api just so that whoever is testing this for apple when they log in with the info we give them it shows them what the app would look like if they actually did have a notion brain computer connected to the device so that's the plan we'll see how long it takes i think we can get it done and resubmitted in about an hour i'm hoping we'll see how it goes i'm going to answer some questions if you have questions put them in the live chat i'll i'm going to set a timer and we're going to spend about 25 minutes on the code and then we will do about five minutes of question and answer and then we'll do another code session and then at the end we'll do some more question and answer i also want to release this as a web app maybe on github pages or something like that i don't think we'll have time for that on this stream so if we don't get to it this stream it'll probably be the next stream but that's also uh in in the plans uh to happen and there's a few other features that i'd like to add at some point but first thing is just get it released uh to basically the three platforms web apple and android so my timer is set and let's get to the code we can see the app here i'm going to shrink this up since we really don't need much in terms of uh ui space here and so we can focus on the code let me know if the code is too small is it it's two okay let me did say the code is too small i'm gonna bring it out a little bit if i get much bigger than this i'm not going to have any room to uh to actually code so let's look at where we're kind of like the first step in logging in and if the user let's see what gets called oops so our submit button here calls the init function so let's check out our init function here we go so this is where i want to check to see what the uh the id email and password are so let's say this uh if device id and we're going to say equals test i'm not even going to worry about username and password and all that stuff now let's just say if device id equals test then we will let's just init demo so we're gonna have to create init demo all right so a knit demo is going to be as i said a bypass of all of our authentication and connecting up to an api so this will be let's see this is gonna be interesting how we're gonna get this let's check our state because that's where everything goes through so we have our focus the main thing we need to do is focus and i got to remember what takes us to the next screen uh so our focus is gonna set let's just let's let's try that first uh let's check the screen first because i want something visible to show uh right away like what's going on with the screen so okay it looks like user so if user exists then that's what we do so what we'll do is we'll just set user i don't think i have typescript on i don't have any types yet on anything which is actually going to be good for now even though this is a tsx file for typescript i didn't add types to anything yet so i don't have to worry about that for now so init demo is going to set user to true setting user to true should take us to the next screen okay now hopefully it won't cause a bunch of errors and issues because that's definitely like user's not supposed to be a boolean right but let's just see what happens for now set user to true and then we're going to do set focus well let's do this let's do a timeout is that how we want to do it i wonder if we should do all right here's what i'm thinking i'd like to just like replay all the like the data that we would be getting in like over and over again um but i'm not sure the best way to do that maybe i mean we could do like set timeouts let's see if there's something like that uh let's see javascript timeout javascript timing events that's kind of what i want let's go to uh mdn i like that better okay i want to see the uh related time uh set interval this might be what i want more okay the set interval method offered on the window repeatedly calls a function or execute code that's what we want with a fixed time delay between each call all right cool that's what we want uh set interval so let's grab the example code and then just adapt it to what we have here so interesting i don't think we need all those parameters though did this problem okay okay interesting all right i don't think we need anything extra we can just pop this in here so let's try this and we'll go with a set interval and inside our set interval we'll do [Music] see if we can do this with like an arrow function and [Music] our our second uh parameter for our set interval our first parameter parameter is going to be this function right this arrow function which we'll do in a second uh but our timing is going to be let's give it a timing of like one second right so if this millisecond so a thousand milliseconds is one second now inside of here what i want to do is i want to set focus now focus is going to be a number between 0 and 1. so i want to set the focus to um to do like a random number um i don't exactly remember that syntax random number there we go math there we go math.random let's check out in the end i believe this will automatically be between zero and one yep cool that's exactly what we want math dot random cool and so then that should mean that at the set interval it'll be every one second it will set a different random number for our focus and that is going to imitate data coming in from the api setting our focus so let's try this out i have this running in the web right now so let's let's do test and submit sweet ah it works cool awesome all right that's pretty cool that works let's make sure i can log out and good it's not blinking i want to make sure that that interval is is actually not still running so i want to inspect this and see where our reacts and where's our states oh you probably can't see any of this let me make it bigger whoa just a little bigger uh app there we go oh you know what that still is going so we need a way to stop our interval let's check this again how do we stop the interval clear interval set interval and set time it's just same pool id in a clear interval clear time activity oops all right let's see if i can just run clear interval to stop this nope that does not work there i might have to actually name this uh see how they name this here the return interval id oh okay is a non-zero value which identifies the timer created interesting so there is a return value from set interval so we should be able to set the interval id by this wonder if you could do actually we're gonna make another part of the state here right and this should be let me set interval id to null at first and then what we'll do is in our log out let's see in our log out function we're gonna go set interval id oops send interval id and we're going to add oops i'm sorry that's not what i meant we're going to say clear interval and we're going to say interval id so that should clear the interval for us hopefully see if that works just pull that out so first let's verify that okay so we don't we don't have the um let's make sure in the right one there we go all right so nothing's changing in our in our state here you see the values are staying the same let's submit you can see now we do have our state changing let's hit log out and now that we've logged out it is stopped so our interval stopped our our focus has stopped not only that but you know what let's let's clear our focus so once we clear the interval let's uh set focus to what's our default for focus let's check this out focus is zero so i guess let's just set it back down to zero just to reset everything to how it normally is all right let's test that one more time test log out wonderful oh no not so wonderful right because what it's it took us back down to zero all right we don't want that and we set the user the user is set back to null why are we still back down to let's see see where our color's coming from background color uh okay where are we setting our background color when our focus changes that's what's happening but really it should be a focus or user changes correct and then we're going to say let's try that let's see if that fixes our issue issue being that that turned red now you would have kept it red i don't like that let's make sure so we should still why is that still red well we could what we could do i think i'm still going to keep that because that makes sense but what we could also do is on log out we could set background set background color to um white so fff would be white let's see if that does what we want great that works okay all right that solves our problem so now when we log out it takes us back to basically the the state we're actually getting a lot of state here so at some point i might refactor this so we don't have a ton of view states uh perhaps maybe change that up to a user reducer i don't really mind that using state like this but i don't know when it starts getting a little bit bigger then i start to think maybe it's maybe we need some sort of um uh different system to manage all the state but right now it's not too bad all right i definitely want to do a test of the actual functionality just to make sure uh that this works still so i'm going to grab my device id actually see looks like i might have this saved no i don't logos one two three four nah that's not the right one yeah i don't think that's the right one okay let me grab my real device id and the uh password actually i'll need to turn my device on just want to make sure now what we've done shouldn't mess up anything else for how the app really works but just in case i want to want to test it we've got about about six minutes left on the timer before i'm gonna take a break and go to the chat so um if i uh if you've asked a question in the chat hang in there for a couple more minutes and uh and i'll get to it uh here's my device id whoa interesting interesting hmm try that again why are we getting that i wonder hmm that's no good i wonder if just that's odd huh that's really weird i wonder what i was actually trying to paste in there maybe i'd maybe i just didn't realize what i had pasted in there maybe i was pasting something in but that's actually not not bad to do essentially depending on what you type in there that could really mess up the the app it could crash the app so often worked out as a bug and the password password i believe this is the password nice we can add that cool so it looks like that works i don't really have the device on it's just kind of sending this is the device it's just sending like random signals at this point uh but we know it works let's log out awesome cool everything looks like it works now right before the stream started i did go into the app.json and i uh said that this is build number 1.0.1 and um version code for android i guess we'll stick with the same can i do that for android expect to come maybe at once i wonder if it'll let me do that for android we're not going to build the android right now um but i'd like to keep these the same if i can uh i know before android didn't like that i tried to submit an update to the app with it the same version code so that's why i'm incrementing that i don't know if ios is like that but rather rather not mess with it and mess it up you know okay version 1.0.1 we'll just increment that cool now [Music] let's uh we get status see what changed that looks about right get add git commit and we'll put a message in there and we'll say we added a feature and it's gonna be add demo mode awesome now let's push it get push origin actually i'm on the master branch i can just get push cool normally it's it's pretty good idea to do any updates on separate branches and then do a pull request but since this is a solo project i'm the only working on it i'm just pushing the master if this was a real project then i probably wouldn't be doing it like that like when i'm at work you don't ever push directly to master so it's always on a separate branch all right so that's in now and let's actually let's go to github stay focused i want to add an issue i believe the issue is titled all right okay i think that was the issue that the app was crashing i just want to add it just so i don't forget that's not like the best reproduction steps like ideally i would have said exactly what to type in there so you know if we have time later on we can try to reproduce it and um maybe fix that or or add it in but anyway i don't want to forget it so we added it in now let's go to at the app store and oops you know what i need to do we need to actually make a a build right uh let's check on expo let's see if there's a way for me to update this app so let's see how we can do these updates because i might not have to actually um manually move the file let's see actually my timer just went off so i'm going to take a five minute break and answer some questions and when we come back then we're going to upload the update where we figure out what the best way is to update it and then we're actually going to update what's in the uh the app store currently so i'm setting a five minute timer and let's go over here and read some of these comments i'm just growing up to the top and going in order here um you brian says is typescript included in this project yes yes it is i'm not using it throughout everything yet but it's there mainly i'm not using it just because i'm trying to kind of go as fast as i can for the live stream and especially when when a lot of the code that i was using it was kind of testing and not even sure if it was working uh i kind of didn't bother to put types in now that things are actually working though might not be a bad idea to start adding in types as we go someone asked if this was ruby it is not ruby is javascript uh specifically it is react native which is a javascript library um suleiman says what is the font family you're using on vs code uh i'm not even sure what font family i'm using let's see if i get checked um preferences see my settings here text editor font size my font family is c-o-n-s-o-l-a-s which i was not aware of that must be the default that comes with it youtube's greece says programmer or technician to tell the truth i don't really know the difference what do you mean what what do you mean by programmer and technician and maybe i'll be able to answer that better uh farhad asks if the previous parts are on free code camp yes they are so just check out all the um brain computer it's build a brain computer app with react native this is part seven all the other parts are there except for part two part two uh i accidentally deleted so i'm gonna redo part two at some point so that that will be there i do plan on redoing that but for now part two is not available uh and andika says why react native um well i use react native at my job so it just it's very easy for me to build with react native uh react native allows me to build for ios android and web all with the same code base so it's definitely a good choice uh if you're working on a project by yourself like i am with this project because otherwise you would need such a broad array of knowledge a knowledge of like let's say if i were to build for all those platforms natively on those platforms i'll it would be too much to remember there's no way i could be an expert at any one right but react native helps you to build to become proficient in building for uh all three so anyway that's why i decided to use it uh guri says i am new at developing and i want to know uh can i connect javascript with a database like mysql uh yeah you definitely can you probably want to use an api um you could like potentially you could use node.js to run on a server and connect with my sql um i it's i guess it's possible to connect from the front end to my sequel although i've never done it or seen it but normally you would if we're talking front-end javascript running like in a browser normally you would want to expose some sort of api the api layer would connect to the database and then so nothing but the api would directly connect to the database okay just i'm scrolling down looking for more questions uh last question before i go back to the code um this says uh cir circon says by the way how is your quarantine um actually you know what the last week was was really good uh to be honest with you i'd um it it's been a little bit rough like my family is doing all right all my kids are home from school uh my wife lost her job uh but we're doing all right um i um i was kind of like depressed for a couple weeks into this but the last week i've been feeling pretty good um and the whole family was doing you know doing pretty good so you know right now i think we're all just kind of getting used to it at this point but uh anyway how's everything going for you let me know in the chat uh or in the comments like how's quarantine going for you all i know it's probably different in different areas of the world i'm in the united states in in ohio um every state in the united states seems to have different rules right now in terms of like what businesses can stay open and where you're allowed to go uh so for me it's pretty much everything is shut down like hospitals are still open um restaurants are allowed to stay open but no one can go in them so you you can just um like get food delivered grocery stores are allowed to stay open but like all the schools are closed and most other types of businesses are closed so that's where it's at right now uh for me i'm i'm still working uh even though like my company basically shut down almost all their stores uh i'm thankfully still uh still have a job uh so that's good so i think i'm doing you know better a lot of people don't have jobs anymore um but for me i'm you know thankful to be able to keep keep working and you know keep supporting my family but hopefully everything's going all right for you all too let me let me go back now i know i didn't get to all the questions i'll get back to them though but i want to make sure we get this you know submitted and so far everything's been going pretty smoothly which is kind of crazy usually like something there's some issues so i'm expecting the issues will happen here in the second part of the stream here but let's read this just really quick to see if we want to use this way to update let's see so these are over there updates allow you to publish a new version of your app without building a new version of your standalone app and resubmit resubmitting that's awesome that's definitely what what i want to perform an over-the-air update of the app you simply run expo publish all right i don't think we have released channels so we don't have to do that and we didn't change the sdk version so we don't need to build the update setting in app.json all right let's let's check out the update setting in app.json do because we might need to set it to true all right let's let's check out our update setting because i don't i don't remember if we have this set or not updates so we have a fallback to we have that timeout one if it's set to false channel i would never download any code only just kill one device in that case of the chest we should have preview it defaults to true okay so it it should be uh enabled well let's try it let's run what did they say let's run expo publish and then we can check to see if it uh if it worked cool hey this might end up being you know pretty easy so we'll go back here to our code and let's pull up our terminal which i did i just closed can i grab it from here nice it's still there okay cool so let's run expo publish oops validating fields not json okay we changed that android version it has to be an integer all right cool so i wasn't sure about that let's change this back whoops this one needs to be an integer so it was an integer we changed it to a string so let's just say version two then and we'll save that all right i just did a little committed the changes and get just so i didn't forget sometimes especially when i'm streaming i'll forget to update my changes so i want to make sure i do that all right now let's do our expo publish again and see if it works we should know if it worked in the app store because we'll see a new version number so so far looks like it's building building an ios bundle that's awesome you know while it's doing its thing let's go into our app store and let's add in user access maybe that's it we'll cancel now we want we gotta change maybe i'll go back in here because it says where to go to do this rejected actually i think it is on this page build app review sign in required that's not what i want i want additional information notes okay let's see all right so this will give hopefully they don't require me to to um enter in these fields because they're going to be blank but now at least they should the apps demo mode so i'm going to say demo mode does not require the use of the no c notion brain computer okay all right cool version actually i'm gonna copy and paste this because i wonder if uh if this will change and we have to change the app version let's let's check on the progress here of our or update all right cool so it says publishing of default building ios change skips hmm let's open this up oops uh it cut off the uh the url oh well let's go to app store now and see activity hmm let me go to expo go to my exo dashboard and see what's going on there review builds hmm i wonder what happened let's get rid of some of this stuff we don't need um that's very weird does it just seems like there's no um all right let me let me paste this here so i don't lose it and then let's try to go here hmm well i kind of think we should just do a new build let me double check in the app store um let me see this one unresolved issue i just wonder all right if anybody's done anything like this before with expo let me know what i'm not sure about is would like how does this update get yet up hit to here right is it um is it somehow pulling in the the updated javascript uh i'm very i'm i'm really not sure so here's the initial upload so it's on upload interesting well you know what i guess i could test this um i could probably test this on my phone because i have the stay focused app the android version so if i can type in test all right so definitely does not work on my android version so i'm guessing that the update did not work oh yeah it did i just had to refresh the app so i guess it worked that's insane i can't believe that wow okay cool so i just went to my android app and i have so this has already been released to android right um the demo mode was not released to android right we just coded it right here we did the update i didn't have to resubmit anything but all i did was i went in i like manually shut down the app right in android and then opened it back up it re it evidently loaded the new javascript it took like less than a second i typed in test and it the demo mode worked so i think i don't need to do anything here i think like i've i've updated the app information so let's double check to make sure that's still in there yep cool so that's there so i think this should work and we'll submit that and then it says respond oh there's an error one more errors on the page i guess i don't need let me just yeah we'll uh i'll just click that off of there and then that way ensure that you select the correct answer for advertising number you just like no the binary will be permanently rejected you know submit to different but different matter ah let's see i believe i need to use this right and we did this all right we we did this on our last live stream where when did we do this um i'm just gonna go to the other live stream this is gonna be like the most meta thing that i've ever done all right so let's go to numbers part six and let's figure out where we entered that stuff in all right so here's we're entering in data i'll make this bigger just so that i can read what it is all right back all right this is still where is this um all right this is still building everything trying to look through the bottom here to see see what we're typing in i remember what this screen looks like all right so i'm looking for a screen that looks like this with check boxes let's do uh playback speed double and then i'll also look for check boxes on the screen cool i thought this would be faster than going back through the expo documentation to find where it talks about this but it's possible this will not be faster all right that's where i'm chatting so skip that i think the end of the video is oh wait is this it i think this might be it might be around here you're at least just going to tell me where i get the answers this is the same thing i was looking for in the last stream trying to find the answer to i can't find exactly where it is shoot all right i'm gonna have to go through the uh expo documentation let's see if i can search for this maybe a google search or help yes all right all right google search to the rescue i'm gonna throw this on my other screen real quick and then so we can fill this out again so i don't want to mess this up because this is like legal stuff and will definitely could determine whether or not my app gets um accepted or not so that's why it took so long to find it this is a necessary thing all right so attribute tribute to this app installation to previously served advertisement check the following boxes so i need to check yes tribute and action taken with this app is proof all right these three there we go very cool and [Music] see if it'll let me change the version because all right cool awesome awesome awesome waiting for review and it did say said respond to that yeah it did once you completed all the changes reply to this message in the resolution center we will continue the review alright how do i reply hmm i do not see a way to reply anybody see a way to reply to this [Music] well i don't know how to reply to that i guess i can go to resources there's there's nothing on here that says resolution center right reply to this message in resolution center and we'll continue the review that's weird i guess i could check i think they sent me an email i'm going to check my gmail on my other screen and see if if i can reply to the email no i it doesn't it doesn't say to reply and when i go click to go to the resolution center it just brings me right back to here the only thing i can think of i mean let me pull this back down to a hundred percent maybe some part of the ui is not here oops it doesn't look like it though i guess it's worth um we're searching how to reply message in the app store resolution center there you go what the heck is this enter a username why i'm already logged in all right are you serious i just want to read this thing all right stack overflow there we go i don't think that exactly what's the answer yeah i guess i'm just gonna have to go ahead and submit let's see let's just check that our username is okay all right submit waiting to be confirmed uh come on that's really crazy but i can't i can't actually see my stuff yes alright finally that's pretty wild so you can't even see the developer forums no i did not mean to click on that you can respond to active resolution center issues for your apps by tapping on the alert banner within itunes connect for ios hmm if you make any changes you lose the ability to reply hmm okay so it seems like the itunes connect ios app has a reply button which i don't have an ios device right now so that's not going to work all right interesting so there's no reply button although i'm not i guess it will be fine because like it says i mean it says waiting for review now they should be notified that something was updated so i i'm gonna say i'll just wait and see i'll wait a couple days see if they say anything if not i can go through support i guess but uh for now i'm gonna try to answer as many questions as i can i gotta get help get the kids ready for bed here in a few minutes so i can't answer a ton of questions but i'll see what i can do um anyway i mean we basically succeeded in doing what we you know set out to do for this stream so i'm happy about that we should find out in a few days whether or not this you know gets successfully added to the app store which is pretty sweet i know there are some people that used um they use the they use ios devices so they couldn't test the app so now they will be able to and then maybe on the next stream hopefully if this gets submitted the next stream we can do the web app version and then anybody can try it out as long as they can get on a browser and if they have one of the headsets all right uh you ukulele daca says what does tsx mean um it's typescript particularly it's typescript with uh reacts jsx syntax that's that syntax that kind of looks like html but it's really not so uh this kind of stuff here let me show you so like this kind of stuff here where you have like the angle brackets that it looks kind of like html that's called jsx so if you want to use typescript with jsx you give it the tsx extension hum zita asks what's typescript typescript is what's uh you would call it a superset of javascript so it adds additional features into javascript uh mostly what it adds are types to javascript so a javascript if if you want to know more about that i actually did a video on my youtube channel about that so there's a link in my description uh in the description to my youtube channel i did a video not that long ago it's like an intro to typescript so check out that video i go in depth a lot more into what typescript is but the short answer is it adds types to javascript social network snapogram says we love free code camp five stars thank you i appreciate it all right a couple of people were asking what this was and then some of you in the chat uh actually kind of explained it in the chat so i'm gonna skip over that for now thank you so much for um providing those those explanations for those of you that did uh cherry says hey love from brazil awesome thanks for for joining us i wonder what i'm not sure what time zones are in brazil if i brazil's pretty big so i'm assuming there's different time zones jerry if you're still on there what time is it in brazil right now i'm trying to think how that would line up if the eastern part of brazil would be the same time zone as me i don't know uh johnny says hi from columbia take care hey how's it going um micah micah i believe is how you pronounce that is says in helsinki finland restaurants are closed schools are closed um it says i only go to shop in the night time the economy is going down that's about it so earlier in the stream i'd asked i someone had asked me how the quarantine is going and i had kind of said what was going on here and i asked what was going on and the rest of the world uh so that's why uh micah responded with that but yeah the economy is that's kind of worrying uh that it seems like like i i mentioned earlier a lot of people have lost their jobs already in the united states and i'm assuming it's dissimilar around the world that's that's gonna be tough um i know like here the government's trying to just basically give people money to make sure they can still pay their bills and stuff but that's also gonna cause problems as well i'm sure there's gonna be inflation uh down the road because of that so it's hard to predict you know exactly what's gonna happen from all that but i'm sure it's it's probably gonna be it's gonna be a while before things you know get back to being stable uh in terms of like people having jobs and everything let's see there's a cool discussion about um different ways you can create apps uh specifically between like android using like native android or react native so check that out if you're if you're watching this um at this time like and you're interested in that maybe check out that chat in the live chat i'm not going to read it out because the chat gets saved so you all can check it out but there's some good stuff in there lauren says in hungary food stores are open elders are allowed out between 9 and 12 to shop only hotels restaurants and parks are closed a lot of it jobs are available programmers senior programmers around three thousand dollars net what's good that there's jobs still available um i'd have noticed some of the stores around here have certain hours where older people can go since they're more susceptible to getting the virus so that's good cybertech security says you have good skill for programming thank you i appreciate it i would hope by now that i'm like starting to get a little bit better at programming i've been doing it for a long time so uh i can definitely make things work at this point mustafa asks what platform i'm using this is uh react native it's a javascript library and also so darren actually answered that question thanks darren i didn't see that until now but it says also said coding on vs code windows 10 and deploying to ios that's awesome that's a better answer than i gave too okay wow it's uh in hungary it's two after 2 a.m at this point thanks for staying up and watching uh randy says hello from uh monrovia uh liberia hey how's it going thanks for joining us buzz says i'm in india and the time is 5 41 a.m what's the time there uh here i'm in the united states in the eastern part of the united states and it is 8 15 p.m so i should get what is that in like i know a lot of the rest of the world uses like the 24 hour rate time thing so what would that be so it would be 10 uh 20 should be like what 20 16 right now yeah 8 9 10. no not 2016. i always get confused yeah yeah it would be 20. eight because 8 p.m is 20 right yeah i was in germany uh well i guess it's been like two years ago and everything was in that time i started to get good at doing that but uh in the united states most people just use the am and pm rajiv says hello i love your channel watching from mozambique i love this channel a lot very nice coding series keep coding oh thank you so much i really appreciate that so so beer john says hello from uzbekistan how long does it take to learn javascript and what do you advise for learning it thanks beforehand um it's really hard to tell how long it'll take because it depends a lot on your situation but i would definitely recommend going to freecodecamp.org and checking out the javascript lessons there uh that's a great place to start after that maybe check out some youtube videos uh or you know some try to like maybe do some of your own projects and look at some documentation for javascript and different javascript libraries but to learn the basics and get started free code camp is one of the best places you can go to benedict says hello from malaysia it's 8 00 a.m here it's so crazy that all that the times are just so different you know for some of you you're just waking up some of you it's the middle of the night for me i'm about to get ready for bed uh 5 46 in india uh 2015 in yeah okay no pm though just 20 yeah that's what i thought with the uh and that was randy said that randy was i believe in monrovia yeah in liberia oh no no i'm sorry randy was just explaining to me what time it would be like yeah 2015 is my time okay manu says in france it's 12 16 am lauren says thanks for sharing your knowledge take care next time try to do live a little earlier i will i normally don't do it this late but the kids wanted to watch a movie and stuff we actually we made homemade pasta and it took like a really long time i had all the kids were helping and um it took longer than i thought and then they wanted to watch a movie after sunday usually we have we all watch a movie together in the in the afternoon so anyway i'd i'd anticipate in doing the live stream a little earlier but better to get it in even if it's late i suppose all right so i'm gonna have to finish up here and help get the kids ready for bed uh my boys always like me to read lord of the rings to them a little bit before before bedtime so uh i want to make sure i get up there in enough time to read to him but uh maybe there's only a few more questions so i'll read out a few more and then we'll we'll finish um ahmed says hi i'm just starting to learn to type but i'm determined to code thank you oh awesome well good luck and i'm glad you're determined i wish you lots of success in learning how to type in code naveen has prerequisites for react native uh definitely learn some javascript uh before you try to jump right into react native and uh zawad says in bangladesh it's 6 18 am moses says in 10 tanzania it is 9 13 or i'm sorry 3 19 a.m and all right one more message here um randy says just followed you on twitter is your workplace actually called dicks it is it's dick's sporting goods the founder of dick's sporting goods his name was dick dick stack so um anyway that's why it is so i usually say dsg or dick sporting goods i'm i'm sure you can understand why i would normally say it like that but uh yeah that's where i work right now at dick's sporting goods and they're only in the united states but they're they're the biggest um sporting goods store in the united states we have over 700 locations all over the country but yeah anyway that's all for me uh for this live stream thank you all so much for uh for watching and sticking in there uh you know when all right we had a little bit of trouble there at the end just trying to figure out what to uh what to put there in the app store but uh i want to try to get another stream in here hopefully it's not too long uh before my next stream i'm gonna try to do at least one stream a week if i can uh hopefully more um but also if you're interested in the stuff that i'm doing i have put up some tutorial videos on my channel about react native and typescript and stuff like that so click the link in the description of the video to check out my youtube channel if you're interested and um yeah also let me know if there's anything you want to learn more about i don't really have a ton of time when i do the live stream to really like explain everything thoroughly because we're trying to do real code but i'm more than happy to do a like a video explaining things uh so just send me a message in the in the uh comments or on twitter or something like that and i usually get back to everybody pretty quickly and yeah so until next time you know have a great beginning of the week and stay safe and i'll see y'all later
Original Description
We got feedback from the Apple App Store and need to make some updates to our app before we resubmit.
This is part of a series of live streams where we are building a React Native app using Expo that links up with the Neurosity Notion brain computer to send and use data from the brain!
See a professional software engineer at work. Unscripted. Mistakes included.
GitHub Repo: https://github.com/JesseRWeigel/stay-focused
Google Play: https://play.google.com/store/apps/details?id=com.jesseweigel.stayfocused
Twitter: https://twitter.com/JesseRWeigel
Youtube: https://www.youtube.com/c/JesseWeigel29
Instagram: https://www.instagram.com/jesse.weigel/
Code Editor: Visual Studio Code
VS Code Theme: Seti
-
Learn to code for free and get a developer job: https://www.freecodecamp.org
Read hundreds of articles on programming: https://freecodecamp.org/news
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
Playlist
Uploads from freeCodeCamp.org · freeCodeCamp.org · 0 of 60
← Previous
Next →
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
React: Production Server Setup Part 2 - Live Coding with Jesse
freeCodeCamp.org
cookies vs localStorage vs sessionStorage - Beau teaches JavaScript
freeCodeCamp.org
Browser history tutorial - Beau teaches JavaScript
freeCodeCamp.org
Graph Data Structure Intro (inc. adjacency list, adjacency matrix, incidence matrix)
freeCodeCamp.org
React: Parameterized Routing with Next.js - Live Coding with Jesse
freeCodeCamp.org
React: Dealing with jQuery Issues - Live Coding with Jesse
freeCodeCamp.org
setInterval and setTimeout: timing events - Beau teaches JavaScript
freeCodeCamp.org
Browser and Device Testing - Live Coding with Jesse
freeCodeCamp.org
Last Minute Updates - Live Coding with Jesse
freeCodeCamp.org
Post Launch Updates - Live Coding with Jesse
freeCodeCamp.org
React: Setting Up Google Analytics - Live Coding with Jesse
freeCodeCamp.org
React: Masonry Layout - Live Coding with Jesse
freeCodeCamp.org
Load Balancing Digital Ocean Droplets - Live Coding with Jesse
freeCodeCamp.org
try, catch, finally, throw - error handling in JavaScript
freeCodeCamp.org
Load Balancing: SSL Passthrough Setup - Live Coding with Jesse
freeCodeCamp.org
Graphs: breadth-first search - Beau teaches JavaScript
freeCodeCamp.org
React: Masonry Layout Part 2 - Live Coding with Jesse
freeCodeCamp.org
React: WordPress API Live Search - Live Coding with Jesse
freeCodeCamp.org
Creating WordPress Custom Post Types - Live Coding With Jesse
freeCodeCamp.org
Dates - Beau teaches JavaScript
freeCodeCamp.org
Miscellaneous Front End Updates - Live Coding with Jesse
freeCodeCamp.org
Merging a Pull Request from GitHub - Live Coding with Jesse
freeCodeCamp.org
React + Prettier + Standard JS - Live Coding with Jesse
freeCodeCamp.org
React: Sortable Responsive Table - Live Coding with Jesse
freeCodeCamp.org
Geolocation Sorting by Distance - Live Coding with Jesse
freeCodeCamp.org
Tradeoff Matrix - Agile Software Development
freeCodeCamp.org
The Definition of Ready - Agile Software Development
freeCodeCamp.org
Getting first React job without experience - Ask Preethi
freeCodeCamp.org
React: Google Analytics Click Tracking - Live Coding with Jesse
freeCodeCamp.org
Submitting a PR to an Open Source Project - Live Coding with Jesse
freeCodeCamp.org
Should I go back to school to get CS degree? - Ask Preethi
freeCodeCamp.org
Hero Section CSS Changes - Live Coding with Jesse
freeCodeCamp.org
Working Agreement - Agile Software Development
freeCodeCamp.org
A day at Pennybox with Co-Founder Reji Eapen
freeCodeCamp.org
React: Sorting and Filtering Data - Live Coding with Jesse
freeCodeCamp.org
React: Sorting and Filtering Data Part 2 - Live Coding with Jesse
freeCodeCamp.org
React: Building a New UI - Live Coding with Jesse
freeCodeCamp.org
Definition of Done - Agile Software Development
freeCodeCamp.org
Getting started with jQuery (tutorial) - Beau teaches JavaScript
freeCodeCamp.org
Making a React Blog with WordPress Content - Live Coding with Jesse
freeCodeCamp.org
React, NextJS, CSS - Live Coding with Jesse
freeCodeCamp.org
jQuery events - Beau teaches JavaScript
freeCodeCamp.org
React/NextJS Routing and WordPress API Custom Types - Live Coding with Jesse
freeCodeCamp.org
React: Working with API Data - Live Coding with Jesse
freeCodeCamp.org
React: Refactoring Components - Live Streaming with Jesse
freeCodeCamp.org
jQuery effects - Beau teaches JavaScript
freeCodeCamp.org
More React Refactoring - Live Coding with Jesse
freeCodeCamp.org
animate in jQuery - Beau teaches JavaScript
freeCodeCamp.org
"Finishing" My React Site - Live Coding with Jesse
freeCodeCamp.org
Starting a New React Project (P2D1) - Live Coding with Jesse
freeCodeCamp.org
React Project 2 Day 2: Learning Material UI - Live Coding with Jesse
freeCodeCamp.org
The Agile Manifesto - Agile Software Development
freeCodeCamp.org
jQuery: get and set with http, text, val, and attr - Beau teaches JavaScript
freeCodeCamp.org
React Project 2 Day 3 - Live Coding with Jesse
freeCodeCamp.org
The INVEST approach to product backlog items
freeCodeCamp.org
React Project 2 Day 4 - Live Coding with Jesse
freeCodeCamp.org
Chickens and Pigs - Agile Software Development
freeCodeCamp.org
React Project 2 Day 5 - Live Coding with Jesse
freeCodeCamp.org
jQuery: add and remove DOM elements - Beau teaches JavaScript
freeCodeCamp.org
React Project 2 Day 6 - Live Coding with Jesse
freeCodeCamp.org
More on: AI Pair Programming
View skill →Related Reads
📰
📰
📰
📰
Did Meta Signal The AI Boom Is Overbuilt? Wall Street Cheered Anyway
Forbes Innovation
Satya Nadella has issued a shocking warning to companies using AI
TechCrunch AI
Meta Abruptly Cancels Instagram AI Tool Less Than A Week After Launch
Forbes Innovation
AI Training Data Isn’t Theft
Medium · AI
🎓
Tutor Explanation
DeepCamp AI