It's been five months since the last release of the SharePoint framework and this week on June 21st, 2022, Microsoft released the version 1.15 of the SharePoint framework. It's a big release and includes a bunch of things such as using SharePoint framework to create custom list forms, new ACE actions for geolocation, updated support for TypeScript, ditching TSLint in favor of ESLint, updated support for Office UI Fabric Core or Fluent UI Core and React, and updates to project templates and includes one little oops. There's also a few things in developer preview like ACE card caching as in developer preview as well as an ACE action for working with media. There's over 19 issues that were addressed in this release. What are we going to get to? Well, in this episode, I'm going to summarize what you can find and share some additional details that I found after spending some time picking apart this latest release of the SharePoint framework. Hey, I'm Andrew Connell. This episode is also available as a blog post on boytanos.io and as a podcast on boytanos.show. Check out the description below the video for links to these other resources. Hey, I'm Andrew and if you're new here, don't forget to subscribe to get notified of my future videos for professional developers on Microsoft 365 and Microsoft Azure topics. Alright, let's dig in. Now I'm going to start with what's new as everyone wants to check out the cool new toys, right? The big news in this release is the introduction of a new feature that we've been asking for for a long time. We've really, we've been begging Microsoft for years and that's the ability to create custom forms for SharePoint lists using the SharePoint framework. Now this is something that we could do back in the classic experience days, but in the modern SharePoint experience, Microsoft disabled the ability to do this by ignoring the API properties on a list where we could set the URL of the pages for three different types of list forms. That's the new form, the edit form and the display form. So for the last few years, Microsoft has been telling us to use power apps if we want to create custom list forms. But that's not what we've been asking for as developers. Well, finally, they're giving us what we asked for. These are custom forms that are implemented as a new type of a SharePoint framework extension called the form customizer. Now let me explain how this is going to work before I comment on what's next. Now the custom form that you're going to define either using the no web framework template or using the React control is rendered on a new page and you have full control over the page, so much so that you're responsible for initializing, saving and closing the form. You're thinking of need to link up the form with a content type on the list, even if the list has no content types. It's going to have a single default content type that you can link to. So how is this going to work? Well, if I come over here and I look at the tutorial that Microsoft published with this release and I can jump down to the debug your form customizer, what you're going to see is we have all of these different properties here that are listed. It's new form or display form or edit form and it's going to be pointing to the client side either component ID or component properties. Now similar to how the other extensions work, you're going to set the extensions unique component ID as the content type forms client side component ID. That's going to tell the SharePoint framework which extension to load on this for this custom page and the associated component properties property is going to let you provide additional configuration information in the type of a JSON string for instance. So to deploy this, you're going to need to set these values on these properties on the content type within the list instance in production. They're not going to be done through the API, such as using the SharePoint REST API or the CSOM or one of the other helper projects like PMP PowerShell or the CLI for Microsoft 365. Now at the time I'm recording this, not all of those things are available. The API is definitely available through the REST API, but those other ones are probably going to come with time. It is a brand new release, so let's just be patient. Now just like the other types of extensions, the serve.json file can assist with linking this up on an existing list for debug and for testing. So let's go take a look at this really quick. I'm going to jump over here to a project where I've got one of these things created and let me, here we go. So here's a project here that I've created using the new template. So it's for SharePoint Online, a form customizer using the React template. So let's take a look at the code. So if I look at the code real briefly and if I look at the customizer type script file, what you'll see here is some stuff that we're used to seeing with every kind of an extension. You're going to have it on a knit method. That's not really important right here. We've got a render method and this is where you're going to render your form, just like you would if you're doing a web part. So in this case, I'm using a React control, but I could use anything if I'm using the Node.js option. It would just be giving me access to the same this.dom element where I can put my HTML in there. Just keep in mind that I'm going to be responsible for everything with this form and that includes going and fetching the data, that includes saving the data or closing the form and telling Microsoft and telling the SharePoint framework once I've saved it. You'll see that here where I've got these methods here where I want to define or I want to call this.form saved or this.form closed to tell the SharePoint framework that I'm done so that SharePoint can take over. The SharePoint framework can take over when it needs to. These methods here that you see, this is just pointing to a React control here and here I'm just rendering out a standard React control. There's nothing special about this. So you get the picture though. I'm just building essentially a web part that's going to take up the entire page. Now the registration piece with this, like I said, you're going to have to set those different properties on the content type. So you have to go find the list and find the content type, get his ID and use the REST API to set those component ID properties and the component ID property and the component properties property as well. But when you're doing this, when you're going to go test it out, just like the other extension types, the serve.json file is going to make this a little bit easier for us. So in this case here, what you see is I'm pointing to a form that we've created. So I would go to a SharePoint site. I would create a new list where I want to test this and I would go grab the URL for that list and I would whatever the new form of the edit form is, where the display form is, I'm going to then go in and go drop this, change this URL. The component ID, that's the ID of this component that I've created. So I can fetch that from the manifest. So here we can see it's 85d94. Come back over here to serve.json, 853.d94. The page type is telling us what kind of a page form this is. So is it a display form? Is it an edit form? Is it a new form? Root folder, that's the standard stuff that we normally have and same with the properties where I can define the JSON string for any properties that I want to pass into this. And so what this will do is it'll make it easy for me to go test my form control that I want to create. Going back to this tutorial here, at the time that I sat down to record this, there is a sample tutorial in the docs that walks you through creating one of these. It's real basic right now. But at least it's something that you can actually start with to go play with this. Check the description in this video for a link to this tutorial that I'm referencing right here. And oh yeah, you can bet that I'll be adding a lesson on form customizer extensions to my course on mastering the SharePoint framework on Vojtauno. So all my existing students, you'll get access to that. And all new students will get access to it as well. So stay tuned for when I let you know when that's available. Now, what's next with it with these form customizers? Well, Microsoft has already received a good bit of feedback for this feature. And I think it's for good reasons too. First, the deployment story requires some manual work. In the future, they may give us a way to define these custom forms on existing content types using that client side instance XML file that we have with other extensions when we want to do a tenant-wide deployment. But for now, this is kind of what we're stuck with. Now, to me, it's a little disappointing that their forms open up in that little side panel on the right, while our custom forms are going to load in a totally new page. You're going to lose context when you leave the list and you go to a new form. And frankly, I don't think this really feels like Microsoft is holding up to their initial promise of the SharePoint framework being both a first party and a third party framework. And we've also got this inconsistent experience with customizing a field. Like today, we can use the field customizer extension to change how a field is rendered in the tabular view of a list. And this is going to change the rendering whenever the field is used. But if we want to change the edit experience of a field, we can only customize the entire form. And frankly, this doesn't feel very polished or complete. It feels like it's been thrown together to check something off a list. And personally, that's just a little disappointing. But at least we can customize the form. So there's that, right? I mean, I guess. Now, Microsoft also promoted the Image Helper API in this release to generally available from Developer Preview. Now, I covered this in my SharePoint Framework 1.14 release episode and in the associated blog post. And what this feature lets you do is it lets you pass a URL to an existing image with the desired width and the API will resize the image, server side, save it in cache, and then return the URL to the new image. For example, say you've got a large image that's 1920 by 1080 and 1.2 megs. You don't want to show that on a web page. Instead, you want to go through and resize it and make it a little bit more performant. You can learn more about this feature from the link in the video description that's below. I've added a link to the documentation on this. Now, Microsoft also promoted two Developer Preview features that they announced in SharePoint Framework 1.14. It's two different adaptive card actions that we have. One of them is for getting a location and one of them is for showing a location. Now, these are supported within the Viva Connections web and mobile clients. And you can learn more about these from the SharePoint Framework 1.15 release notes that I've shown here and that are also linked in the description of this video. Now, the other ACE related things that were introduced as Developer Preview features in the SharePoint Framework 1.14 release, those are still in Developer Preview. And that includes things like the ACE media action type and the client side card caching and the action error handler. And those are all listed in the 1.15 release notes, but they're also in the 1.14 release notes as well. Now that we've looked at what's new, let's look at some changes to the SharePoint Framework that Microsoft has introduced in this latest release. And in fact, from my point of view, this is some of the best news in the SharePoint Framework world with this release. First, Microsoft has added Node version.16 to the list of versions of Node that the framework is going to work on. And this means your SharePoint Framework 1.15 project can use Node 12, Node 14, or Node 16, only the LTS versions. Also, going along with this foundational core upgrade, Microsoft is also, we're finally also able to use TypeScript v4. For the last few releases, we've been stuck on TypeScript 3.9 and 3.7 for over a year now, actually. But with this release, new projects will default to use TypeScript 4.5. That was released back in November of 2021. Now, I'm personally really excited about this change because it means that we can upgrade our testing infrastructure to use the more current versions of Jest for automated tests. For the longest time, we've been limited to working with two or three major versions back because the support for TypeScript v4 that was required for Jest preprocessors wasn't supported in the more recent versions of Jest. We had to use the more recent versions of Jest. We'd have to use a more recent version of the preprocessor, which was only going to work with TypeScript v4 and higher. So now, we don't have that limitation. We can bump up our test suite. Now, in the past, I've shown you how to upgrade your SharePoint Framework projects to use the more modern ESLint style of static analysis tooling to check your code by replacing the long, deprecated and archived TSLint tool. Well, with the SharePoint Framework 1.15 release, these steps are no longer necessary because Microsoft has ditched TSLint and they've replaced it with ESLint for all new projects. So what you'll see here is that in a, like for example, a web part project that's built with React, you'll see the tslint.json file that we would have in the root of our project, it's gone. We can see our eslintrc.js file, which is going to configure the, like the ESLint rules that Microsoft is including with the SharePoint Framework. It's gone ahead and it's put that file in the root of our project to support eslint. And in addition, under the package.json file, you're going to see a few more things here that are added just to support eslint. And then there's another one a little bit farther down in this case too. Now, new SharePoint Framework projects that use React, as its web framework, also for the longest time, have had the Fluent UI React library, formerly known as the Office UI Fabric Controls, or Fabric React Controls. The SharePoint Framework 1.15 release, it upgrades those Fluent UI controls, specifically, it's doing this to the Office UI Fabric React NPM package. We're bumping the version of that from 7.174.1 to 7.185.7. And that's cool because that version we're using now was released just a month prior to the 1.15 release. And following on that point, Microsoft has also updated the Fluent UI core package to version 11.0.1. That was released just two months ago, April of 2022. Now, this one was a long time coming and it was way overdue, honestly, because the SharePoint Framework has been stuck on version 9.6.1-Fluent 2 for the Fluent UI core package. More specifically, the package name is the Office UI Fabric Core NPM package. That was released back in September of 2008, nearly four years ago. So it's nice to see that we've fast forwarded to something that's just about two months old. Now, another thing I wanted to call out here was that React.js was updated to or wait. Actually, it wasn't. Now, I debated calling this out in this video, but after seeing Microsoft focus on updating the version of Node and the version of TypeScript, Fluent UI core and React, and then finally kicking TS Lint to the curb and replacing it with ES Lint, I kind of thought that they'd continue with upgrading React too, right? Well, I would, but I'm supremely disappointed that we're still stuck on React 16 for brand new projects. Well, consider the following. React 16 was released in April 2018. That was over four years ago. Seriously, think about that. None of us knew what COVID was at that time. And we were excited for box office releases, things like Avengers Infinity War, Deadpool 2, Black Panther. All of those things were big when React 16 was released. In fact, the React website doesn't even make the docs for React 16 available anymore. The current release of React is version 18. And while I get that the SharePoint framework team isn't always going to be on the latest versions of all the most modern tools, even the last major version of React, React 17, that was released in October of 2020. That was nearly two years ago. The last time that Microsoft bumped the major version of React for SharePoint framework projects was in January of 2019 with the SharePoint framework version 1.7. Look, this is really disappointing to me because the SharePoint framework claims of being the framework for modern SharePoint development, that's kind of being mocked by this inaction. Nowhere in software and IT would you equate the word modern to something that's four years old? What do you think? Do you think I'm making a bigger deal about this than it really should be? Or do you agree that Microsoft should prioritize this? Would you let me know? I mean, let me know by leaving a comment in this video below and make your voice heard to Microsoft. Tell them that we need support for React version 18 in the next release of the SharePoint framework. Now, I did notice some minor changes to the code for new web parts and some other project templates that were created. So what I want to do is I want to jump over to a place where I keep track of all the changes when they make a new release to the SharePoint framework. One of the things that they did, if I come over here, let's look at the, let's say we're going to look, let's come over here and look at the commits and I'm going to jump into, let's look at the React web part as that's probably one of the most common things. So a couple of things that they did here. If I go look at the default code for a brand new web part, one of the things you're going to see is they've moved the on a knit method to come after the render method where before it was coming before the render method. So it's just a little bit of reorganization stuff, not really that big of a deal, but hey, that's what they did. And the other thing they do is they've also wrapped the settings on some style properties and an if statement. So if I come down here and look, you'll see that I have this new semantic colors. Well, that was already being set up here in the get environment message. And here, what you can see is they're just now, they instead of just setting those values, they're now checking to see if it's defined. And they're also adding a little bit of checking code as well to say that if the body text isn't defined, then we just set that property equal to null. So just being a little bit more defensive with their code there. Sounds like somebody must have hit a bug or had some errors that will pop up when they were building this stuff. So that Microsoft went back and tried to make it a little bit better for them. There really weren't any other properties that were already changes to the web part templates. It's really worth mentioning.  Let's talk a little bit about the ListView command sets code because that was updated. And their last release, if you remember, Microsoft changed how events and the state work with the ListView command sets. I covered that in my 1.14 release post and video as well. Now in that post, I also mentioned that while we're supposed to be using the new code, they were still including the deprecated code, which to me didn't make a whole lot of sense. And frankly, they agreed and they updated the extension template to stub out the new correct code. So if we come over here and look at an extension and I look at the default code that's created for this, what you'll see now is here in the on a knit, they have added the code right here where they're going through and using that new ListViewStateChanged event and adding it to a handler. So this onListViewState changed and then they've gone ahead and they've added our onViewListStateChanged where we can go through and add our own code here. That means that they also got rid of this function here called the onListViewUpdated that we no longer have to deal with anymore. So that's good. They updated the codes and now when we create a new ListView extension, we get what we're expecting now. Now the last thing I noticed was that the template that we used to create a new library component was now including a feature in the packaged solution JSON file. So you can see that right here. Now when I asked Microsoft about this, it seems that this was by mistake and they've already said that they've removed it from the Yeoman Generator. It's just not in the 1.15 release. It'll be in the next release presumably so 1.15.1 maybe and I guess we'll see that probably in July of 2022. Now the release notes for the 1.15 release also include about 19 different things that were fixed and you'll find those at the bottom of the release notes right here. So I checked the release notes again. I've got the link to it in the description below this video that you can go take a look at all the things that were actually fixed. So my goal with this post was to give you a solid overview on everything that you're going to find and then some and in this latest release of the SharePoint Framework version 1.15. What do you think? Let me know by dropping a comment below and let me know what you if you want to see more videos about the SharePoint Framework. And if you like this video, I'd really appreciate if you give me a thumbs up and subscribe by smashing that big red subscribe button below the video. So you'll see when I publish more videos for professional developers related to the SharePoint Framework or other things like Microsoft 365 and Microsoft Azure, but specifically on topics related to the SharePoint Framework. Thanks a lot. I'll see you in the next video.


Hey, what's going on YouTube today? We're going to learn about using Apollo to connect your react app to a graph QL API Let's check it out Okay, so to create the first thing we need to do is create our application In octa so we go to applications when you log into your dashboard click add application We're going to choose single-page app because we're creating a react app We're going to give it a name in this case Apollo demo We're going to want to change the port to 3,000 because that's the default port where React runs I'm removing the implicit just because We're not using the implicit flow we're going to use the authorization code with pixie flow So once you've got localhost in your 3000 on your base URL Localhost 3000 slash callback for your login redirect and localhost 3000 if you're a log out All the rest of the stuff should be fine Authorization code will be the default yet done and You'll see over here the client ID and the fact that we're using the proof key for code exchange or pixie for The off code with pixie flow So let's head back to the code Okay, and once you've got your application set up I'm going to go ahead and open a terminal window Yeah, we're going to open the Terminal window here, and we're just going to install a couple of Things that we need like bootstrap And install 4.5.3 That's the latest as of this video also react bootstrap At 1.4.0. Yep, that's the latest as of this version So we get those two installing there's a couple of other things we're going to need to install like The octa auth session or Auth.js library at 4.0 4.4 as of this recording We're also going to want to install the octa react SDK This will make authentication with the octa even easier React and that's at 4.1. We're also going to install the Apollo client at 3.3.4 And the graph ql library because the Apollo client's going to use it 15.4.0 Install those two another package. We're going to want to install is react router dumb It's at 5.2.0 and once that's installed And the last thing you want to install is the dot ENV library Which allows us to create a properties file that we can then use as if they were environment variables And Envy That one's at 8.2.0 All right now that we've got all of our dependencies installed Come on back over here. We're going to create a new file on the root called dot ENV And we're going to take full advantage of the dot ENV file For the react app which we get our client ID in our octa domain From the application. We just created there And the client ID for the application that we created for the Apollo demo And we get our client ID and plug that in and now that's done So the next step in this parade is going to be Changing the app.js file right in here. We're going to replace all the code Some pre-typed code so that you don't have to watch me type it all and we brought in the browser router from react router DOM The app with router access from another file that we're going to create here in a minute the bootstrap CSS the Apollo client in memory cache from Apollo client and the Apollo provider We're going to create a new Apollo client that's going to be hitting our API for the SpaceX landings And we're going to use the in-memory cache from the Apollo client to cache those results And then basically we've just got we're going to wrap Apollo provider With that client around our router access So the next thing we need to do is that app with router access file So create a new file called app with router access Dot to six and we're going to bring in The routes So here's our routes. We're bringing in route from react router DOM security stuff from octa react like secure route and the login callback and the octa off object from octa off JS as Well as some other pages which we haven't created yet, but we're going to read in those That base URL I'm going to add OAuth to slash default because that's the endpoint for the authorization server at octa Then the octa client ID and then the base URL was slash callback for our login callback Then we've got our basic path. It's going to display our home page our secure route which is going to Display the blast off page. So you have to be logged in Using this octa off object that we created up here with that issuer client ID in the redirect We're going to wrap that in security. We're going to say that secure route has to pass the octa authentication test and Then we're exporting it so that we can use it over an app.js, of course The next thing we're going to want to do is in the source directory We're going to create a folder called pages We're going to create another one called components as well. We're using a minute. Okay, and the pages folder We're going to create a new file called home dot JSX and The home dot JSX file looks like this a lot of its basic stuff We're got links and redirects from the react raddom so we can use those The use octa off react hook. We're going to add so we've got the off state We're going to pull out of that into a variable that we can use so we can say are they authenticated If they are then go ahead and redirect them to the blast off page otherwise display this page here and it's got a Link to the Apollo client and graphql data Stuff as well as if you already have an octa account you can log in And then just some basic text down at the bottom of the page So now that we've got the home page created We're going to create our blast off page So in our pages, we'll create a new file called blast off dot JSX of course and the content of the blast off JSX file is going to list out all the launches for From SpaceX So here we are we're going to be using a couple of components that we're going to create here in a minute but the big things here are We're initializing some state We're going to bind this to our on history selected and our on return to histories functions So we can do this and we can set state and then on this on the loading. We're going to show the loading please wait and When this is done We'll have the show history that we can show and then the container will show all the histories so this is just the on return to histories from there and This is on a history selected So we can show a list of them and then we can show a single specific one once you so if you select one Okay So now that we've got that we're going to need those two components that we created So the first that we are using here. So the first one we're going to do is histories plural JSX and Histories dot JSX is going to be the guy that goes and gets our Our data from the SpaceX launch and displays that in the component. So here's our the main stuff here So we're getting GQL and use query from the Apollo client and we're going to create a Jeff graph QL query here This is I want all the histories with the ID the details and a link to the article Flight an ID and mission name Okay, then the next thing we're going to want to do is Use that query and pass that histories query to it So we run the use query and we're going to get loading error and data out of it So if it's loading, we're just going to display this loading image Otherwise we're going to go ahead and do a mission name details and articles. So we've got our We're going to map each one of the histories out to a table row That shows us the flight or if it doesn't have a name We can display unnamed and then we're going to have a link to referring to read that article now To read that article we're going to create the history dot JSX component singular and That one's going to do much of a similar thing But just for one particular launch So we'll go ahead and put this in there same thing. It's going to create a graph QL query here It's going to get the history With the ID that's been provided and it's going to get the data details the event date any UNIX time The flight the rocket and the rocket name for the rocket the launch date of the flight the launch site site name of the flight the launch success of the flight and the event date in UTC We're going to run this use query and we're going to pass a variable to it called ID That's the one we got from the URL So again if we're loading we'll just show this loading image if there's an error will show the error Otherwise we'll go ahead and display Whether or not the launch was successful or whether it failed We'll also display the Return button to return to history so we can use on return histories. Remember. This is a component that's going to be housed inside of the blast-off page and The on history selected will be fired when you click that link there And then we'll just display the launch time the event date the Whether it was successful The label for it the launch site the rocket name the details Because we specified all the information that we wanted to get here Which is kind of the beauty of graphql in a nutshell is You can provide a query that gets you just the information you want to display Finally, we need to add a header So in the components folder, we'll go ahead and add a header dot JSX and the header dot JSX is going to be our thing that loads our Menu and login buttons and things like that for us. So there's nothing graphql related going on here it's just going to say Get the octa off state and get an octa off object and If they're authenticated then go ahead and show the log out button if they're logged out go ahead and show the login button Otherwise show some basic nav stuff here and that's just our header That gets shown on the home page Okay, now that all that's installed we should be able to do an npm run Start or just npm start Run this and then over in our main window. We can see the application working And now we can see our application working we can go ahead and log in here I may be logged in another tab. So yeah, I was already logged in on the other tab. So it didn't make me log in If I close this other tab and go ahead and log out Maybe it'll force me this time. Yep And then I go ahead and log in with my username password And it'll go ahead and load this and then I can choose one of these and read the article about it It was successful's Falcon 9. I can return back to the missions and I can log out. It'll take me back to the home page. All right. Hope you enjoyed that I hope everything worked for you if it didn't make sure you leave a comment down below if you liked The video make sure you give it a like and if you like this type of content make sure to subscribe and hit that little bell icon We put stuff like this out just about every Tuesday and Thursday So you'll get notified when new video videos come out Thank you for joining me today, and we'll see you next time


Yeah, we're live. Oh, I was just saying for the people. Yeah, we're live. So we're live. What is up everybody? So today I'm going to be showing you this. Let me turn a flash on. What do you think? I have my Voo this. What's up, TG? So I'm going to be pouring on one of our Texas shaped cradle boards. Ooh, ah. And that is... It's awesome. It's not going to dip in the middle when you pour on it because it's not canvas. Can we see it back? Pamela Kelly said, come please. Why are there holes like that? I guess you could... Dang. Well, something like this. You don't need a full cradle because there's only one way you would want to hang it, which would be this way. So it's not a full cradle, but there are abilities to hang. I'm going to be using Stone Coat Art Coat for my epoxy because it's the best in the biz. We're using Stone Coat epoxy. We've got some silver that is just amazing. We're going to mix this into the epoxy. We've got some white. We've got some blue. If you have any questions, let us know. We'll answer anything, even if you've seen a question and didn't get the answer to it. This is so awesome looking. Yes, Jeff is tick-talking. Look at that. That is amazing. Is that new? I'm getting that today. You guys, don't buy all of that. Thanks. Love vamp. Nice. So that is a rad color. That is beautiful. And you just put that right in the resin. If y'all are new here, we are Artist Till Death. Please tap that screen. I'm tick-talking. That's insane. Look at that color. ArtistTillDeath.com. We sell everything that you see here. So if you guys would like to purchase any of these colors or even the cutout, we sell them on our website, ArtistTillDeath.com. The color, she's putting the cap on. I'm going to show you the... See, that's a pretty awesome cutout there. Yeah, Tejas, we have a lot of different shapes. It's called Silver. I won't focus. Silver shimmer, color obsession. I'm also going to be using color passion... This is a 50 gram jar. And there's 10 gram jars. I'm going to use color passion base. This is that silver, y'all. For my white. I'm going to get some cell activator. Color obsession. What did I say? Passion. We have too many colors. Well, I just said color passions. That probably would be why. So I'm going to get some cells because I'm using this color passion base cell. So if you guys are into resin and you need cells, get this color passion white cell base. Midnight glue. I'm making sure I was picking up the right one. And the blue we're using is Midnight Blue by Just Resin. It is such a good color. Hi, Kim. How are you? How are you doing? Thanks for the hearts. You're watching on TikTok. What's up? Leave us your hearts. Mitch in the room, everybody. Mitch from Stone Coat Countertops is just in the room. Representing, we are using Stone Coat Art Coat today because we're using white. The only thing you want to use if you're doing anything white. White? I'm trying to decide what application I want to do with this. But I'm thinking I may do a swipe, but like a full swipe. Let's make this sparkly. How about that? Let's put Milky Way in there. Be Rad Ford. Yeah, that blue is nice, isn't it? This is Just Resin's. You can't really see the name. It's Midnight Blue. Midnight Blue. I'm going to put some Milky Way in. Thanks for joining us, Kim. We rarely go live on TikTok. I need to do that a little bit more often. So we're using Milky Way from Resin Art. For some sparkle. Lez? I'm just going to say Lez. DGRM1. We are using our stir sticks. We also sell these stir sticks on our... They're basically reusable stir sticks. They're cast acrylic. And they do come with the paper on them there. So you have to peel that off if you want to. It'll eventually come off if you don't. Yeah, well. But all you have to do is when you're done with these, just get... Wipe off your excess. You could leave it on there and it will peel off. So wipe them off with a rag and alcohol. And sit and they'll become clean and you can just reuse them. Stop breaking trees down to make popsicle sticks. And just use those. We went through millions of popsicle sticks. That's the first thing that we started selling on our... You can't find it? On our website, one of these sticks. We have large ones. We have medium. We have small. We have little. We have trowel sticks. We have Uber tiny trowel sticks. But you're pretty amazing. You gotta say like trial. Trial. courtesy Rhonda. Look how pretty that blue is. That's super nice. This is for all them haters out there. We're back down to 43 people. They're like cowboys. We had 200 people here at one point. Oh cowboys. Football season is starting. I promise I'm not doing a Cowboys candy cane. I'm going to swipe it and it's going to be brilliant. Also I have enough to do probably another one of these. I don't know if this is going to be a floating silver. It's the first time I've used it. Well I'm already going to definitely be buying that today. I could leave it. Do you have a couple of the little tiny trowels? You could leave it like that. We call them Bowie trowels. They are Bowie sticks. Bowie sticks. Thank you for the heart. TeeGee. She's also in here. TeeGee's just everywhere right now. She is all places. I'm here, I'm there, I'm everywhere. She gets around. Thanks for tapping that screen you guys. I appreciate it. All 47 of you. That's great flow art. That's such a good little number. Don't be nervous. I get nervous when there's over 200 people. I'm stuttering and don't know what to say. I can't imagine having more. Why is this not pushing in it? Do we twist it? I don't know if it's not burning anybody. It feels like it. Get that, get the pliers. I'm just turning the pliers. When you're using the ultimate top coat, go over to RK3designs and look for the last video that she posted on Ultimate Top Coats for like the best recipe. On how to use UTC. It says beautiful blue. What is the name of it? Micah? Question mark. It is not a Micah. It is a paste. And it is a midnight blue. So what a paste is is it's already like. It's what you need. You need to forget about Micahs. Micahs are still last year. So it's already liquid. You don't have to worry about any flecks of color not mixing in and giving you those weird freckles. You could put as much if you want. You can. You'd waste it after a certain point. It will not set off your resin. Look, we're already getting some cells because we're using that cell base. And all I've done is laid the color down. So I'm going to swipe over a section of it. If you could leave that and just let it do its thing. Oh, I thought you were telling me to leave it. I was like, no. Why would I do that? You guys want to know how to swipe. This is the angle that you want to do that at. Look at that. It's going to look like a geoid. You can take a Dallas Cowboy Geoid. I'm new at this. Try everything. Yeah. Yeah. If you have any questions, let us know. We're here to answer questions and help anybody. We've been doing it for a while. We have a class in Dallas this weekend. If Mitch is still in here watching, and if you have questions about Stone Coat that we can't answer, he can answer them for you. Silver shimmer. Maybe that's why I have so many. Good. OK. Let's hit a whiz and see what happens. Jay Gonzalez, our slogan is we do the test so you don't have to. Thank you, Marcy. Thank you for the follow, Marcy. Thanks for tapping that screen, y'all. Look how nice that looks. Like that was, what, two swipes? Two swipes in like five minutes. That's a sellable piece. It's almost camouflage. Like you can't look. You can't like see the shape. Oh. Look at that, y'all. It's super nice. You could make a clock out of that if you wanted to. Lisa, it's a new silver. It's color obsession. Super tilt. And Claire is trying to find it. If it's not listed live yet, it will be as soon as we stop this live. So I've got some resin left over. Should we do some coasters? Yeah, let's do some coasters. We're going to do some coasters for y'all. Flo, what was the question again? Look at that. That would make a nice clock, right? Marcy. I'm going to set this here. We also sell, in a little bit, I'll take you guys to the shop so you can see our resin shop. We are out of Dallas, Texas. We have basically a one-stop resin shop here in our studio, downtown Dallas. So if y'all ever want to come by, send us an email. Yes, she's wearing shoes. And set up a time and come shop, wearing shoes. We're all wearing shoes. I'm wearing my new shoes. It's not the smartest thing in a resin studio. The blue is just resin, midnight blue. You can buy these if you like it. If they come out the way you like them. Yeah. These are going to be a sun mush. Oh, a sun mush. These could be Christmas colors as well. Actually, winter colors. But they're definitely Dallas. Matt UTC going over black and gold dining table. Any tips would be helpful. Oh, yes. Flo Art, follow RK3. I'm going to just mush it out. Oh, she's mushing it out, y'all. We're doing s'mores. Stone Coat and Mitch would tell you the exact same thing. Go to RK3designs and find their UTC video. Sush it out one turn and pull apart. I'm trying to get my finger up. Okay. Oh. Oh. Battle of the foam. That is too cool. Let me put some fire on these guys. Anytime you have leftover resin, make coasters. Yeah, this is like the best way to make coasters. And you will stack coasters up. Then when you have a show. When you have a show, you can sell them five bucks each. Boom. Probably run some silvers through that. Angela McSmedia says congratulations on your beautiful wedding, Erica and Jeff. Thank you. Thank you.  Yeah, we weren't telling anyone to go marry. See, the smush is like the easiest one. Mm-hmm. Oh, I'm getting that silver. I'm glad it's not white yet. Yeah, that's silver. Y'all, go get that silver on our website. That's for darn sure. Well, I need to add it to the website real quick. Welcome, everybody. If you just joined, we are artists held up. We are here in Dallas, Texas playing with some resin. We're using Stone Coat Countertop. Great idea, Susan. Probably the best resin in the business. Just regular. You get a two hour working time. You get a up to 500 degrees Fahrenheit protection and amazing UV protection. Look at that. That was just a tabletop smush. Did y'all just see her do that? That's how easy it is. Look at that. How fun is that? I wish I could just cut it out and use it. Well, I guess since I don't have that... Angela said thanks for teaching her all the things. Our pleasure. The two are... Be rat, are you Italian? Does that mean you're... Yeah, beautiful. I'm literally holding my hand to that little emoji. Like, it's a beautiful. Jenny Hagen? Hi, Jenny. Hope you're okay. So I'm just putting this out onto our... Look at home a mic. Thank you for the follow mic. This? If you guys don't follow us, please do. This will encourage us to go live a little bit more often. I just did UTC on a black table and it turned out great. On our YouTube channel as well. We have a YouTube channel. It is also Artist of Death. Y'all can go check us out there. We've got more in-depth videos longer. So what she's doing, she's just basically pouring all the excess resin out on this paper. And she's just going to go ahead and do some smush pours. Basically that's what they are. Some smush... My favorite kind of party, Pamela. A smush party? I'm going to set you all down and get some more... A Dallas cowboy party. This looks like an eye cat. It does. Look how easy that is, y'all. That is insane. That's how easy it is just to... How have we never done that before? Just put it on the table and smush. That's like the little... That was a swipe right here. This was a swipe when we first started the live. Look at the cells. Flow Art, you could run over to my channel and check out the black Hollywood table and you'll see what it looks like at the end. You can put them in a small mold, but you don't want to put it in too thick of a mold. But it doesn't take over. It might heat up and crack. It's not meant for a deep mold. But we've made little skulls and magnets and refrigerator magnets with the stuff. Twist them. Fred Jones said twist them. Oh yeah, when you put it down. This one's for you, Fred. There we go. It might be a little mushy now. I think because I pick it up that way. I think it's because when she picks it up, it just kind of does that. It just does that eye cat look. Sideways. You push them together. You're welcome, Stephanie. Welcome all 200 of y'all. Wow, I'm getting nervous again. Jeff doesn't know what to do with his hands. I know. I'm like, what do we do? What do we do? Is the selling agent for acrylic usable with resin? I could not tell you that. I'm going to guess no. A selling agent would be an oil probably for acrylic, right? I love it. We do a thing that's called the Italian drip. Awesome flow art. Check it out. It looks great.  It makes a fun effect. We should make some more resin. Show them what we did. I know. It's so awesome. All right, guys. We're going to go make it live. Sorry that it's not. It's called Silver Shimmer. This is the 50 gram size. You know what size? It's 10. More silver. More orange slices. And it is a paste, not a powder. It looks like a powder though. Glad you're watching that. Do you want to see the shop? Oh yeah. Do you guys want to see the shop? You want to see what a resin shop is like? Yeah, I'm going to go add those pigments in. Can they see you? Yeah. You want to say bye? Say you guys. Well, you're going to go show those people a shop. And I'm going to put the silver into the system because I just found out it does not get in there. So I'm going to go do that. Actually, I'm going to do that really quick so that Claire can link it for you guys. So... I'll just slowly go over to Texas. Yeah. Cut out. Does anyone have any questions? Sorry for all the chaos. They're having a class this weekend and there's quite a few people here. And we got this new silver. These cutouts, we have a lot of these Texas cutouts also in a couple other states. And animals. Right side top. Right side top. Here, Theresa. How large was the wall? The wall that I did the abstract wall was a nine by... 10 foot maybe? But yes, I did do matte UTC on the console table, the black Hollywood marble. And that was the first time I used the matte. And it looks just fine on black. And Erica right now is adding the silver into the shop. ArtistTillDeath.com. Jenny, they also have another class in September in Seguin. That class will be with Marcy with MixmediaGirl. And then working on other classes after that. Focus too close. Appreciate you guys being in here. Hit the thumbs up. You can always ask any questions and comments. Email with questions.  Yes, Jenny. If you look up classes on the website, I believe it's there for the September 1. Bowie. Hey Bowie, you want to say hi? You want to say hi? Bowie. Say hi to your fans. Say hi to the people. Do you have it live, Erica? Two clicks. Any other questions? I'm going to have to redo my Dallas piece now. Sells and resin. Man. Hey guys, it is now live. I couldn't read his comment. No. Sells and resin. I thought I could use cell maker that works with acrylic, but it was on fence because I know silicone doesn't play with it. That is accurate. I wouldn't use it. Erica and I both feel the same about oils and silicone. Yes, technically it will sell. Where the problem lies is after that, having to clean up or put a flood coat. You will have to do a flood coat because it will dip it all the way to the base. Chances of that flood coat working or adhering properly. It's very risky. You're going to have to clean it with light. All right, so the silver is live. And I'm going to put you on. Yes, where's your face? Come over here. Did you leave one out for me or I got a race over there? This one's going to be linked to that. The other color that I used was midnight blue by just resin, passion base cell by color passion, and milky vibrate resin art. Mona Manna said there's hair in Texas. Oh, no. Oh, I see it. It's right here. It's right here. You see it? There's two hairs. So this is how you take them out. And then it self levels. Oh, okay. Bowie hair does bring up the value. Correct, Clara. Bye, JJ. We miss you. Come visit. I mean, he's only a couple hours away. He's in Texas. All right. All right, you guys. Thank you guys so much for watching. We love you guys. Invite you guys to try these colors. You know, you can get them from me at Artist Tilden. Two L's. Make something today. I won't see you this weekend because we're teaching a class here in Dallas, which I do out. Two spots that open over here in and around Dallas. Taking clips. Maybe I'll film a finish, like a demo live, so that you guys can see what our classes look like. I'll go live in ATD group on Facebook. It won't be at regular time. No. Just turned off. I want to see that. And so, yeah, trying to win another because you never know what's going through. And always remember that we do the test. It's less fun if I'm doing it on myself. See you guys sometime this weekend. Bye. I said bye.


Hello, everyone. Welcome to Options with Doug. Streaming live daily on Bookmap Discord and the Bookmap YouTube channel at 1.30 p.m. Eastern Time. Before I get started, I need to go through the Disclosures. General Disclosure. All Bookmap limited materials, information and presentations are for educational purposes only and should not be considered specific investment advice nor recommendations. Risk Disclosure. Trading futures, equities and options involves substantial risk of loss and is not suitable for all investors. Past performance is not necessarily indicative of future results. Let me pause for a moment for a public service announcement. This is for Bookmap Discord. Bookmap is asking all Discord users to fill out a form. You can scan this with your phone and fill out the form. I think it requires your email address, your Discord name and your Bookmap license key. If you're not a Bookmap subscriber, you can subscribe to the free version, which includes access to crypto as well as delayed stock and futures data. All right, so this will provide you with some exclusive, some great benefits, exclusive webinars, services, beta programs, add-ons, other freebies, and it will make Bookmap Discord a better place for everyone who is participating in Bookmap Discord. All right, here's my contact information. The best way to get in touch with me is through Discord. My name on Discord is Doug P. Also, in Bookmap Discord, there's an option stash Doug chat channel. That's a great place to post questions, comments, and content related to the topics of my presentation and the topics of the channel that I'll go through in just a moment. And note that Bookmap Discord, there's a wide variety of content there on a wide variety of asset classes, stocks, options, futures, and crypto, and also on a wide variety of languages and a great group of traders all working together to help each other become better traders. I'm also on Twitter, ex, formerly known as Twitter. My name there is at Doug Pless. And hello, Steven. Welcome. Glad you're here. And hello, trading price and time. Welcome. Glad you're here as well. And thank you for your kind words. All right, here are my key tenants for trading. I believe that options trades and market maker hedging activity are key drivers of price and many stocks and futures. And there's plenty of evidence for that today. That doesn't happen all day every day, but definitely in play for today. And for the SP 500, SP X is the underlying index. And spy is just another version of SP X. And ES is a derivative of SP X. So when I'm trading ES, I'm focusing on the levels and options trades in SP X and spy to help drive my as well as order flow and ES to help drive my trading decisions. And for the NASDAQ 100, NDX is the underlying index. QQQ is the ETF version. It is actually the more liquid version. So for QQQ, QQQ is really the underlying index that I focus on. And again, NQ is a derivative of NDX. And when traders, let's say for the SP 500, when traders buy and sell puts and calls in SP X and spy, market makers hedge those positions with ES futures. The focus of my presentation today, and the focus of the options-duck chat channel, is options, order flow, the impact of options markets on stocks and futures, and the influence of market maker hedging flow on price action. I have a two-step process for trading and the first is planning. And I use positional analysis. I look at how traders and market makers are positioned at the options market and how those positions change from day to day to develop a thesis regarding the expected trading range and volatility for the day as well as a directional bias. And the second step in my process is execution. I look at real-time order flow and book map and real-time market maker hedging flow and spot gamma hero to confirm my thesis and for setups for entries and exits. And when I talk about setups today, I will be focusing on an underlying asset. For example, the SP 500 setups can be taken with ES futures, spy shares, spy options, SP X options, or even ES options. And Stephen, can you help Chintan maybe direct him to the location of the webinar? That'd be great. Thank you. Alright, questions and comments are welcome. And I will be watching both the chat and the options-duck chat channel as well as the chat and YouTube for your questions and comments. Please feel free to post and I'll do my best to answer your questions. Alright, here's my agenda for today, Friday, February 9th. First of all, I want to go over news items, economic data for today. Then I'll go through my positional analysis. Then I'll review some setups from earlier today and there were some great setups. Then I'll take a look at the live market. When I get to the live market, if anyone has any stocks they want me to take a look at, please let me know and I'll be glad to do that. Alright, let's get started. First of all, economic data for today. And I'm not sure this was a, give me just a moment, I didn't bring that over to the screen. I don't know if this was scheduled or not, but let's take a look at this. The CPI data for December was revised from .3%, 2.2%, and that caused quite a move in the market. We'll take a look at that. And that was the only data for today. So far it's been a pretty light week as far as data goes. Alright, let's go to the market now. I'm going to go back to the S&B 500 futures. This is the ES futures and book map. And this is the reaction to the data release. It came out a little bit after 8.30, a couple of minutes later. And a very bullish reaction, a reversal right at the SPY 501 level. Also this SPX 5023 level that was noted as resistance in the SPOT Gamma Am founders note. So, so far today that level has been the upper end of the range. Before I take a closer look at this chart, I do want to step back and look at a larger time frame. So I'm going to move on to positional analysis now. I'm going to start with the S&B 500 SPX index. Again, that's the underlying index for the S&B 500. This current rally began October 30th last year and really has continued with some minor consolidation toward the end of the year. Found resistance at 4800. So I'm going to focus on these key big round number levels and how they progressed higher. Alright, so resistance at the 4800 level at the end of the year and also the start of this year and then on expiration Friday, January expiration, January 19th, SPX broke out above that 4800 level. Alright, now this rally is so far has gone on over 900 points. Well, it's not showing that now, but it's gone over 900 points from 4100 to over 5000. Alright, let's take a look at a shorter time frame so we can pick up the top part of that chart. So here's the breakout on January 19th above 4800. Resistance at 4900. A breakout on Monday, January 25th. Then a reversal back lower after the FOMC announcement and especially the press conference. Then rally again up above 4950 all the way to about 4970. And now the SPX is trading above 5000. So again, I'm focusing on the moves higher and the key round number levels 4800, 4900 now above 5000. And note for today, the call wall did move up from 5000 to 5050. So a little bit of room to run higher for SPX. Alright, let's take a look at the levels on this chart. I'm going to zoom in just a bit so we can look closer. So first of all, the dash purple lines are showing the lower and upper weekly expected move. This is based on the options market. I update this once a week. I've been posting these numbers in Discord every day. So this is updated once a week. And those levels remain in place for the entire week. Then the dash blue lines are showing the lower and upper daily expected move. Also based on the options market, I updated that once a day, posted it in Discord the evening before. And note the upper daily expected move is right at the same level as the upper weekly expected move. So you really can't see that dash blue line, but it is there under the purple line. Alright, so those are the expected moves based on the options market. And now the other lines on this chart are showing spot gamma levels. And these are levels that are provided to spot gamma subscribers. They're based on gamma weighted open interest. They're updated every day. They do shift a little bit every day. So that's why I follow these levels. Alright, I'm going to point out the key data levels. First of all, here's the poop wall now up at 4800. That's a strike with the largest net negative gamma that can be expected to act as support. And again, that level did move up from 4500 yesterday to 4800 today. Alright, the next level up is the volatility trigger. That's at 4945. That is spot gamma's proprietary gamma volatility flip level. Below that level, market makers position on the gamma curve is negative. In a negative gamma environment, they have to trade with price to hedge their delta exposure. And that tends to enhance or increase volatility. When market makers are trading in the direction of price, on the other hand, above that level in a positive gamma environment, market makers have to trade against price to hedge their delta exposure. And that tends to subdue or decrease volatility. And note that SPX is trading well above that level now. Then the next level up is 5000. That's right here. And 5000 is the absolute gamma strike. That's a strike with the largest absolute negative and positive gamma. And that's where most of the gamma weighted open interest is concentrated. And we'll take a look at the absolute gamma chart in just a minute and see that 5000 is by far the dominant strike. And then, as I mentioned before, the call wall now moved up from 5000 yesterday to 5050. So room to run. The call wall is the strike with the largest net positive gamma. And that can be expected to act as resistance. Alright, so those are the key daily levels. And there was a hat trick for SPX. Volatility trigger, put wall and call wall all moved higher. So that is bullish. Traders looking for accepting and positioning themselves for higher prices in the market. That's what that indicates to me. Alright, let's wrap up this few of SPX with a one minute chart. I'm going to go to one minute chart. So this is the last three days worth of data. So this is on Wednesday, test of the 5000 level, which was the call wall at that time, and a reversal lower than consolidation yesterday until the end of the day. There was one test of the 5000 level price of verse lower. And then right at the end of the end of the day, there was a squeeze up and SPX traded above that level, then reverse lower. Let's see if I have a screenshot of that. So that's in book map yesterday. So this is for yesterday. There's that test of 5000. And yesterday, again, that was the call wall. Test of that level, price of versus lower setting up a short, and then a burst higher of aggressive buyers. Also a stop run. Showing by the rising yellow line there, up above 5000, and SPX did end up closing just below 5000 yesterday. So this is yesterday. Let's go back to today now. SPX gapped up, tested the 5000 level, and now is headed up toward the 5050, the new call wall. So here are the levels in play for today. This 5000-13 level, some congestion around there, acting as resistance, and now price is breaking out above that level to the next combo level, that 5023 level, right near the upper weekly and daily expected move. Alright, let's go back to book map now. Alright, so in book map, I talked about the initial react. Well, first of all, let me point out, I have my own cloud notes, so I can show SPX levels on this chart. There's the 5000 level. Now the absolute gamma strike. Here's that 5023 level that I mentioned. That's a combo level combining SPX and SPI gamma weighted open interest into one level, converted to an equivalent SPX price, and I have converted it to an equivalent ES price. And there's the 5000-13 combo one level. I also have SPI levels on this chart, and the SPI call wall remains at 500 that did that level, around that level, acted as resistance earlier today. And now, SOB 500 is creating above the SPI 500 absolute gamma strike call wall. And then this is the upper daily expected move for ES. Alright, again, I have all these levels in one column in my cloud notes. Let me just check on something real quick. So right now, there is a difference in price between ES and SPX, and right now that difference is about 18 points. So I'm showing the SPX 5000 level at 5,018. Alright, so very bullish day in the SOB 500. Let me check for questions. Thank you, Stephen. Jay Medina asked what about NQ? That's next. Alright, so that's the SPX ES, SOB 500, levels in play, 5000 on the downside so far, 5,023 on the upside. Alright, let's take a look at NASDAQ now. Alright, so shifts in levels. Let me wrap up the SOB 500. Shifts in levels. Again, I mentioned the bullish hat trick for the SPX. Volatility trigger put wall and call wall all shifting higher. And for SPI, the volatility trigger also shifted higher, and the call wall and absolute gamma strike that you can see right here remain at 500. Alright, so there's a little bit of a difference in the location of the call wall for SPX versus SPI. Alright, let's take a look at NASDAQ now. NASDAQ on fire today, reversing higher, right around QQQ for 433. So let's take a quick look at the underlying index products for NASDAQ. First of all, here's QQQ. This is a one day chart, one minute, and there are actually three spot gamma levels in play, mainly the round numbers. So with the initial move down in the morning, QQQ did not quite make it to 433. 435, a little bit of resistance, then support, consolidation around this C2 level, combo two level, and then a move higher up to 437. Alright, so those are the QQQ levels in play for today. Let's take a look at NDX, the other underlying index, and there are just a couple of combo levels here. This is combining NDX and QQQ, gamma weighted open interest into a converted to an equivalent NDX price. So these levels did act as resistance, then price broke out above those levels. Alright, let's go to NQ now. So again, I have my own cloud notes, so I can show QQQ levels. There's that C4 level, and you can't see it, but there is a white line here showing that other combo level. Then I have the round number levels. It looks like I need to add more. My round number levels start at stop at 18,000. I need to add more. Then there's the upper weekly and daily expected move for NQQ. So here's that level of consolidation, 436 in the middle, and the upper daily expected move, and 18,000 above, and now NQ trading above. And note that I do post all the index relationships that I'm using every day in Discord. I post the preliminary numbers that I'm using before the cash open, and then after the cash open, of course, SPX and NDX do not start trading until 9.30. So I wait maybe 20, 30 minutes for those numbers to finalize before I post the final numbers. Alright, so there's NASDAQ on fire today. We'll talk about setups in a few minutes. And let me take a quick look at Gamma Notional to see how market makers were positioned on the Gamma curve at the beginning of the day. So what I'm looking at is Gamma Notional. This is on the data table at the bottom of the spot Gamma AM founder's note, showing Gamma Notional for the SB500, NASDAQ, Russel 2000, note for the SB500, and NASDAQ. These numbers are positive. They're not extreme. They're not strongly positive and negative for the Russel 2000. So on a positive Gamma environment, what Spot Gamma assumes is that traders are short calls, market makers are long calls, hence the positive Gamma. And they have to trade against price to hitch their delta exposure. Alright, these numbers for the SB500 and NASDAQ, while still positive, did shift lower from yesterday. Alright, finally, as I mentioned, I want to take a quick look at Gamma Notional, the absolute Gamma for SPX. And then we'll get to some setups. Alright, so this is the absolute Gamma for SPX, and this is by far the most dominant strike. So the orange bars are showing call Gamma or positive Gamma, blue bars showing put Gamma or negative Gamma. So there's the 5000 level, of course again the most dominant strike. 4,800 down here, the put wall, and then the call wall, there it is, up at 5,050. So it's basically for the call wall, the orange bar minus the blue bar. Alright, let's get to some setups now. Excuse me just a second, about to sneeze, sorry. Alright, so everything that we've looked at so far, these levels other than book map are based on static data. And now I want to go on to the execution process, and we'll get to the keys of what has been driving price today, the way I see it. So I'm going to take a look at what options traders have been doing today. And I'm going to start with the SB500, and what this chart is showing. And I've left this for those of you who are familiar with Hero, this is the Hero signal, hedging impact real-time options. It's provided to spot gamma subscribers. And what it shows is options trades and market maker hedging activity for a combined signal, in this case for the SB500. SPX, SPY, XSP, and ES Futures. Let me just quickly, I'm going to look at the total signal then we'll switch back to the put call broken out. So the white line is showing price for SPX, the purple line is the Hero signal. Again hedging impact real-time options, it's showing options trades and all those instruments, and market maker hedging activity. So for example, when traders buy calls in SPX, market makers sell the calls and they have to buy ES Futures to hedge their delta exposure. That's the only way that they can hedge the SPX. They always want to remain delta neutral. So when they sell calls they have to buy ES Futures to hedge their delta exposure. Alright so a rising purple line indicates traders are taking positive delta positions. So in that case they're buying calls and or selling puts. Alright let's zoom in on this chart, and I'm going to go back to puts and calls. Alright so what this chart is showing, and we're going to focus on long setup this morning. So I'm going to zoom in. Alright so what this chart is showing at the open, rising orange line indicates traders were buying calls. And the rising blue line indicates traders were selling puts. The blue line and the orange line rising in the same direction, that's a very strong directional indicator. In this case bullish. They're right at 935, traders started stop selling puts, they started buying puts. Note that price consolidates, moves lower. And then right around 954, 953, traders start selling puts again. And then around that same time they resume buying calls. So notice again just before 955, blue line and orange line both rising in the same direction. Again a very powerful directional indicator, in this case bullish. And then after around 10 or so the put line just levels off. And they continue to buy calls. Alright so that's setting up along right here just before 955. Alright so let's go take a look at book map, go back to ES. I'm going to zoom in. Alright so remember traders start selling puts right around 955, 953, 54. And they also start buying calls again. So at that time the orange line and blue line started rising moving in the same direction. So let's take a look at the clues in book map now. First of all the volume dots are showing market buy minus sell. Magenta dots indicate more sellers than buyers. Green volume dots indicate more buyers than sellers. So there was a bit of a flush down right here shown by the magenta volume dots. Also that move lower was fueled by sell stop orders that's shown by that small red dot. Note the blue line there showing iceberg orders. That's a buy iceberg order. That's actually 480 contracts, two executions. Large traders use iceberg orders to hide their size. Smaller traders getting flushed out sell stop orders and large traders with their iceberg orders coming in to buy that move down as traders started taking positive delta positions. Here's the entry point that I was looking at. Right around or just above the spy 499 level. So we know that there was a stop run down, large traders buying with iceberg orders, aggressive buyers start to come in. Then buy stop orders start to feel the move higher. That's shown by the green dots, small green dots there as well as the rising yellow line and the sub chart. Cumulative volume delta starts to rise. That's the magenta line that changes to dark blue. Magenta indicates the CVD is negative when it shifts to dark blue that indicates CVD becomes positive. So pretty choppy price action after that. If you missed the initial entry there were multiple long entry points right around VWAP. So that's the slight blue line. Other entry points that these will zoom out now. There were a couple of pullbacks near this trend longing. Deeper pullbacks, good for long entries as all the lines in the sub chart continue to rise. Cumulative volume delta, iceberg orders, and buy stop orders. And the primary target for the move in the morning, this cluster of levels here. SPX 5,013 and primarily the SPY 500 call wall. Above that is 5,015 level noted as resistance in the Spot Gamma and Founders Note. And the ES upper weekly expected to move with the dash purple lines. Alright let's go back to hero. So note the reversal right around 1115, 1130. So let's go back to hero now zoom out a bit. So you can see here really starting around 1035. Let's go back to book map look at 1035. And 1035 is when price hits the SPY 5,500 absolute gamma strike. 1035, options traders shift, they start at that time they start selling puts. I'm sorry they start buying puts. Alright so they were selling puts, stopped, they start buying puts.  Then right around 1135 they start selling puts again. Resume buying calls, price moves higher. Now both the blue line and the orange line moving in the same direction. Alright sorry about all the arrows. Alright so that options trade again right around noon maybe 1215 something like that. Kicked off again and traders continue to buy calls. Alright so that's the SPY 500 and clearly to me options traders definitely driving price action today. Alright let's go back to the total chart. So there's that move lower than just afternoon. Traders start taking positive delta positions again and now price resumes it's move higher. Now up to the next resistance level, 5,023. Also the upper day they expected move for ES. And note that was around the high of the day with that initial move about CPI data. The December revision. Alright let's take a look at NASDAQ now. Alright very bullish day in NASDAQ. Let's see what is driving NASDAQ. Let's go back to the hero signal. And for NASDAQ I typically look at this mag 7 signal. So what this chart is showing is options trades and market maker hedging activity for a combined signal of the stocks known as the Magnificent 7. Apple, Amazon, Google, Meta, Microsoft, Nvidia, Tesla. Alright let's zoom in on this chart. Again I just have put some calls separated here so we can see what is driving price. Primarily calls. Traders started buying calls from the open. Took their foot off the gas just a little bit price consolidated. Now they're buying calls again and they have been also selling puts. That's indicated by the positive notional value here. That's delta notional. But call buyers definitely driving price in these Magnificent 7 stocks which make up a very large component of the NASDAQ 100. Alright let's go take a look at book map. Alright so similar to ES. ES move up after the CPI data. Price moves back down then at the cash open just a few minutes later. Traders start buying. You can see the shift from, excuse me, sorry about that. Shift from aggressive sellers, magenta volume dots, aggressive buyers come in. Pretty sharp move up to the upper day they expected to move. 18,000, some consolidation there for a couple of hours and then price starts moving higher again. And as it appears to me primarily driven by call buyers in the Mag7 stocks. Alright let's take a look at some stocks and then we'll get to the live market. And DBB, thank you. Alright let's go back to hero. Alright the theme of the day for today is alerts. So let's start with Apple and we'll go through these pretty quickly. Alright so I have puts and calls separated out again. And what I want to point out is these flow alerts right here. Pretty consistent theme over a wide variety of stocks. So these flow alerts indicate significant options activity and should get your attention. So note in Apple this came in at 11.05. Alright let's go take a quick look at Apple in book map. Note 190 is the call wall. So Apple had been trending up slightly 11.05. The alert comes in and Apple blast off. This is not a large move in terms of compared with NVIDIA or Tesla or something like that. But nice move in Apple flow alert giving you a signal and then resistance at the 190 call wall level. Alright let's move on next AMD. Let's go back to hero. So by the way this large move in the orange line indicates a number of larger orders. Typically it's a straight line up indicating a big block order. Alright AMD very similar. This time comes in a little bit before 10.10. Right around 10.08 large block order of calls. Traders had already been selling puts. AMD moves up to the 175 call wall and traders call buyers quickly take their foot off the gas at that level. Then start selling calls. Let's take a look at AMD. Go to book map and 10.08. The alert comes in and apply price just right after that. So you hear the alert, you buy a call and wait for it to take your profits at the 175 call wall. Which is right there. Note the liquidity in the order book. This is very typical of stocks. This liquidity comes in at the cash open. This is in the case of being above price. Those are limit sell orders. So the heat map and book map shows a history of the limit orders in order book. And for stock this is very typical. These orders come in at the cash open. They typically stay in the book until they're filled. Alright the next stock is Amazon. Go to Amazon. Let's go take a look at Hero. Very similar pattern. Here's the alert at right 10.20. In this case, price is trading above the call wall. Traders aggressively buying calls. They continue to do that. And they're also selling puts. Positive notion of value. And Amazon is moving higher. Let's go take a look at book map. So the alert comes in. And then Amazon blast off as traders buy calls. Market makers sell the calls. And they have to buy stock to hedge their dealt exposure. Also note that with Amazon above that call wall. Spot gamma assumes that traders long calls. Market makers are short calls. And they have to, as those calls at the call wall go deeper in the money. Their delta is getting more negative. And market makers have to continue to buy stock to hedge their dealt exposure. So that's what happens when stock is trading above its call wall. Alright the next is Google. Let's go to Google. Alright in this case the call buying is mid more gradual. Flow alert comes in before 940. Traders continue to buy calls. Price moves above the 147 call wall. Looks like there was some consolidation at that level. Acting as resistance. Price breaks above. Does one more test. And now continues to move higher. Let's go back to book map. So in the case of Google that flow alert came in early. Again see the flow alert by a call. And hold it until about noon. Alright the next is Microsoft. Let's go take a look at hero. See when the alert came in. Gonna have to zoom in a little bit to see this. Again right around 937, 938. Alert comes in. Traders buying calls. And join them as price moves up to the 420 call wall. In this case call buyers take their foot off the gas. And price is consolidating right around that level. Let's go back and take a look at book map. 420 call wall. So the alert early 937. Aggressive call wall. Early 937. Aggressive call buyers. Move price up to the 420 call wall. Alright the last one I want to take a look at is Nvidia. Another bullish day in Nvidia. Let's go back to hero. Go to Nvidia. And here's the flow alert. Right around 940. Just a couple of minutes later. Traders start aggressively buying calls. They're also selling puts. And in addition, Nvidia is trading above its call wall. Those calls that market makers are short. Delta's becoming more negative. Market makers have to continue to buy stock to hedge their delta exposure. Let's go back to Nvidia. Book map. So another wildly bullish day in Nvidia. Again that alert came in. Early in the morning. 940. Alright does anyone have any other stocks they want me to take a look at? Otherwise I'll get back to the live market. Alright so slow to Roz. He wants to take a look at SMCI. I don't have that in a book map. We can take a look at hero. And this is as expected. Traders buying calls. They're also selling puts for the days. But for today. Traders are call buyers. Definitely dominating. In this case right around 1015, 1030. They take the foot off the gas and price consolidates. Very typical pattern. Aggressive call buyers in the morning. Summer between anywhere from 10 to 1030 to 12 or so. They take the foot off the gas. Price consolidates or moves lower. Alright Danny asks. Do you trade options based on spot gamma charts? First of all the setups that I talked about. Could be used for buying. In the case of a stock. Buying or selling shares of stock. Or buying or selling. Single options. Or option spreads. So that's up to you. Your risk tolerance. Your capital. Options are typically more. Certainly you don't require. Nearly as much margin. As. As stocks. So there are a couple ways to play. SMCI. And for $700 stock. Most likely. Buying. Buying a call would be most efficient for most people. So here's for SMCI. For example. Definitely buy a call. And I'm sure they're. They're quite expensive for it. A high price volatility. Volatile stock. You can also trade a spread. You could have. In the morning. Bought a call spread. Sold a put spread. Another way to play this. Is to. Take a. What spot gamma calls a not bullish trade. So when price. Starts to consolidate. Options traders take their foot off the gas. Sell a call spread here. So all price has to do is remain below your short strike. And you you make full profit on that. All right for the. SMB 500. I typically trade futures. But that's just me. And again the setups that I talk about. As I mentioned in my introduction every day. Can be taken any number of ways the setups can be taken with. Futures shares a spy. Or SPX or spy options. All right Jay Medina. I will answer the first part of your question. I've been. Trading for a long time day trading. For about four years. And this is the I started. Started trading with book map. So I've never really day traded from. From volume profile or a candlestick chart. I I tried and looked at a variety of things. And. Ended up. Excuse me. Ended up. Focusing on options trades. As the basis for my trades. All right let's take a look at the SP500. And Jay Medina. Yes I am profitable. All right SP 500. Traders continue to buy calls. Take a look at mag seven. They continue to buy calls as well. Let's go back to book map. SP 500. Breaking. It just never ends. All right Jay Medina. My point here is to. Show others. How to trade. How to use book map. And spot gamma to gain an edge in trading. Rather than discussing my own. Personal situation. You know that can depend on. Different. Events of my life. And. You know I've had a lot of things going on in my life so. You know my point here is to. Teach others how to. Use this data. To make their own trades. But yes I mean I think it is. What I. It's obvious to me that. There's quite an edge. In looking at book map order flow and book map. Looking at these levels. That I post on my chart every day. As well as the. Hedging flow with hero. And by the way. Showing all those alerts. In. In the spot gamma hero signal that should be very intriguing. If you don't already subscribe to. Spot gamma. Just having that alert indicate. You know if you'd bought calls. At. Each of those. Six alerts that I showed you would have a very good. Day week and probably month. All right let's take a look at nasdaq. All right. For nasdaq the. Call wall. For qqq. Is up at four forty. All right so that's up here. So according to that there's still room to run higher for. For nasdaq. All right for. SME five hundred. It is trading above the five hundred call wall. For. For spy. But still below the call wall. At five thousand fifty. For SPX. So according to the SPX. Five fifty call wall. And the qqq. Four forty call wall. Both the. ES and Q have room. Room to run higher. All right any. Any final questions any. Any final stocks anybody wants me to take a look at. All right so. The major index. Indexes. Yes and Q. Wrapping up the week a very bullish day. It's been a great trading. Trading week. And. Next week I think there's some additional. Data I think CPI data comes out next week. And also. Of course next Friday is the options expiration. On. On Friday that's the monthly options expiration. So we'll talk more about that on Monday. Everyone have a great weekend. And first. Ask. To learn book map. Go to book map dot com. Go to the learning center. And that's a great place to get started. You can also join book map discord. There's a lot of great information there. All you need is a. If you don't have a book map license you can. Sign up for a free version of book map to get started. All right everyone have a great weekend. And I will see you on Monday.