Friendly Show
Yaro and Adrian are online and conference buddies that enjoy speaking about development, tech, SaaS, and product development.
Let's be friends!
Friendly Show
Caleb Porzio: Crafting Open Source Dreams and Financial Freedom with Flux 🚀
Discover the inspiring journey of Caleb Porzio, a pivotal figure in open source innovation, as he reveals the secrets to balancing a career fuelled by passion and financial stability.
Transitioning from a conventional full-time job to a flourishing career centered around open source projects, Caleb underscores the significance of financial readiness and the autonomy that freelancing affords.
His journey sheds light on how this path may be more attainable for younger individuals, who often have fewer commitments.
Caleb's strategy of intertwining free open source tools with paid projects not only ensures sustainability but also fosters continuous innovation.
Tune in to learn more about his latest project, Flux, and how he maintains a healthy balance between supporting the open source community and commercial pursuits.
Caleb also shares his ambitious vision for 2025, focusing on enhancing current endeavors and venturing into new territories within the open source realm.
With plans to expand and refine Flux, he aims to push the boundaries of its capabilities, while also contemplating a new iteration of Livewire with core improvements.
Caleb is also considering the development of an open-source library for front-end elements, targeting the non-React ecosystem.
His commitment to both advancing existing projects and exploring fresh opportunities offers a fascinating glimpse into the future of open-source tools.
Join us to explore Caleb's strategic approach to innovation and his unwavering dedication to the community that supports him.
Hey everyone, this is Adrian, and at Rails World 2024 in Toronto, and with me I have Caleb Porcio, which is pretty much a legend in the making in the open source world, and especially in the commercial open source world. Welcome, Caleb. Hey, thanks for having me. Adrian, yeah, you pretty much made a lot of waves in 2019, 2020, when you posted that you quit your job and you're going full-time on open source and trying to make a living off of it. I think that a lot of devs have this dream doing what they love doing open source and actually making a living. One of the first questions that pops up how do you know that this is the time to leave your job and and go chase that dream?
Speaker 2:I saved money and I didn't have kids. So those are two conditions that are pretty good. But you know what actually, you know most developers, I think if you're like a mid-level developer, you can always freelance right, like that's a pretty easy thing to do. So it makes it so that, like quitting your job is just not as scary because you can go freelance, you know to like pay the bills and then go find like a full-time job if you need to.
Speaker 2:So if you I guess it's like you amass enough skills especially if you have like a popular open source project or something you probably do have enough good programming skills that you can kind of write your own ticket in a small way and like that's all you need you just take the leap. You tell your friends and family, oh, I'm going to, you know, try this for a little bit, and then I'll just go freelance. That's the line you give them. But when you really you know like when you just go for it, it might end up working out and you might never go back to freelancing. At least that's the way it was for me. But yeah, I don't know. I think that's what makes it uniquely easy in the developer world if you're skilled enough.
Speaker 1:Yeah, I totally agree. Would you say that doing this kind of thing, like going full open source, is a young man's game?
Speaker 2:Oh, I don't know. I did it when I was younger. I think I was 25 or something. Is it a young man's game? Yeah, in many ways it is, but I guess the young man's game part of it is. Let me just say, yeah, it's a young man's game, okay.
Speaker 1:Okay, that's good enough, that's good enough, yeah. And I think it's easier to you know when only yourself, when only you have to, like, you know, you know, have to eat ramen, you know that's okay. But when you have to, you know, tell your wife or your kid or whatever. That's a totally different thing, right? When you have a.
Speaker 2:Yeah, it is a different thing and that's just like part of. I guess this has nothing to do with tech, but some of the like life philosophy that I was getting into at the time and in my early 20s is like the financial independence movement following Mr Money Mustache. So I was already subscribing to this idea that, like you spend as little as you can so that you have maximum freedom, and that's kind of just something that you can maintain at any age, doesn't have to be when you're young, you know. So I don't know.
Speaker 2:Yeah but it is a little more of a young man's game.
Speaker 1:Awesome, Awesome. So I probably didn't do a very good introduction. So you are the author of Livewire of Alpinejs.
Speaker 2:Anything else big. Those are the two big open source ones. I just launched Flux. It's a project for Livewire in Laravel. It's big enough to me that it actually feels like a third project, but yeah, it's more like a LiveWire project. Yeah, livewire and Alpine and then a bunch of other random repos, but those are the big ones, yeah.
Speaker 1:I'm a big sushi fan myself.
Speaker 2:Hey, nice, go on and.
Speaker 1:Alpine. I just put it through its paces. I built a lot of cool stuff with it. So you recently. So I saw your Flux launch. We'll get into that in just a second. You said something like hey, now when I build, I try to build one thing that's open source and free, and one thing, that's paid Like. There's a balance there. Do you think this is the right balance?
Speaker 2:I do. I mean, for an indie creator like me, somebody who doesn't have a normal business, you need revenue and it's hard to get an open source, so you have to charge for things to get revenue period you have to charge for things. Of course, if I just only worked on free stuff, it wouldn't be enough money for this to be lucrative for me.
Speaker 1:Yeah, nobody would get anything, right, yeah, right you would get.
Speaker 2:Yeah, like the end products you would get would be less and worse and they wouldn't be cared for over time and whatever. So I don't know, it just seemed like a rhythm that works pretty well for me is. I just love building, whether it's paid or not.
Speaker 2:So it's just as easy for me to get really, really stoked about a new version of LiveWire, a new version of LiveWare, a new version of Alpine and spend a whole year on it and not even think about it. But if I always do that, I'm not making money. So with Flux it was like all right, here's a need that definitely needs to be filled. The entire year and a half to two years before Flux was spent purely on open source work. So it was LiveWare version three and I just poured everything into. I mean, the launch was great but yeah, it was free.
Speaker 2:So this was like I'm going to do a big chunk of work, I'm going to charge money for it, and then that'll be kind of like a tailwind for the business going forward. And then next year I'm hoping to do LiveWare version 4, maybe an Alpine version 4. And I'll probably put a bunch of effort into the open source side and then we'll go back to a paid thing. I guess. I don't know. That's just the rhythm that's been happening and that's why I said that yeah.
Speaker 1:Yeah, that's awesome. And you can also, you know, go zigzag if you want, like whatever. Whenever you think it's better to work on open source, you can just jump there, right, because you have that freedom. Yep, cool. Well, how did you get like? For those who don't know, flux UI is a UI framework for Livewire, is that correct? Is that a good description? Yep, perfect. How did you get the idea to work on something like that? Was that something that was planted into your head like a long time ago?
Speaker 2:Or is this something that you it's almost like the most obvious thing to build? If you built a web framework, the next most obvious thing to build is like either a SaaS starter kit or a UI kit.
Speaker 1:You know Okay.
Speaker 2:Like. Those are the things that. It definitely wasn't an innovative thought at all, because it's the thing that people have asked me for since day one. I knew that I wanted to really nail it, because you can make a cheap version in a week that just wraps a bunch of other packages, slaps some styling on You're a developer, you're not a designer. It's not going to look that good. It'll look okay. I want to do it right. So I waited a really long time until I felt like my skills were there and I felt like I had the money to hire a designer to do a good job. But yeah, ultimately, this is something that's just been illuminated to me build the thing people are asking you for.
Speaker 1:It seems so obvious, but it's almost like the best business advice I've ever heard.
Speaker 2:It's like hey, the thing people are constantly going, hey, what? Like I did a VS Code course and that's just because so many people were like show me your VS Code setup. What are your settings files? It's like the thing people are asking you about. There's your next product and that's what Flux is. So many people were asking me and then I just built it.
Speaker 1:That's awesome. So yeah, you said you went out and hired a designer. I know you're working with Hugo from Tupel. How did you get in touch with him? Did you look him up?
Speaker 2:on the job board. No, he wasn't on my radar at all, that guy standing over there, mr Adam Wadden.
Speaker 1:Adam Wadden.
Speaker 2:Yeah, I went out. We went to see Jerry Seinfeld me, him and Steve Shoger.
Speaker 1:And everybody on Twitter knew that, so that's awesome. Okay, yeah.
Speaker 2:So he invited me to go see Seinfeld. And we're just sitting there like eating breakfast and I was like, hey guys, you know, I think like I need a good designer. These are the guys to go to if you need good designer. Basically, it was like what's the list of people you didn't hire? Is there anybody that like you?
Speaker 1:know I was like I need a good designer yeah, right, like who should I?
Speaker 2:and they both. They're like thinking about it and they both said hugo. Hugo would be perfect, he'll care about this project, he'll be into it. And I didn't know. But hugo had followed me at the time. Hugo knew who I was, so he wanted to work with me. So I reached out to him and then it was just like a match made in heaven. Like really quickly, yeah yeah, it looks.
Speaker 1:It looks great. I have seen, I've checked out flux. It's just amazing. So I I've been seeing this movement in the rails community as well like people need ui, a ui kit right, and there are a couple out there, but I haven't seen one with like a designer, it like somebody that's actually pushing the design and they know about design, they know how to align stuff and whatever, and I think that's very, very important and you nailed it. My next question is how did you pick the things to work on for that UI kit, like, okay, buttons, we all need those and like drop-downs, but you have quite a few components about.
Speaker 2:I don't want to say 26,. Oh my god, yeah, 26, like pages. Then there's, like you know, maybe four components for like typography or something.
Speaker 1:Okay, how did you know which one to work on, which ones to work on? Was this like a process that you did together? Did you do like research?
Speaker 2:Yeah, I did a ton of research. I have this big list of every component library I could possibly find on the internet of any framework whatever. I would constantly just open all of those tabs and just go through them and see what do they have, what are their prop names, whatever. Then I would just start building stuff and be like what do I need? Sometimes I would get ahead of myself and go, oh, everybody has a blank component. But then when I would start using it I would go in like I don't even really need this, like this is cart before the horse, like just stick with what you need. So a lot of it is born out of like building apps, like little toy apps with Flux and going like oh, I could really use you know a spacer here I could really use a separator.
Speaker 2:I thought I didn't want a separator. Oh, I could use a separate, I would love separator. So yeah, a lot of it's that and just popular demand. Actually. Here's a quick, quick little one the live wire documentation. There's a Algoa doc search at the top to like search. You know you hit command slash on command K yeah, and you just start typing the search.
Speaker 2:Well, I have access to that search data and it shows me the top searches that people didn't find something for, and modal is like the top one and I always forget that, like modals are in super high demand. It's like the biggest thing people are searching for and not finding on the liveware docs is modals. So we have to have modals and we have to nail it, and then tables is like high up there as well. So so it's kind of like some data like that, yeah, and then tables is like high up there as well.
Speaker 1:So it's kind of like some data like that yeah Awesome, that's awesome. Just before we go, what are your plans for 2025? Do you plan to continue to work on a product that you already have, or are you already thinking about the next?
Speaker 2:Yeah, I guess a little bit of both. Definitely need to take Flux farther.
Speaker 1:There's a lot.
Speaker 2:I want to add a ton, so that's going to hopefully just keep going and that has sustainable income, at least right now. And you know, I want a new version of LiveWire. There's like a lot of under the hood stuff that I want to optimize and a few big core features that I really want to add. So those are like two existing products that I want to continue on and then I may work on. I'm thinking about doing a like another open source library for the front end that basically like modals, drop downs, basically the javascript core under the hood of flux. Eventually I would like to open source that, make it its own project and give it it, give it its own life, because it's like sorely needed in the non-react world yeah, gotcha, so that would be outside live wire yeah, it'd be outside live, or.
Speaker 2:Or you could use it in turbo Awesome or hot wire or whatever Awesome.
Speaker 1:Caleb, thank you so much for doing this. Yeah, thanks for having me Enjoy the rest of the event. Yes, I will All right. Thanks a lot, Thanks.