Brendan: Hello and welcome to PodRocket. I'm Brendan I'm on the engineering team here at LogRocket. And our guest today is Amanda Giannelli. Amanda is a software engineer at Auth0 and a core team member of Redwood JS. Redwood is a modern full-stack JavaScript framework. In one of podcasts, very first episodes all the way back in 2021, we talked to David Price about Redwood and the future of Jamstack. At the beginning of April, Redwood hit its one point over lease and so we have thought this would be a great time to check back in on the project and hear about everything that's happened leading up to that milestone and where you all are headed next. Amanda, it's great to have you. Thanks for joining us on PodRocket. Amanda Giannelli: Thank you for having me. It's a pleasure to be here. Brendan: I thought before we dive into Redwood and all of that stuff, can you tell us a little bit about yourself and who you are and how you came to be involved with this project? Amanda Giannelli: Sure, absolutely. So in early 2021, I was coming back to work for my maternity leave and I had said, "Let me get involved in like open source now." Because I've I hadn't done that, I was a .net developer for over 10 years. And I wound up attending, it was the daily.devs first monthly dev meetup and David Price gave a little bit of a kind of, what would you call it? Like an overview of Redwood and a kind of a demo. And it was the first time I said, "Wow, Jamstack seems accessible to me." Because as a backend developer, all of like the frontend JavaScript stuff got very confusing and Redwood just made it so easy that I just had to get involved and the rest is pretty much history. I started interacting with the community and next thing I knew it was be a contributor and then it was be a core team member. So it's been a really fun ride so far. Brendan: So you hadn't even worked on a full stack JavaScript framework at all at that point? You were coming from a purely from a .net background? Amanda Giannelli: Yes. 100%. In fact that's why it was so weird for me to fall so in love with it, because I was like, "I don't like JavaScript." That was like my thing for like over 10 years. "I don't like JavaScript." And then Redwood made me like JavaScript so here we are. Brendan: I feel like as a backend developer myself, like smack talking JavaScript is just a core part of our identity for a lot of us. And was it that accessibility of the code itself of the community, of the documentation? Like what was it that made it feel like this is sort of a framework or a tool that I want to be a part of? Amanda Giannelli: I would have to say was a little bit of everything. Obviously as a developer, when something is so easy to use and it's like, "Run this command and everything you need is set up." It's like, "Okay, cool." That gets me going. And then just how easy it was to work with. And then of course the community and the docs, like the tutorial for Redwood was my favorite thing. In fact, I still tell everyone all the time, "Just do the tutorial, even if you never use Redwood. Just go through the tutorial to try it." Because it's just such a great form of document driven design because that's kind of where they focused. It was, "Let's get this tutorial going and then go from there." Brendan: And I guess another question I feel like people have a lot is, a lot of people are interested in it getting involved in opens source projects and it feels like there's oftentimes a very high barrier to entry for people who want to not just get involved, but make a meaningful contribution to a project. Do you have any advice or thoughts for people who are sort of interested in making their first sort of move into contributing to an open source project? Amanda Giannelli: Absolutely, because that was definitely my thing. I was so afraid of like getting involved in open source because it's like, "What if I don't understand what's going on? What if I get judged? What if people don't want my code." Et cetera. And list all the imposter syndrome things that come up. But with Redwood especially, my first contribution was just updating the docs. I had noticed a typo in the doc. So nothing is too small when it comes to open source. And I think just putting yourself out there and interacting with a community is a great start. Even if you don't even touch code, just being involved in following releases or just talking with community members, I think that's a great way to at least get your foot in the door and see if it's even something you're interested in working on. Brendan: Yeah. And I think embedded within that also is the idea that the community has to also want to be inclusive and want to sort of accept new members and sort of bring people. And it sounds like that's the case with Redwood. But is that something that is just an outcome of the personalities of the people who were sort of building the product from the beginning? Is that something that you've done intentionally as a team to build that community and build that accepting environment? How does that all come together? Amanda Giannelli: I think it's a little bit of both. I think the core team themselves is so willing to like get other people involved and want help from the community. And then just by design wanting to have it be so community driven. Because the whole point is it's open source, right? And we love our contributors. In fact, I think there's over 300 of them that contributed to the V1 release alone. So that's always kind of been the drive. Is come into Redwood, do the tutorial, join the community and anything else you want to do we're here for it. So I think you do have to be intentional about making sure it is an inclusive community where people feel comfortable contributing, their PRs aren't just ignored or abandoned. Their questions are left unanswered on say a forum or in discord or wherever you're communicating with the team. And I think that's one thing the Redwood community has done very well is be mindful of making sure people feel heard and listened to. And yeah, it's been a great community to be part of. Brendan: So let's talk a little bit about Redwood itself. Can you give us a brief overview of Redwood? What is it? What sort of does it cover? And maybe how does it compare to some of the other tools or web frameworks that other people have may have used? Amanda Giannelli: Sure. Redwood is a fully integrated end-to-end production ready, fully tested frame work for people to go from side project to startup. And I know that's something that's been said a lot, but it is true. In fact, even during our launch week, we had a bunch of our founders that came on saying what started off is just a trial run with Redwood, that's the code that's now in production. So even from very early stages, it was always intended to be this thing that gets you up and running as quickly as possible and allow you to get everything you need to just have a production ready app. So having Storybook involved for being able to design your components in isolation, having testing support built in from the start. You generate a page, you get a Storybook file and you get a test file ready to go. So it's meant to help you do all those pieces of software development without having to think about it. You don't have to worry about setting up your backend. It's there, if you ready to go. Brendan: And as a software developer at a startup, I guess it's kind of an occupational hazard that you set up a proof of concept and then a year later you're like, "Wow, that's been running in production for a year." So definitely, I can see the appeal to having something that tries to take a lot of the bigger picture think you can do that from the start for you. Amanda Giannelli: Right. Brendan: Is that what you feel like is the biggest differentiator between Redwood and some of the other frameworks that are out there for JavaScript or is there a way that you sort of would give people to come compare between you and maybe some of the other tools in the space? Amanda Giannelli: I think all tools have their place. Everyone builds their tool with their idea of what they need or what they want. In fact, we have people using Next.js with their Redwood API. So I think Redwood has a great built in solution for your end to end. But if you who have needs that are not necessarily covered by Redwood, I think there's a place for everybody, right? I always believe in more of a creator over competitor mindset where as I said, everyone has their place and what they do best. I think Redwood is great because it's opinionated and because it has its own way of integrating everything together and it's so tightly knit and works well, but it's also flexible enough to bring in other pieces that may work better for your particular implementation. Brendan: Another thing I've noticed about Redwood is that you're very opportunistic of taking advantage of best in class tools within the JavaScript ecosystem. Apollo GraphQL client, PRISMA for your database layer, Jest for testing, Storybook. And that feels kind of in contrast to something like Jungle or Symphony in PHP, where a lot of those core components are sort of in house and have shipped with the framework kind of forever. Can you talk a little bit about the philosophy behind that approach of being more modular and using more sort of open source components? Amanda Giannelli: I would say that the key to that is because we want to give the flexibility to be able to switch out. Like we said, in fact now Redwood be one shift with GraphQL Yoga rather than Apollo. So it's all about using the best tools. Obviously the whole idea of open source is someone's doing it to the best of their ability so why not take advantage of their knowledge and expertise. And Redwood has partnered with over, I think we have over 25 integrated partners from off to deploy appointments to the whole end to end. I think it benefits us to leverage other components because if something does become the next big thing let's say, you learn you can swap it out instead of it being well, you fall behind because you have to focus on maintaining so much more, right? Instead of maintaining the communication between these tools, you're focused more on maintaining the integration of these tools rather than keeping up with another tool, let's say. Brendan: And it seems like you also are building strong relationships with these other projects and the maintainers of these projects. Is that something where you've found that sort of people reach out to you and try to get connected with Redwood? Do you sort of reach out and proactively build those relationships with other creators and other devs? How do those relationships get built? Amanda Giannelli: I'm sure it's a combo of both. Coming into the project of a little later on, there were already so many integrated partners from the start, but I think one of the key things of having these integrations that we do learn from each other. We have different areas of expertise. In fact, I know them helping us has helped them. Right? Because it's that symbiotic kind of relationship. Brendan: Are there any good stories of that you can think of where something about the design or what you've built has been sort of changed by an idea that came from one of your partners or one of these other devs? Amanda Giannelli: I honestly don't know off the top of my head. I do know that we've had like community driven changes to even the framework and in the ways that we've chosen to implement features, I know that has stemmed from community. In fact, the reason a lot of our startups were, were paramount in V1 release because it was them using the software and building what they were building that forced us to think of how can we integrate what they're trying to do and make it easier for them? So community driven as always when it comes to Redwood. Brendan: You mentioned Auth in those integration partnerships, and I know you work at Auth0 now. Is Redwood part of your day job there? Is it something you're doing completely on the side? Amanda Giannelli: It is something I'm doing on the side, but it's because of Redwood that I even found Auth0. Because as I said, I was a .net developer and when I had started playing around with Redwood in the tutorial, I had seen Auth0 as an authentication provider. And it was around early last year where I was thinking of doing a career change and I actually applied for Auth0 and got the job there becoming now a JavaScript developer after being a .net developer for so long. So it just goes to show how even just having those partners, it caused me to find a new career path in a way. So that whole community thing now going to getting jobs for people. Brendan: And I guess a good argument for companies to get it involved in open source, right? Because that's where talent comes from and we're all sort of trying to solve the talent and growth problem right now. Amanda Giannelli: Absolutely. Brendan: So the big news, what you're sort of here to tell us about, Redwood hit 1.0 earlier this spring. You've been in production with a lot of your sort of early adopters for a while. So what does the 1.0 tag mean to you as someone working on the project and what went into deciding that the framework was ready for that 1.0 stable release? Amanda Giannelli: Absolutely. Obviously 1.0 means that is the original vision for all the components that the team saw, especially the founder saw as what they wanted as part of Redwood. And 1.0 just means that now it has been fully tested, there aren't going to be as many breaking changes. Although I have to give kudos the release notes for all the breaking changes from... I've been involved with Redwood since version .23. So I've been around for quite a bit, but every release has had excellent release notes. And even when there were breaking changes, it was very rare that my apps were adversely affected. But obviously by having 1.0, that means, "Hey, we can't be breaking things we have to kind of slow down a little bit and be more mindful of the changes we're making to ensure backwards compatibility and all that." But I just think 1.0 is just proof that Redwood is, in its state, ready to go and be used by anybody and go to production. They could feel confident that their apps are going to be working at the best that they need them to be. Brendan: Were there any sort of big features that come to mind that the team was like really waiting on before it was ready to go for 1.0? Amanda Giannelli: I know some of the things that got in near at the end were we released bare metal deploy, which allows you to deploy your own servers. Typically Redwood was working with providers like Netlify and Versaline and whatnot. We're now as of 1.0 There's actually, it's called bare metal, which is you can deploy to your own servers. I know that was a big one. I think even GraphQL yoga was getting close to the wire, but did make it to the 1.0 release. Those are some that I can think of. Brendan: Yeah. Amanda Giannelli: Yeah. Brendan: So now that you guys have hit 1.0 what's next? I'm sure there's a huge amount to do around supporting launch, like going on web development podcasts, but once that dust has settled, where is Redwood going next? And do you think that's something that's sort of more driven by your vision or more driven by sort of what the community needs from the project Amanda Giannelli: As always a little bit of both. Shortly after the V1 release, there's actually a forum post on the Redwood forum asking, "What do you guys want to see? Like now that we're in V1, what do you want for us to move forward?" Because naturally we're building this for people to use, right? We want people to use it. So we want to give them the features that want to see. So there's a whole list being created there, lots of feedback from both the core team and the community. In fact, it's funny when you see those items align. Like I know internationalization is a big one that people are looking for. Service side rendering I know is a big one that people are kind of looking to see. So we'll see where it actually flushes out. But lots of input from the community there too. Brendan: And do you see your sort of versioning strategy as that 1.0 tag being around for the long term and building incrementally? Or do you have a vision for 2.0, 3.0, sort of larger more opinionated releases? Amanda Giannelli: I definitely think we'll see some opinionated releases. They've been joking about V2 already. Even during V1 launch week, I think the V2 nomenclature was dropped. So we'll see. Again, it comes down to what's needed and what... We already hit 1.1 too, it's constantly moving and churning and I could see us going to like two, three. Dream big. Right? Brendan: What has sort of participating in the whole process of launching 1.0 of Redwood been like? Obviously there's been a lot of community events, Q and A's publicity. Anything stand out from that experience? Amanda Giannelli: I think for me, it was getting to really see one, the community rally together to support the V1 launch, but also getting to hear from founders that built their products in Redwood and see those demoed. We have a whole startup showcase day that's actually on our YouTube channel. And it was just so fascinating to see all these amazing projects and the things people are building with Redwood. That was kind of like the... Over 19 million in funding has been invested in Redwood startups in over the past like seven months or so. So it went to show how much bigger it was than I realized. When you're part of something it's like, "We know what we're doing, we know what we're building." But then to see it feels so real. And so, in production with these amazing applications people are building it's just inspiring to be part of. Brendan: And I guess thinking of being in production and releasing applications, another thing that really stood out to me looking at your docs and playing around with Redwood is the delivery story. As you mentioned, there's sort of first party integrations with Netlify for sales serverless to sort of make it really easy to configure and get Redwood into production or at least running somewhere that's not on your MacBook. And that felt really different than experiences I've had in the past with other frameworks where it feels like there's kind of big line of demarcation between like here's some tools for writing the code that runs a web app, you go figure out what you're going to do with it. You put it on E two instance with a load balancer and figure out how to serve the web app. Obviously Redwood's taking a different approach. Can you talk a little bit about why that's been in such a big focus for you and what the sort of long term vision for how you release Redwood apps is? Amanda Giannelli: In terms of why it was built that way, I think it's because I know, I touched on this a little earlier, like even as a non-JavaScript developer, trying to enter that realm, it was always so confusing. What do I use? How do I configure this part? How do I configure this part? And now you've wasted all these hours just trying to get the base app built, to get ready to do something with it that you're like, "Okay, well now let me actually start developing." I think Redwood wanted to take away all of that friction and just give you... Yes, It's opinionated, I know some people have their opinions on that. "Well, I don't want to use that. I want to use this." "Fine use what you want to use." But I think having that opinion neededness helps you to get up and running faster, right? Amanda Giannelli: Because you don't have to think, "Well, now let me configure this thing, let me configure this thing. Well, what do I pick for my database provider? What do I pick for where I'm going to deploy?" It just kind of lets you build and get up and running so that you can actually do the fun part. Because I don't know about you, configuration is annoying. I don't want to have to deal with that all the time. Maybe sure, I'll set up my environment variables, I'll get my stuff going, my keys and all that, but I want to just write code. So I think that's kind of the big thing about Redwood and what the goal was there. Brendan: Yeah. And I guess thinking about how you talk about yourself as a framework for startups, the enemy of an early startup is time. It's never what deployment provider you picked. If it's getting your idea into production in front of a user and see what people are willing to spend their time on and pay for. And so it feels really well aligned with your mission that you've made it such a part of the core developer experience to just be able to release quickly and have your code out in the world. Another big announcement in Redwood land as part of this release was Tom Preston Warner wrote a blog post about committing a million dollars to Redwood over the next year and sort of had some really strong opinions about keeping the project self-funded instead of looking for VC backing and obviously a million dollar is a lot of money, but not compared to the hundred billion dollar revenue. Seeing Startups raised at the past couple years. So I'm curious from your perspective, what's going to change about the project with this new funding and what do you want to stay the same? Amanda Giannelli: I think the whole reason Tom wanted to do this funding himself is so that we don't really have to change, right? Redwood can continue to be the open source community driven project that it is, but have that little extra to be able to market, go to conferences, do all the things that we need to do to really stand out and show what Redwood can do, which can be hard obviously to do on your own without funding. But as he mentions in his blog post, when you are funded, suddenly you go on this trajectory that's really fast and really... It's like sink or swim kind of thing. Right? So I think the whole goal was to be able to let Redwood continue to be where it is and still grow and get to those other great things that could be on the horizon. Brendan: I guess, growing slowly and sustainably like a Redwood in some ways. Amanda Giannelli: Yeah, there you go. Brendan: And along with that funding, he also announced a million dollar fund to invest in startups, using Redwood with a focus on female founders and founders from historically underrepresented backgrounds in tech. Can you talk about sort of what that goal means to you and other members of the core team building Redwood? Amanda Giannelli: Typically in tech especially, I think they joke about this all the time that when you look at the founders of Redwood it's classic Silicon valley, right? So one of the big things with Redwood lately has been wanting to have a more diverse community. Bring in founders from those underrepresented backgrounds and I know Tom also has a special place in his heart for climate change. So I know he wants to focus on any startups that are going that route as well, especially obviously using Redwood. And I think it's very important to the community in general, because we do recognize that, especially in open source, you don't always see those diverse communities. And we want to show that we are welcoming and that we do want people to succeed. And I think it's such a great way to show what Redwood can do and give back to the community. That's just help build it. Brendan: Yeah. That's really exciting to see. And I guess in classic PodRocket closing style, we usually like to ask a sort of really big zoomed out question to close with. So since you're representing a web framework, what's the future of web frameworks? What's going to be different about how we build web applications five years from now than what we're doing today? Amanda Giannelli: Honestly, I don't even know. Everything's moving so fast as it is. Like you think of where things were even a year ago or two years ago go to where they are now, I don't even know if we can predict it. I think every day there's something new coming out that just revolutionizes the things we do now and hopefully Redwood can continue to integrate those amazing things. So I I don't even know if I could predict that. I think everything's just too fast right now to really be able to see. Brendan: Yeah. And I really like your connection between sort of how fast things are changing and how quickly the scene is moving to Redwood's philosophy of essentially staying open-minded and being willing to sort of pull in new ideas and new technology. I think that feels well aligned in terms of what the project is doing and how it feels to be part of the JavaScript space right now. Right? Amanda Giannelli: Yeah, for sure. Brendan: Great. Well, anything else that you would like to point our listeners toward or that you're working on now that you want to plug? Amanda Giannelli: Well, as I mentioned, we have a few forum posts out there at community.redwoodjs.com regarding all kinds of things. Like we mentioned earlier about next and Redwood, there's playbooks on how to do that. We're always giving information to our community members there. My big thing would be do the tutorial. If you haven't checked at Redwood before run through the tutorial and join the community, those are big things. We'd love to have you and help you build great things. Brendan: Awesome. Well, Amanda, thank you so much for joining us on PodRocket and we'll see you online. Amanda Giannelli: Thank you for having me. Kate: Thanks for listening to PodRocket. You can find us @PodRocketpod on Twitter and don't forget to subscribe, rate and review on apple podcast. Thanks.