Hello, everyone, welcome to this week's episode of That's My Jamstack the podcast where we ask the timeless question, what's your jam in the Jamstack? I'm your host, Bryan Robinson. And this week on the show, we had the amazing and talented Debbie O'Brien. Debbie is the head of learning and developer advocate for NuxtJS. She's a Microsoft MVP, Google GDE and Cloudinary MDE.
But before we get to that, let's talk about our amazing sponsor this week TakeShape. We'll talk about their content platform after the episode. But if you're curious to find out more right now, head on over to take shape.io slash That's My Jamstack for more information.
So I'm working for NuxtJS as head of learning and Developer Advocate. So that's kind of pretty cool. And in my free time I'm doing sport because like lockdown makes you fat. So I'm doing a lot of sport, Taekwondo running, cycling anything.
Yeah, so basically, my job is to kind of like make sure that Nuxt is really easy to use, easy to learn by providing good documentation, great examples, demos, pretty much anything that you would want when you want to like learn something, that you have the right materials, and then we'll work on workshops and video courses, etc. And then obviously, just Nuxt-ifying the world. I mean, the whole aim is that everyone uses Nuxt. They know what it is. Because it's amazing, right? So we just have to like, show it to the world. And then like, everyone would just come on board.
So so what what do you kind of see is the difference between like, since you have both those titles can combine what's the difference between like developer education and you know, Developer Relations or developer advocacy?
Um, I guess you could say they're very similar sometimes, especially when you're writing a blog post, right? Because you're advocating because you're producing material, but you're also teaching because you're teaching someone something new. So that's why I think they're very much combined. But I guess if you were like to go for a job and learning it doesn't mean you have to be a speaker on a stage right. So the advocate, advocacy ism is a little bit more. Get out there in front of people. I think, you know, be more, don't be shy.
Cool. So, so we'll talk a little bit more about Nuxt here in a second. Because I imagine when we talked about your, your use of the Jamstack. Professionally, we'll talk a lot about that. But what was your entry point into the idea of the Jamstack, or static sites, or whatever that may have been,
Yeah, so I guess I kind of just fell into it in a way, um, we were working for a company, and they, we had to, like, rebuild the website, it was it was really, really, really slow. And it was development experiences terrible. There's a lot of problems. So we at the time, we researched which framework to use, and, you know, was react or Angular or Vue. But we needed server side rendering, we needed like, you know, good search engine optimization. So a lot of them were a problem for us. And we came across Nuxt. And at the time, they said no, because Nuxt was too young.
So they basically asked us to build our own framework. So we built our own framework, which was like a statically generated site framework. And we built that which is still in use today by the company. It's an amazing experience to build your own framework, but never do it. Yeah, it worked. Yes, it was great. Yes was fantastic. But you have nobody contributing to it. I don't work there anymore, and nobody's who's going to maintain it? So having a community behind you is, you know, you just need it when you're creating something like that. It was a great experience. But yeah, when we finished it, and we kind of showed it to everyone, we said, Look, this is how it works on it is super fast. And like, the website is still alive today. And it's still super fast. But my recommendation was okay, now that we've built this, now it's time to move to Nuxt. And they said, No, I left the company. I didn't want to work on my framework for the rest of my life.
Yeah, and it has its limitations because you know, if you want to do new things and add more to it, etc. And there was just two of us actually, full time on the project and then a few others that were kind of helping out. So I wasn't the main like the person who was doing all the developing developing work. was working more in the front end side of things and kind of like making sure things work the way they should some more in architecture. So if you take away the person that really built it, which he's now left the companies, well, then you kind of like, you know, I'm not gonna be on my own doing all this No way.
What a lot of companies do I mean, trivago have their own and it's working perfect for them. And Uber, do they have their own as well? I think it is. So there's quite a few that still are producing their own because it works for them. Because, you know, I don't know. They can do what they want on with a team of developers. And if you have a big team of developers and they're willing to spend time and money because at the end It's money, then yeah, go for it, but it's not necessary.
Well, I also kind of look as much as like, I'm usually gonna derive Facebook overall, like, I like the Facebook model of they needed something, they created the React stuff. And then they said, we're gonna open sources because we sure you know, we really want, you know, the community involved in it. So we have less work to do to
Exactly. Cool. So So let's talk about how you're how you're using the Jamstack. Now, now that you don't have to create your own framework, how are you using it professionally? How are you using it personally?
Yeah, well, before I started in Nuxt, I actually work for an agency and one in my job interview, actually, I kind of said, You know, I want to work with view and with Nuxt. And they said, well, you're going to be in charge. So you can just do the technology. And I was like, I like that. Okay. So I accepted the job because of that, right? And, and I literally Nuxtified the whole company. None of them had view experience, and I taught all the developers view Nuxt it was it wasn't An easy, right, it was a kind of a big battle because you know, you're going into a company that was very back end focused.
PHP igniter, for example, was what they were used to working with. And you're coming in and you're saying, right, you know, front end is going to take over. And we're gonna, we're going to use Nuxt. And we have all this power now. And it was a challenge. And then, okay, introducing Nuxt is one thing, introducing static sites that was like, you know, why, what do you want to do? What do you mean? What, why do you want to take the server away? What do you want to do that for?
Yeah, so it was, it was really hard work actually convincing people. So yeah, I just fought. I'm a good fighter. I did Taekwondo, so I just kept fighting. And the fighting works, and eventually you win. So we managed to be able to convince the back end team and the, my old boss to basically use Nuxt, and we started using it for a lot of company projects. And when they seen the performance benefits, it was kind of like, okay, so yeah, this is a little bit better. And you know, So we kind of managed to, to basically produce Nuxt websites for pretty much every company that we work to it, which was great. So it was it was a good way of like, you know, Nuxtify the world through the agency. And then I moved on and started with Nuxt. I've only been with Nuxt, three months. So it's quite new. And yeah, it's it's obviously amazing, because now I actually, you know, just get paid to work with Nuxt, which is just fantastic all day every day Nuxt.
Yeah, unfortunately, they weren't that far advanced. So it was actually me that introduced Laravel to them, and said, like, you know, you want to build your own CMS or why don't you use Laravel because it works nicely with Vue. And then we can help you on the front end. And we can work together and, and the back end team then started to work with view, and started to really like it. So they were like, in love with Laravel and view and the whole mixture of how it works together. So I think they were, they were quite open to move in that direction, but they just didn't know the right direction to go to. And I don't know, I guess when I come in and say this is the way you know, you might geek out a little bit and you can like, just follow me. Come on. I know the way.
Very cool. So out of curiosity. So you're at Nuxt now, and obviously you've been you've been kind of your own advocate for Nuxt for a little while. I'm very curious around the space that Nuxt and Nuxt. And even even like Gatsby and Gridsome kind of occupy because they're not static site generators, and I just I don't know what to call them. What would you call them? What kind of phrase would You manufacturer around all about?
Well, the Chrome team actually call it a meta framework. We're just calling it a web framework, because we're using NodeJS. And we use Vue. So you know, depending on what you want to use, it's not just a view framework. It's also based on NodeJS as well. And it's using, you know, developer tools. So we call it an intuitive web framework. Because we can have server side rendering, and we can have static site generation. And we can have single page applications, we can have it all right, not all of them can have that. So Nuxt kind of is different in when you compare it to some that are just static site generators. Um, but yeah, Jamstack framework doesn't sound really too good either. doesn't
No. And I mean, you could theoretically probably do an Nuxt application, not even like using CDNs, not using some of the more traditional stuff in a in a Jamstack stack. So I guess you could you can even have Nuxt without the Jamstack at that point.
For sure. I mean, yeah. Nuxt is my job for quite a while, as you said, before I even started working with Nuxt. I was like, you know, speaking about Nuxt at conferences, and you know, it's actually funny because, um, I didn't like Nuxt.
This is at the time when we were trying to figure out what we were going to build our own framework and stuff on, we wrote our own server side rendering on top of you to try and make it work and it wasn't working properly. And I reached out to the core team members to Eduardo, from the core team from view and said, like, you know, I'm having this problem and I really need server side rendering. And like this is not working if you've got any recommendations and he was like, did we just use Nuxt? Okay, for the Vue team are recommending Nuxt so that means it must be okay to use.
So when I started playing around with it and stuff, I didn't like it because it gave me things I didn't know. And I didn't need. I was like, what's this? I don't need that. I don't want that. What Why are you giving me this? So it kind of like, pushed me away from it. And then when I realized that, you know, when you stop using it, and you start just using view, you go, Oh my God, I've got to like, do the whole router, follow my own. Nuxt just doing all that for me. I'm going back to Nuxt. So I think about when you don't understand something, you don't like something, when you start to understand it, you start to realize what it does, and then you go, wow, this is actually powerful, but I know how it's working. So I get it. And it makes sense. And yes, I want to use it. I think that's what's important is understanding.
Nice and so so now that you've kind of you have an understanding of it what what is what has been the big draw that has kept you with Knox, so obviously, you know, you didn't understand it, didn't like it at first, but now that you're really in it, what are its like core features that are gonna keep you staying with Nuxt for a while.
Well, there's quite a lot. I mean, develop experience, for example. So like, I mean, I wrote the course Vue router, and it's a lot of work. So I know what it's like and what's involved in it. And this is all done for you with smart prefetching. With code splitting. It's all done. And there's a lot more other benefits. So we just released the Nuxt components. And now we don't have to write import statements were components. So Nuxt is making your developer life easier. And when you're like having to, especially when you work in an agency, and you have a limited amount of time to develop something and you need to get this job done. Well, you don't want to be spending time doing unimportant tasks like writing import statements, or, you know, configuring your router. So in Nuxt, takes that away from you. It's kind of like, yeah, this is really, really cool.
But the other great thing is the performance. And for me, performance was probably the biggest seller, because I'm a bit of a performance freak. And I you know, I've been waiting to Webpack so I like I really am focused on performance, I'm Google Developer expert as well. And when I was consulting with the agency, I did a lot of work on performance. So to be able to go into a company and say, yeah, this is the website, look at performance it is Look how how fast it's working because of the smart prefetching that Nuxt gives you because of the automatic code splitting that Nuxt gives you. And you know what, I'm going to create a pw way for you. And you do it in 30 minutes, because not even three minutes. Like it's as simple as that. I mean, that's just magic.
That's just something a company says, Wow, you know, I've seen it like, from the companies we've gone into just to kind of go Wow, this is amazing. This is so fast. This is so good. So performance for me is is key.
So with all the like, obviously, the Jamstack itself is a very performant kind of architectural mindset. But with that server side rendering built in with the specific routing built in so Nuxt is kind of pushing almost performance first.
Yeah, I mean, we're very performant for sure. And it developer experience I recommend to go side by side. So like basically your performance on making the developers lives easier. That's what we want to do. We want to make it like we're lazy people, right developers, so We want to just have fun and we don't want to do those unimportant tasks. So if Nuxt can do all that for you, and you just concentrate on curating the cool stuff, then that's what makes your, your experience better. Right?
So obviously, serverless functions are like, you know, a big thing. And we I didn't, I haven't dug that deep into it, I started using them. And it's something I wanted the company to use at the time. And we're going to actually build them into Nuxt. So we're gonna have Nuxt functions. So that's gonna make the whole Jamstack even more powerful. And I think that's what I'm, yeah, that's what makes everything just kind of like go together. You know, with the back end team can build something cool. We have a serverless function, you just go to the API, get it done.
I'm actually not too sure the they're working on them at the moment. And I don't know if it's gonna be like, similar to how the lambda functions work or not, I'm not sure, or it's going to be based on that or, but it basically just means that you'll be able to write them directly in your code, which is just going to make your life easier again, right? Because that's it, we
definitely, I've never really enjoyed having like the lambda functions completely separated out. Like that's always been one of the pain points for it. So that's cool that you're working towards more solutions for consolidating everything.
I was just gonna say as well like something that we released just recently with the full static module. So that was released last week. Because before we weren't in full static, we were statically generating or pre rendering the sides. And then when you changed from one page to another, it's still called the API because it was it was rendering there and then and calling that API, right, whereas now we're not doing that anymore. And we basically on a build time, we call your API, we get everything. thing that we need from the, from the data, and we store it in a static folder as a payload js file. And then every time we client side render the page, it's going to go to that file and collect that data. And that works a little bit different to other frameworks. And the reason for being is that we were able to separate the build from the content, which means now that you can actually just regenerate your content without having to go to Webpack and without having to build the whole site and the assets and the etc with just generating the content and that makes it super super fast for for content regeneration.
Yeah. And this was a big problem, especially with the agencies which I don't understand why right because it was like two minutes and they were like, oh, but it takes two minutes to build I was like, so what a coffee but for some reason, that was an issue and now we're down to like 10 seconds. So you know, if you're going to find would be 10 seconds, then you know, I can't do anything else. We know I think
Yeah, I think it's a big it's a, it's a big thing that a lot of people had, especially when you're working with bigger sites, why do you have to rebuild it just for, especially if you're working with a CMS, right, and you're just changing writing a new blog page or changing something in a CMS, you don't need to rebuild that that whole website. And most of the websites we've built for clients, you never need to actually build anything ever again, because that site is finished. And they're just changing minor content every now and again. So to be able to hand that over to a client and say, right, there you go, it's going to be super fast. In 10 seconds, you'll see your change. And also, we built in a live preview mode. So this is again, released only last week. And now you can actually live preview your changes in your API. So by using like a query Param preview equals true. And then you can actually see your live preview changes from your API. And then you can say, Yeah, that looks good. And then deploy, and then it's going to build it, and then you've got it. intensely. Cool.
Yeah, that preview such an important step and like especially like you've mentioned, like the agency lifecycle, like I have to be able to see the the change I'm making before before I can definitely approve it for production.
Yeah. And it's pretty much the non developer people, right? And I get to because they're afraid of like, you know, they need to see you there. They're not like us who like don't mind or something's broken because we know can fix it. Whereas they probably can't fix something. So they just like I need to see it as it working. And then, so yeah, this this is going to be a big game changer.
Well, you see, I actually can't listen to music when I'm coding. Actually, can't I? Yeah, I need to. I need silence And yeah, so I don't have any sound at all except the birds singing outside my, my office. So I don't really listen to music when I'm coding. But when I'm cooking, I listen to music when I'm cooking. I can't talk just which is weird, right? Don't talk to me when I'm cooking because I can't I guess I'm just concentrating so much that like, you know, I can have music on Wi Fi and but I actually don't even know what's playing. And it's just there. It's background noise, I guess. So. I don't know. I'm pretty boring in that sense of like, what? Yeah, what music? am I listening to whatever Apple gives me or whatever Alexa gives me basically.
Hey, fair enough. We turn we turn a lot over to the robots anyway, might as well let the the musical choices happen there as well. Yeah. Very cool. That's, that's interestingly, I'm, I'm kind of in the same boat when it comes to cooking too. I need to I need to focus a little bit. I need to make sure all my timings are working out and all that all that good stuff.
So I guess like, obviously, the, the full static that we released, so that's what check now in Nuxt. And especially if you've never built a static site, where you've built a start a site with next like, like a single page application or server side, rendering Like, it's so easy to change from one to the other, just by changing the target to static, once you've updated to version two point 30, and change the target to static, and then change the command to next build, and next export, and now you've got a static site. I mean, that's it. So it's not like, Oh my god, I have to like start from the beginning or refactor the whole thing. Like, literally, you don't. And I think that's what makes it really cool that you can just change from one to the other. So I would say to everyone to try and test out static sites and just give them a go. The content module as well, that we released for building your content. So you can have like a good base CMS inside Nuxt. So you don't need to like advocate by CMS, because we've got one like built in for you. Yeah, really cool features released. We're going to be releasing our new Doc's very, very soon as well. And we're actually changing our whole website to use the content module because actually, we built this for us, like like you said earlier. So we build the content module for the Nuxt Doc's to make our lives easier, and we're sharing it with the world to make the world lives easier. So if you like it as much as we do, then you you know, I'm sure you're gonna love it because yeah, it is it is fantastic. So
Well, that's pretty much everything we're releasing now is because it's what we want, locally that we have a lot of people on the team now. And there's a lot of great ideas. And we're just like, we have to do this again and again. And again. Why can we not just do something like this? And then we fix it for the world. So yeah, that's really cool. I would say sign up for our newsletter, and you can hear all the news about Nuxt. so you don't miss anything. Because we're releasing so much stuff that it's kind of hard to keep up with in the actual team. So I can only imagine outside what it's like.
Yeah, yeah. And if you're an agency and you have to work with other like, you know, frameworks and technologies and stuff, then you obviously can't focus so much time on just one. So yeah, it's hard. It's really hard. To keep up and we're moving at such a fast pace, but it's such a great pace, right? Because we're creating great content and great modules, etc. But yeah, we're climbing climbing ladders. climbing mountains, I should say.
Fair enough. And I I can see that. Yeah. Cool. Well, Debbie, I appreciate you taking the time to chat with us today and to share more about Nuxt and the things you're passionate about. I hope you keep doing some amazing things, both at Nuxt and kind of in the community as a whole.
Thank you very much. It was great to be here and yeah, just try out next. I hope you you can just like create an excellent site yourself and you know, for this whole Jamstack podcast stuff up there. That would be cool. True,
Exactly. Thanks again to Debbie for the awesome conversation. And thanks to all the amazing people in the Jamstack community that tune in Week after week. Before we get to our sponsor, be sure to like part star favorite or whatever in your podcast app of choice, and spread the word about the amazing people doing awesome stuff in our community. And now for our sponsor, if you listen to season one you're probably aware of take shape by now. But as a reminder, take shape is a content platform for the Jamstack take shape has a headless content management system and easy to use graph qL API, a static site generator and amazing new product called match a service that can tie together multiple API's into their handy graph qL interface if you're doing anything with content on the Jamstack Be sure to check them out at take shape.io slash That's My Jamstack. That's it for this week. Thanks again for listening. And we'll see you back here for the next awesome episode.