 So it's an interesting one, this, because I've had a good day and a bad day. I think that's normal, isn't it? You have some little victories and then you spend a lot of your time wrestling with something. But yeah, one of the things I've been trying to do is get, I mentioned it in last entry, that I wanted to get Lighthouse running because I want to be able to check that I've got a progressive web app and everything's in place. I know that it works, but the problem was I wanted to push to Travis, and every time I push to Travis hit to do the thing. But it turns out like debugging Travis locally, because you want to test it locally. It's pretty tricky and there is a thing you can get like a Docker image, but I just couldn't get it to work. I kept timing out and did a bit of a search, and it seems that there's some built-in thing, some kind of timeout within Docker, and it couldn't get the image fast enough, and so it was just failing. And so I ended up having to kind of step-by-step on my Mac, kind of repeat the steps, and eventually I kind of got there. Let me just switch across and you can actually see. Basically, most of it was actually okay. It turns out like most of this actually came from the Lighthouse Travis YAML, which I just updated. The thing is, it's this little bit here where it actually downloads a version of Chrome, because what you want to do is you run Chrome against a virtual display, which is what these two lines do. But the download Chrome script, in order to get at it, you have to kind of npm explore with the global switch and go to the Lighthouse module, and then within there, you can basically tell that to download Chrome. And the thing is it looks for this Lighthouse ChromiumPath variable, which it then seems to sort of ignore. It's strange because the download Chrome script will fail if the Lighthouse ChromiumPath isn't set, but the Lighthouse ChromiumPath is set to our path prior to here. So I had to add this line where I move from slash Lighthouse Chromium Linux, which is Chromium Linux, sorry, which is where it puts it, to the current folder. And then I can actually run it and just check its version or something. And then after that, it started working. So that was a bit of a fight that I didn't expect to have. And there wasn't, I found there was just no easy way to debug like my Travis Scripts because I couldn't get this Docker image stuff to work. So it was a bit messy and I spent a bit of time doing that. But on the upside, I wanted to quickly show you around the design. So good news is because I'm designing this, the designer and the developer get on famously. The designer is, I guess, quite understanding of a developer's need to change things on the way through the process and the developer. Well, it's almost like they've fully understand what the designer was trying to achieve. It is kind of nice when you do both parts of a project because, as I say, you get the push and pull and it doesn't matter if I sort of think, ah, actually, I won't do it that way. I'll do it this other way. It's fine, right? Anyway, so the mocks, I've got some mocks. So I did some wireframes and I did some mocks and all sorts of stuff like that. Let me show you the home page. I'll pop that on to Chrome there. So this is kind of what it looks like. Now, actually, if we do Chrome Dev Summit, I built this and I wanted to take this idea on. I liked this sort of slightly angular looking patterns and shapes, but I've kind of felt on balance when I looked back at this that it was kind of, the colors were, I took the colors from the Chrome logo a little bit too literally. And so I felt like, you know what? Actually, I'm going to sort of subdue it a little bit, make it a little bit more, you know, a little sort of contrasty. And I've done this, I'm told by one of my colleagues that this is called a hyper gradient. I don't know. Basically, all it is is like a desaturate the image, bump up the contrast, and then pop a gradient over the top with like a hard light transfer mode. And you get this kind of look. Now, I could probably build this with CSS blend modes, but they're not well enough supported. So I am almost certainly going to do these as actual images like this. Anyway, so that's the home page. It's fairly simple with a link to the code labs, a link to the schedule, and a link to the location, which is the SFJas Center in San Francisco, bottom privacy terms, and the code of conduct as well. So that's fine. It gets a little bit more interesting over, I think, in the schedule. Similar kind of header, must-head header. And then down here, I've kind of got the session information. And to be super clear, the session information is placeholder. Hence, the kind of Lorem Ipsum kind of text there. This is actually the content from two years ago. I just kind of copy pasted the content and the times and everything else. So this isn't me telling you what's going to be at Chrome Dev Summit, because I have no idea. But I wanted something that was a little bit more realistic rather than total Lorem Ipsum everywhere. Same kind of must-head. And what I'm doing is I'm going to do a static build from section to section to section. And then I'm going to progressively enhance to something that uses JavaScript to swap out these sections. And I'm still debating in my own mind how I'm going to do that. I feel like maybe I'm going to do something where things shift up and down, as in the image fades out and there's this yellow strip at the back here. I'm thinking that might move up and down. Because when you look at, for example, the live page, you can see there's the video player here with the session going on. And then this is kind of actually, it's that little yellow strip, but it's kind of slid down and made way for what's live now, which apparently Jake arguing over on minutiae. He does that so well. And up next is Alex Russell. And you can see them coming up later. And this is what I'm hoping for the live section when the conference is actually live, that we give you what you need, which is give me the actual content and give me what's live, what's coming up next, and then what's in line for the rest of the day. I don't know if I'm going to get to doing notifications. I put it there in case I want to do them and I get a chance to do them, but time may be against me. Right, that's probably enough for right now. It's exciting. It's good. I have done a little bit coding today, but I'm going to save that probably for the next century, where I can talk about it in a bit more detail. So don't forget you can subscribe. And thanks for coming along on the journey.