Co-Creation and Live Streaming Laravel with Nuno Maduro
Matt Stauffer:
All right, welcome back to Laravel podcast season seven. I'm your host, Matt Stauffer, CEO of Tighten. And this season, I'm going to be joined every episode by a member of the Laravel team. And today I am talking while he streams it live on YouTube, I almost said Twitch, to Nuno Maduro, software engineer at Laravel currently working on Laravel Cloud. Nuno, can you say hi, share a little bit about what you do at Laravel, and also say your name for me, because I feel like I still ever can't quite get the rolled R right. So can you say your name to the people and do a better job than I do?
Nuno Maduro:
Thank you so much for having me, Matt. So my name is Nuno Maduro. That's the way I pronounce it. And honestly, feels so good to be here. For those who don't know me, my name is again Nuno Maduro, Portuguese software engineer at Laravel. During the last five years, I have worked in the different projects within Laravel, including Forge, Vapor, and now Cloud. And besides Laravel, I also maintain my own open source projects, past PHP, Lada StandPint, and more.
Matt Stauffer:
Yeah, Pint, which is very interesting. We should talk about that pint versus pint, but we have to get to there eventually. So you are a prolific creator you have created and I want to talk about this. I have some questions for us a little bit later, but if somebody somehow did not know who you are prior to working at Laravel, can you tell us a little bit about what was your life like before you started working at Laravel? And then, you know you briefly mentioned, you know, forge and Cloud and everything like that, but like, what is your journey of projects been like as you've been in? So kind of tell us like what's life before Laravel? What's life at Laravel? And then what are you up to today at Laravel?
Nuno Maduro:
Yeah, great question. I mean, before joining Laravel, was a regular software engineer dude, literally. So I was working at a company doing social media, actually, using PHP, and kind of my journey towards Laravel, not the Laravel company, but the Laravel ecosystem or the Laravel community was starting by literally listening to Laravel podcast season three, and a little bit of Laracasts and started following a little bit this very famous dudes within the Laravel ecosystem, Taylor Otwell, Matt Stauffer, Jeffrey Way and many others. And I was a regular software engineer. I remember that I had to commute a lot back in the days.I was living in France and Paris and I had to commute like one hour, two hours a day to my office. That was a lot.
So, which in hindsight, it was a bad thing, but allowed me to actually have a lot of time to consume some of this content online, which kind of opened some of the doors to understand how rich software is. So, you know, I remember equally starting some of my very first open source projects. We're talking about very small CLI tools, including Collision, Laravel Zero, and that
is what got me to kind of join Laravel because I had this small tooling out there, but also my very first contributions to open source was made back then as well. And in 2020, that was the day or the year I joined Laravel. And I still remember very well receiving the email from Taylor. I received your application. What do you think about joining Laravel? And I was a huge Laravel fan boy. The guy asked me like how much...
What's your salary expectations? And I said, I don't care like literally I'm joining and no matter how much you pay me and you know, it was was super fast joining Laravel on this side But also on my side and probably one of the happiest days on my life I still cannot remember if I was the employee number three or four, but we were little back then I can tell you that. So it was one man and probably James or Dries and then it was me.
Matt Stauffer:
Yeah.
Nuno Maduro:
And that was in 2020 and it's been five years. It's crazy. Like literally.
Matt Stauffer:
Wow. Wow. Okay, so you joined, were you, because I know that at different times in Laravel's history, there's been different kind of organizations within, but you have always been on the paid products. You weren't officially assigned to open source at Laravel at any point, were you?
Nuno Maduro:
Not really. So I think like within Laravel, at least back in the days, we were a small team and we actually pivot between everything, including open source.
Matt Stauffer:
Hmm, okay.
Nuno Maduro:
So I remember like starting with Laravel Vapor, but then suddenly three months after I was doing Laravel Forge as well. So I was kind of doing both, but at the same time I was doing a bunch of open source as well because one of the very good things about actually working on Forge and Vapor at the time was I was actually able to identify pain points on the framework. So when I had an idea, I remember just pitching that to Taylor and I was, said, it's actually a good idea, can you just do it on the framework itself? So we would kind of pivot, not only me, but everyone on the team would pivot between all the projects, not only the paid ones, but also the open source stories. Some of the, you know, my famous contributions like Pint, but also within the framework itself, like the prunable trade or the password defaults and many others came out of the need that I had on Vapor and Forge. So we pivot a lot, yeah.
Matt Stauffer:
Yeah, that's very cool. Okay, this was not on the question list, but Pint. So for anyone not familiar, Pint is a code formatting tool that's a layer, it sits on top of PHP CSFixer. And when you first released it, I believe it was Pint because it was like PHP Lint. But then was there a beer associated early on and you didn't like, what was the story there?
Nuno Maduro:
Dude. Dude, it's just, I'm gonna tell you. So I always like to do funny names when I'm building this kind of small scale like tooling and kind of come with a fancy, sexy name, you know? I don't like something very professional, like something super simple. And I like to always play with P from PHP with something that already exists. So obviously we have like Lint for...
Matt Stauffer:
Yeah.
Nuno Maduro:
coding style formatting and I've just said, okay, let's just remove the L, let's put a P and this will be pint, you know? And then suddenly I remember like announcing the project and everyone was like laughing, laughing, putting gifts of beers and I was like, why people are like putting stuff about beers? And the most surprising story about this is that why people on the team didn't told me this before? Because I, dude, it's so hilarious. I didn't even know that pint or pint, it's...
It's a beer. I didn't know that. So why did Taylor allow me to use that name? It's just so... dude. my God. It was so funny. So anyway, I feel like now people calling it Pint. What do you call it?
Matt Stauffer:
That's a great name, I love it.
Yeah, I call it pint, but in the earliest days I was like, I think that he might mean PHP Lint and then I kind of I don't remember exactly what I saw by some aspect of what you're talking about. I was like, yeah. And the interesting thing is in the pint means beer in a British English very strongly. But outside of British English, like if we say grab a pint, the first thing we think of is a British person getting a beer. Like that's not really how we talk about it as much. So but I mean, obviously there's tons.
Nuno Maduro:
gotcha.
Matt Stauffer:
British people on the team and British people using so it's very interesting that like the cultural connotations. I remember when the new Laravel logo come out came out. Somebody said the are in the Laravel looks like a G in Cyrillic and so it's actually a lag of L and it's just sort of like you can never. You can never know everything you know so.
OK, so you started and and because you started so early it's not like you started it in the structure that we have today with dozens and dozens and dozens of people and you work on just one team. So now you're on the Laravel Cloud team, but.
Nuno Maduro:
Mm-hmm.
Matt Stauffer:
At that point, did you find yourself quickly specializing on more front end or more back end or any particular subset of the work? Or are you like, look, I was a full stack guy and I stayed a full stack guy. of like, did you either start or hone into focus on a specific type of programming?
Nuno Maduro:
Ooh, I feel like definitely in the very early days, we had to kind of know everything. Because I remember like doing a feature was about conceptualizing the feature from scratch, like literally designing all the feature ourselves and how we will look like coding the backend, coding the front end, writing an article, writing documentation, publishing it out there with a video if you can. So, you know, we were the whole thing.
Matt Stauffer:
Yeah. The whole thing. Yeah.
Nuno Maduro:
That's one of the best things now on this new structure we have is that we now actually have a real designer Now we have we actually have a real editor now We actually have someone that understands yet UX for example. So I would say that back in the days we had to kind of be full stack in the sense that we need to do the full story from the very first you know key check out to the very last published on Twitter so I always have been kind of, I wouldn't say good, but kind of okay on the back end. But front end is definitely something I struggle with, even today. In designing, I don't even talk to you about that. I'm like the worst person designing in the planet. So, but yeah, with time, just start to getting better and better. I'm still not very good for sure, but we have way better right now on the team, people who actually know what they are doing. So much better now.
Matt Stauffer:
I both want to argue that I think you're very, very good at what you do and also all of us pale in comparison to the sum of people you have in your team. So I'm just kind of like, yeah, we all look like normies when you've got folks like, know, Jess and Tim and everything like that. But you are still a very capable programmer and we need to set that as a baseline. So, okay. So one of the things I wanted to kind of talk to you about was because you are someone who's been writing Laravel for a very long time.
You have been building packages for Laravel for a while. You have been sharing your thoughts about how to write Laravel. I was curious to hear over your journey of being a Laravel programmer, and it could be over the last five years of working at Laravel, whatever else, is there something that you believe today that you didn't five years ago, or something you were really strong about five years ago about how to write a good Laravel app, and what's the right way to write Laravel apps that today you don't believe anymore? Like what? What mindsets have shifted and I'm to give you a tiny example because I always love giving my friend Chris Fidao crap is he he gave a conference talk about hexagonal architecture and then later he was like that's that's way overblown and people still kind of reference that conference talk in the post and he's like I don't do that anymore. So do you have any things where you look at you five years ago and you're like oh that sweet summer child what he didn't know you know what I mean?
Nuno Maduro:
Dude, well, it's funny they talk about Chris because, well, I wasn't at that point of exact new pattern or whatever, but I was definitely all about writing clever code, you know, like everything super complex, just trying to be the smartest person on that code ever, you know, kind of also following all the rules on the books because I was just came out of university and I wanted to kind of implement everything like it is on the books. But, you know, I think it's the same for you, like the experience of actually developing real world stuff brings you so much more, brings you a different mindset, basically.
So these days I'm much more about simplicity, consistency on top of it because, for example, now we have this Laravel Cloud team receiving people all the time. So something I always make sure is that all the code looks consistent.
So if someone is joining the team, they know exactly how to develop a new feature because all the other features look the same. So I'm much more about consistency, simplicity, make it simple. And back in the days, I was so much into, you know, over complicated things overall, like, you know, trying to prevent the end of the world and prevent that whatever we change the framework or we change the database, I'm not into that kind of stuff anymore. I'm glad that I'm not, by the way. So, yep.
Matt Stauffer:
For those who know me, promise I didn't prep or plant this this answer for Nuno It's just literally he and I have gone through the same journey, you know, it's just like you're just like I don't need to do it like that anymore.
Nuno Maduro:
Yeah, sometimes I like to give an example, which is sometimes I feel like it's much more simpler changing like a very simple code than changing a code that is ready for everything because it just, it's, well, it's just, again, it's the experience overall of maintaining real world stuff just brings you that, that's it.
Matt Stauffer:
Yeah, I don't know if you've heard this but I have references so many times if you all have not listened to the talk min maxing I think it's min maxing software development by Konstantin Kudryashov freaking brilliant the the simplest version of it because this guy came in and he was he was like from the astronaut architect school and so he came to speak at Laracon EU not I'm not saying that but like he was around a lot of people who like that he wasn't like hanging out in the Laravel world. Right. He came and spoke at Laracon EU. We were sitting here like what is this? And but he was brilliant, right? So like what kind of a talk is he gonna give and he gives this talk that and this was in the early days where like a lot of people in PHP would really be pretty crappy towards Laravel and so he comes in and he starts giving this talk and it turned into this thing where he basically like said we all want to do the best job we possibly can of planning for the future and we're like, oh gosh, it's gonna be another talk about how you need to do this really heavy architecture, yada, yada, yada.
Nuno Maduro:
Yeah, exactly.
Matt Stauffer:
And he's like, but nobody can tell the future. You can't plan for it. So instead you build these massively overcomplicated systems that are really difficult to change. And so he says, optimize for change, build code that is as changeable as possible. And it turns out the changeable code is not this hyper complicated code. Like you're saying the changeable code is the simple code. So optimize for code that when you learn the information six years from now that you don't have today, you can actually make the change there. So you, I mean, you just summed that up in like three words that I just took, you know, five minutes to say, but still. I love it. And for all those of you who haven't listened, definitely check out that talk.
So I wanted to say this earlier, and I just kind of slipped my brain for a second, but you mentioned about being full stack developers. So we were having a conversation on Twitter the other day, and it was the conversation response to Brannick's post about like, should you use LiveWire or should you use React? And one of the things I was saying is that there's different reasons for both, but React, you know, if you have to pick one or the other as a new developer, React is going to make you more capable of joining larger teams where things are a little bit more segregated.
And LiveWire is going to make you more capable of shipping on your own right now. And you should learn both. But if you have to pick one as the first thing, that's my thought. And somebody said, yeah, but one back end developer and one front end developer is greater than the output of two full stack developers. And they rub the opinion that separated teams are always going to be better than full stack developers. And it's interesting because you kind of talked about the fact that you're like, my responsibility set has shrunk over time. And that's a good thing.
But you didn't say so in a way that was demeaning towards full stack development. Do you, being on a team where you have less responsibilities than you did on day one, think there's anything wrong with those responsibilities? Like what's your thought about like building teams where people are really segregated doing just back end, just front end, just writing versus teams where everybody does a little bit of everything?
Nuno Maduro:
Ooo that's a good question. I think I want to have a team that is able to still deliver a feature from back to the end. So I think, like for example, if you have, if we're working in the product and you have, you know, someone able to deliver a feature from the very first database make migration to the last click on the button, I think that's a positive thing to have.
And I think today, for example, on the Laravel team, everyone on the Laravel Cloud team is able to perform that way. I think that's important. I think, you know, I think, for example, having someone just doing the front end and someone just doing the back end can be sometimes blocking in the sense that, you know, you have to wait for, have the availability or a front end developer to help you out. And then you have to always have a specific feature that needs to be performed by two people, which is not always positive.
Matt Stauffer:
Mm-hmm.
Nuno Maduro:
However, I do think that it should hand on the designer, should hand on the content creator, it should hand literally before the documentation because I think that's all new science and I shouldn't be involved in, I shouldn't be doing that. If I want to, I can do it, if I want to learn and be good at that, but I do think it's a totally different thing.
Matt Stauffer:
Yeah, 100 % with you. Once again, did not feed Nuno this answer. He and I just happen to agree on this one. I love the idea of finding things that are outside of the world. Like I think a project manager is a very helpful tool. I think writers and editors and designers and photographers and videographers are all very helpful folks. And I do think that sometimes you really do have to separate your teams. But personally, even if you do have to separate your team, I still would prefer a team that has a back end developer and a front end developer working on it together.
Nuno Maduro:
Mm-hmm.
Matt Stauffer:
on a feature and then the next team is another back end developer and front end developer versus a team of front end developers and a team of back end developers. So, you know, and I said it was kind of curious whether you had landed in a place where you're like, yeah, full stacks, not the ways to go.
So, OK, I've taken you so many directions that were not the original questions we were going to, you know, going to ask at the beginning. So I'm going to kind of come back to what we were planning to talk about. So I wanted to talk a little bit about your work outside of your work at Laravel for a little bit.
So before we get into streaming and some of the projects you're working on right now, I had a question about some of your existing work. So you have created an incredible number of packages and an incredible number of very influential packages. And one of the things that I often hear you say is, well, I created that and blah, blah, blah maintains that and it's not you. And so I think that that's an intentional thing. And I kind of projected some thoughts onto you as to why you do it that way.
Nuno Maduro:
Mm-hmm.
Matt Stauffer:
but rather than kind of like ask leading questions, I just wanted to ask you, you know, is that, am I reading right that that's a thing you often do? You're gonna have the idea, but you're not gonna be the long-term maintainer. And if so, what motivates you and what are the benefits and the costs of working that way?
Nuno Maduro:
Yeah, that's a great question. I do get that question sometimes and I feel like the answer is just to be clear, I like to co-create packages with other people. That's the way I like to put it. Because I feel like I'm a creator, I like to build stuff, but overall I think one of the mistakes people do sometimes is that they create something and they want to have full ownership of the thing they created to the point that sometimes they get bored and they are focused on other stuff and the project just dies. Okay?
Matt Stauffer:
Mm-hmm. Okay.
Nuno Maduro:
So in my opinion, I think the balance of having other people joining me and making sure the project is successful, not only today, but will be successful over the years is a much better balance. So, you know, over the years, I actually have done this technique of co-creating stuff with other people. Those co-creators actually may join in the middle of the project, and I will still call them co-creators, by the way. Okay, so some of the things I like to do is give ownership, but also give...
Matt Stauffer:
Yeah, love that.
Nuno Maduro:
credits and make sure that people think that project is theirs and make sure they go to conferences and they for example...
Matt Stauffer:
Represent it, yeah.
Nuno Maduro:
Exactly, they say that the product this is a project I have created with Nuno and this is what it does and it's you know. And I like to as well make sure people do releases On those projects and they tweet from their accounts as their own thing. So it's also part of it like making sure people are getting enough credit as co-creators of that thing. So I think the balance, this balance have particularly helped me with multiple projects in the past and continues to help me today. You know, Larasen is one example, but also past PHP, multiple people have come in and come out over the years. I call them core team members, for example. The OpenAI client is a very good example where Sandro have joined the client. He is the co-creator. He have spoke already in multiple conferences. And also like one thing that I don't mention enough, but there is actually people who have joined me in different projects and they actually got better job positions thanks to that. Because they got super into open source, other people start noticing that they are doing releases about these projects and they contacting them. So it's a win-win situation for everyone, not only for me, but for the people joining me in this journey, but also for the ecosystem in general.
Matt Stauffer:
I love that. And I like how intentional and thoughtful you are about it. I was curious. One of the things that I've found is that if you start studying personality types or if you start studying organizational, you know, communication, or if you're ADHD and you're adult diagnosed as an adult or whatever, you start learning that like certain people do better in certain types of projects.
And one of the delineations that often happens is some people really like starting things but have difficulty maintaining them. And some people really like being given an existing thing and kind of operating on it, but they're not the ones having the ideas in the first place. Do you find that you're more of a starter than a maintainer or do you find that you're able to do both? But this is just a way that you like collaborating with people.
Nuno Maduro:
I actually thought about that a few months ago about myself and I'm definitely a creator. So basically it's not a creator but I like to have challenge. You know, either being a creator or joining in the middle but if there is no challenge, if I'm not learning, if I'm not doing something new, I get bored. That's it. That's why sometimes I start this experience like Pokio for example. I don't know if you noticed but I've started this new project called Pokio, blah, blah, blah.
I like to basically be into stuff that I'm being challenged and I find exciting. Then if I'm working on something that I have done in the past, I just get bored, that's it. So if I were to answer one of those two options, I like to be the creator and I like to start something from scratch. I like to be involved while there is challenge. For example, on Laravel Cloud there is multiple challenges from the very first start but there is still challenge today. That's why I'm still on the team and I will be continuing on the team until there is challenges to solve.
Matt Stauffer:
Yeah.
And I really appreciate that because I think a lot of people in open source who are that way, leave a trail of broken packages behind them. And you have found a way not only to ensure that your packages continue to be maintained if they're not your front of mind, but also to pass benefit and shine onto other people through it. And I'm like, this is a model I really like. And I really hope people listen to this episode because I want them to see this as a, are you a creator with lots of ideas who doesn't like maintaining your project after a year? That's fine. because there's people who want to join a project like that who don't have the creation idea in the first place and look at this wonderful model that Nuno has here. So very, very cool.
Nuno Maduro:
Also works for example, not only with people with companies for example. I know a company that is currently using the API client a lot, like literally like they have like 200 projects, all of them using the API client, the open API client. And they just contacted me, I do, do you mind if we get some level of permissions to actually start to writing issues? And I was like, yeah, go ahead, man. I give you permissions, just do whatever you want to, just make sure before doing a big release.
Matt Stauffer:
Yeah, open AI.
Nuno Maduro:
or anything that sounds impactful, just send me an email, I will review it first and that's it. So it doesn't have to be only people, can also be companies that are willing to put some hours into it.
Matt Stauffer:
That's very cool. Okay, so it is time for us. have two more sections left. I want to talk a little bit about your content creation journey and then some things about specific projects, including Pokeo, which I am aware of and I'm very curious to talk more about. So I have watched you go through various steps of your teaching, education, content creation journey, and it's looked a certain way to me. I've kind of watched it happen, but I always know that when you what you see like in public is never what the journey is actually like. So I wondered if you'd be willing to share kind of what was your journey like going from I'm a guy who happens to maybe put out a tweet every once in while on the internet about what a building create things to streamer because it wasn't just a one hop jump. You know what I mean? Can you talk a little bit up like what led you there? What was the process like? What was some interesting stuff that happened along the way?
Nuno Maduro:
And it's kind of fun that you have seen it all, right? Because you know me for more than 10 years at this point, probably. So you probably saw my first tweet ever and you are now seeing me where I am at the moment. Kind of crazy.
Matt Stauffer:
Yeah. And I'm so proud of you.
Nuno Maduro:
I wouldn't say that I'm a streamer though. Okay. I'm still trying to figure this out a little bit. I'm still doing it because I enjoy it. And I cannot promise you that I be like still streaming within three months. Okay. I have this problem again of not being able to continue working on something when I'm not excited.
Hopefully I will continue to be excited with streaming and I will continue to do it. My journey regarding streaming is, you know, I always have been a fan of live content in general. Doesn't have to be always about programming, for example. I remember I still watch, for example, just people cooking on Twitch or...
Matt Stauffer:
Nice.
Nuno Maduro:
Yeah, people just, but not like the real plate gourmet. I'm talking about regular cooking like burgers and hot dogs, you know what I mean? So I always have been fan of that type of content, gaming for example. And at the same time, I always knew that I'm extrovert and I would do well if I were to do some live content. So, you know, six months ago I just said, I'm gonna just...
start putting some consistency into this to see how it goes. And so far it's been, you know, it's working out. People are happy with my streams. I'm happy with streaming in general, which is probably one of the first things I wanted to know is this, is that if I'm able to keep up with the consistency and you know, if people at home are listening to me right now, I feel like when you see streamers, you have no idea how the amount of work streaming like every two days involves.
Matt Stauffer:
Yep.
Nuno Maduro:
And streaming is all about that consistency and being able to keep that pace. And I feel like doing one stream is easy, doing two streams is easy, doing three polished videos is easy, but like doing consistently is a whole new beast. So I'm still trying to discover if I can actually do this long term, which is maybe still not the case, there is a few things I'm discovering. For example, I cannot simply go out, you know, get hammered with a few drinks, because my voice the next day will be gone. That's just one example. But there's a few things you have to keep in mind if you wanna do it consistently. So I'm still learning all of this to be able to understand if I'm potentially within five, 10 years doing this full time. I'm just trying to understand if this is really something I want and this is really something I enjoy. And then once I have these questions, I probably will call myself a streamer.
Matt Stauffer:
Yeah. Okay.
Nuno Maduro:
Until then, it will be just a hobby and something I'm having fun with.
Matt Stauffer:
Yeah, well those are great, great answers and that actually kind of I should have asked this foundational question. Is streaming a part of your job at Laravel or is it just something you're doing on the side?
Nuno Maduro:
It's something I'm doing on the side. So yeah.
Matt Stauffer:
Okay, so it's basically a second job, because I've streamed once a week before and it was exhausting, so you're streaming much more than that.
Nuno Maduro:
Yes, so, but now I'm pacing myself way better than the very first month, for example. I have this problem of going all in on things. So the very first month, I went with streaming every single weekday and published a published video every single weekday as well. And that was, if I would continue that pace, I would burn out. Absolutely sure. So I stopped and now I'm streaming three times a week, publishing shorts every day and...
Matt Stauffer:
Yeah. Yeah.
Nuno Maduro:
Publishing polished videos when I have actual content, which is I think it's good quality. So I'm pacing myself a little bit, but I'm doing outside my Laravel job. So, you know, I have my regular job and then at night I just turn on the camera and that's fun.
Matt Stauffer:
When you're creating smaller content like shorts and everything like that, are you trying as hard as you can to reuse stream stuff or is it just sort of like, yeah, they're two different ideas?
Nuno Maduro:
Absolutely, I want to set up like this train of content that starts from, okay, what do I actually need to have for this conference two months from now, for example? So I need Pokeo, I need Pest4, for example. So what I will do is try to create content live streaming about these two projects and while I kill them, like while I'll do them, I will be able to provide for my viewers at the same time. And...
When I finish a stream, potentially I will end up with good segments or very good, you know, four minutes of content about a specific content. And that may end up being a polished video. But sometimes I end up with segments which are not worth of a polished video. So what I do is a one minute short. And that content actually is serving me very well on various different platforms like TikTok, because people like to have this very informational short 30 seconds video that just give them something new about programming and I enjoyed doing them a lot.
Matt Stauffer:
Yeah. So you are working a full-time job at Laravel. You are live streaming. And then you're taking those live streams and cutting them into polished videos that end up in YouTube and Twitter or else, and also shorts. And then you are being on top of which networks and how to post to different networks and what works on Instagram and what works on TikTok, all the while working on these open source projects.
Do you have a life outside of this? Is this just, I mean literally, this just you wake up, you do this stuff and you go to sleep?
Nuno Maduro:
The weekdays are busy, I won't lie to you. So, you know, what I do is that, you know, wake up at 10 a.m., for example, I work until like three, then I go to the gym, do gym, go back from gym, and then I work again for Laravel until dinner time. I have dinner with my wife, then I go stream, and then I go do some editing if I have to. And it's like 1 a.m.
Matt Stauffer:
Yeah.
Nuno Maduro:
the moment already and then I do gaming because something I have noticed is that if I stream or do editing right before going to bed I don't sleep because my brain is like still at 3000 % you know so I have to yeah I do some medicine which is video gaming with buddies and that helps me out until 2 a.m. 3 a.m. and yeah weekdays are this way yeah this but I don't have kids you know it's just a little bit more simple.
Matt Stauffer:
Yeah, that's awesome.
Do it all over again.
Yeah. Yeah.
Nuno Maduro:
I have a cheap apartment so there is not a lot of cleaning to do. So this is my weekdays and weekends is a little bit more free. So on weekends I may actually prepare like five shorts for example which allows me to kind of save some time during the week but I also do stuff with family with my wife. We go for dinner. I date my wife and that's it.
Matt Stauffer:
Yeah. Your wife says, get off that freaking computer and take me on a date. That's cool. Well, I'm very impressed with what you're doing there, man. It's, it's a lot and you seem to be happy with it. You seem to be, you know, obviously doing an amazing job. So I love that. Um, okay. So let's move on to some specific projects.
Nuno Maduro:
Appreciate it. Thank you.
Matt Stauffer:
One of the things I asked my when I asked my team is they were asking about the switch to to React and it's maybe not a switch but I remember there was one project and I don't remember which it was first where they picked React and then I think I think it was Cloud picked React and the Nightwatch was like well Clouds using rack we're gonna try it and so one of my team members asked what have been some gotchas you ran into when you were working with react or gotchas with inertia when you're building Cloud he said Nightwatch or Cloud but I know that you were primarily involved in Cloud.
Nuno Maduro:
Yeah, yeah. For the record, I actually haven't been involved in Nightwatch at all. So I haven't done any Nightwatch before and I didn't actually check the code yet from Nightwatch. So I will be probably as surprised as a regular customer and excited to try it out. But on Laravel Cloud, I indeed worked with React and Inertia. It's kind of funny because I still remember typing the Laravel new and one of the first things Laravel new gives you is like, what is the stack you use?
Matt Stauffer:
Mm-hmm.
Nuno Maduro:
You know, so me and Taylor and Joe, we were discussing a little bit, okay, what is this, what is the stack we use for this? Like, we had so many questions and this is one more. And I was very good at LiveWire. I wouldn't say very good, but I'm, you know, I can develop with LiveWire because I have done Pincory and many others. And there was Inertia, but, you know, Inertia had React and I wasn't super familiar with React, but I have done Vue, but React has a much bigger ecosystem and blah, blah. So we picked...
back then, Inertia and React. And a gotcha that I remember from that time was this was Inertia V1. So, and I don't know if you have developed already with Inertia V2. And for me...
Matt Stauffer:
I have not.
Nuno Maduro:
you have not. Okay, so for me back then, coming from the LiveWire experience, Inertia V1 with the React felt broken for me, because I was used to so many stuff like prefetching.
Matt Stauffer:
Yeah, it's very clunky.
Nuno Maduro:
in some of the very cool things you might find on LiveWire, you take it as granted. And I remember changing to Inertia V1 with React, and I was like, oh my God, I don't have all of this power on my fingertips right now. What do I do? So there was a bunch of catches, like prefetching was missing, I remember as well. Every time I would, know, when prefetching got implemented by Joe T, then there was bugs in between. So Joe T started Inertia V2 at that moment.
Matt Stauffer:
Yeah. Huh.
Nuno Maduro:
within Laravel. And obviously a bunch of ideas of inertia v2 came from Joe T as well, but I remember like giving me almost daily feedback about what is not working on inertia v1 and what do I need for Cloud. So he did like a bunch of things almost tailor-made for Laravel Cloud, which ended up being on a change log of Inertia v2. And right now I feel like being
Matt Stauffer:
Very nice.
Nuno Maduro:
experienced with both Livewire and Inertia V2 with React. I feel like both frameworks are super powerful in the same way. And I am fast with both. They both have great features. Undeniably, React in terms of the market is big these days, is undeniably big these days. So yeah, we are happy at the end with the peak Inertia V2 in React. But yeah, in the very early days, it wasn't as good as it is right now.
Matt Stauffer:
Yeah. Yeah, I love the answer to what was there some gotchas is go look at the V2 Inertia launch list. Quite a few of those are the gotchas we ran into. was like,
Nuno Maduro:
Yeah, exactly. And initiative2 is, I think it's make actually inertia complete as a protocol between Laravel and React.
Matt Stauffer:
And that's that's very helpful in part because we were talking about Inertia a lot over the years being like is you know, people would say, well Inertia is not, you know, a big deal because it doesn't get a lot of work and it was sort of like, well, Inertia is kind of feature complete. And then I think during that time period, there was a big no, it's not, you know, there's there's work to be done there. And it was so it's really cool to see it get this kind of like new breath of life. I didn't know how involved you were in that. And grateful to you and Joe T. and everybody else who worked on that. It's a funny thing is I so.
Nuno Maduro:
No. No.
Matt Stauffer:
Because I'm CEO now, I don't get to code nearly as much as I did. People are like, you're the CTO, you own a company. I was like, no, man, I code every day. It's great. I'm the CEO now. I don't code every day anymore. And when I build things, unfortunately, I'm building usually with things I'm comfortable with. So I build with LiveWire or maybe occasionally with something with Vue. But I remember just listening through the announcements for Inertia V2 and just being so excited about the opportunities because we use Inertia a ton at Tighten. That's funny.
I don't get to use inertia, but we use inertia. And so I get to watch the team's pain points or excitement points or whatever. I'm like, I know that V2 has really been a big deal for us.
Nuno Maduro:
Yeah, definitely, I agree and definitely just for the record, do think like when I, as a Livewire expert, let's say, coming to Inertia V1 with React, it felt broken almost, because I was so used to all of the Livewire power, you know? And I still feel like Livewire, it's huge. Like, I'm so productive with it.
Matt Stauffer:
Yes.
Nuno Maduro:
These days as well on Pinkery for example Pinkery is a social media still you know online these days fully built with Livewire and Laravel and I built that thing in you know in three days because Livewire brings you so much productivity which is insane in terms of productivity between both stacks I probably still feel that you are more productive with Livewire you know what I mean
Matt Stauffer:
Yeah, I do.
Nuno Maduro:
because you still have to learn React and probably get familiar with everything within the React ecosystem and it's a little bit more to maintain as well because you have more code to maintain. But both are great frameworks. Yeah, that's TLDR.
Matt Stauffer:
100 % with you. And I think that any conversation around these things requires nuance and it requires some level of it depends, right? But I love your approach of you're like, look, I can use both. I can be productive in both. I know the pros and cons of each. Okay. So I know we're supposed to wrap soon, but I have one last thing I really wanted to make sure we talk about. And then of course, after that, I'll see if there's anything that you wanted to talk about, but I wanted to talk about Pokeo.
Nuno Maduro:
Exactly. Exactly.
Matt Stauffer:
So you have just recently been sharing on your your social streams that you're in working on this thing and you've been streaming yourself working on the thing So let's assume somebody's never seen one of your streams doesn't know anything about Pokio. Tell me about it. What's the story? What's the motivation? What kind of prompted you to want to make it and what does it what does it do?
Nuno Maduro:
Yeah, so absolutely. as you may know, the Laracon US is coming and I am one of the speakers and I am supposed to speak about Pest 4. Now, Pest over the years accumulated a bunch of different features which made probably Pest very popular around there. But one of the things I have noticed is that for big projects, just like Laravel Cloud, some features in Pest can become slow. Things like type coverage, architectural testing, actually take a lot of time if you want to scan like a big project. something I want to bring for Pest 4 is a much performance, various performance engagements on those various features. So when I looked into that, I started looking into, what do we have on the PHP ecosystem for parallel processing or asynchronous programming? These are all difficult in complicated terms, but they all mean the same. So I want to basically leverage all the CPUs I on my Mac to make this faster.
Matt Stauffer:
Yeah. Yeah.
Nuno Maduro:
And I started looking at what we have at the moment and I noticed that okay, there is literally this framework but requires me to change all of the internals of PaaS, so this no. That is this particular library but you have to have XYZ extensions installed. So I said, I cannot afford this because people are going to run PaaS on Windows. This cannot, I cannot use this. So at some point I was like, holy shit, I will have to create my thing. That's it. And.
Matt Stauffer:
Yeah, I gotta do it myself, that's it. Yeah.
Nuno Maduro:
Exactly. So I thought about, know, I'm going to literally just open the live stream and just code this with my viewers with a new donation, how I call it. And I started the project from scratch and I noticed I could actually do it. Within two streams, I have literally the project nearly complete with a logo, with read me, published on packages. People can already try it out. So my goal now is and just for the record, for those who actually understood, Pokio is literally this asynchronous library for PHP. So you do async await just like you would do in JavaScript basically. So you do async, you can have a task inside that does whatever, and you have another async below which does another task that does whatever. And those two tasks are going to be processed in parallel. That's what Pokio is about. And it has this syntax which is async await just like you would find in JavaScript. So if you came from JavaScript, this will be super...
kind of easy to use. So that's something I also want to be able to just, you know, put this on existing team and people will know exactly what this syntax is about. They don't have to change a single line of code because it will just work and it's got that simple to use. So anyways, fast forward. Pokio is already kind of almost complete. My next step will be polish, tiny bits I have to do still, but do a YouTube video about the project and just prepare an announcement.
And hopefully I will have some co-creators which will help me kind of making sure this project is successful over the years.
Matt Stauffer:
Keep it going, we'll be excited about it, and we'll see benefit in their own lives because they were a part of doing this with you. I love this. That's a great vision. Well, thank you so much for sharing that. Before we wrap for the day, and I cannot believe we're already at time because I'm like, there's so much more, but before we wrap, is there anything that you want to talk about, anything you want to share, anything you haven't gotten a chance to speak about or a platform where you want people to take a look at that we haven't covered today?
Nuno Maduro:
Not really, so I have probably to talk about just that Pokio is coming out in the next week or so I don't know exactly when are you publishing this podcast, but I've heard is the 26th May I think so by this exact moment Pokio should be out already. Then I'm gonna use Pokio to be the core new engine of Pest four which is coming out this summer around Laracon US and for past four you can expect as I already have said, performance improvements within the framework. So the things you are used to like mutation testing, type coverage, code coverage, all of those features are going to become hopefully much faster. And that is one little thing I'm preparing that I'm not ready to say yet, but that is a brand new thing coming out for Pest four that I think people are going to really enjoy it. If they are doing React and inertia, they are going to love this as well.
Matt Stauffer:
okay. I was already excited and you just got me even more excited. Okay, very cool. Very cool. Well, Nuno, thank you so much for hanging out. This was a great time. Hope we get to have you back on again at some time down the road in this season. And thanks for everything you do for our community man.
Nuno Maduro:
Thank you so much for keeping this Laravel podcast one of the best podcasts out there. And it feels good after Laravel podcast season three, which was kind of my beginnings in Laravel and be here right now with you after 10 years feels truly overwhelming. Thank you.
Matt Stauffer:
Yeah. Oh my gosh. Now, you know what? We'll make sure that we link that in the show notes to anybody who has not got a chance to hear it. Because I now I'm like, I don't know if we recorded the video of those or not. But if we could get a video of like baby baby Nuno and today Nuno side by side.
Nuno Maduro:
Oh my god, did you recorded it? I don't think you did.
Matt Stauffer:
I don't know if we did. Yeah, because they might have been just audio back then. We'll take a look anyway. Thank you for rejoining us. And yeah, for the rest of you, we will see you all next time.
Nuno Maduro:
Thank you, Matt.
Creators and Guests


