Episode

Mostly Technical · Oct 31, 2023

All Things Livewire with Caleb Porzio

Show notes

Ian & Aaron are joined by Caleb Porzio to talk about all things Livewire - how it makes money, the future of Livewire screencasts & components, and a ton more.

Sponsored by LaraJobs & Screencasting.com.

Sent questions or feedback to mostlytechnicalpodcast@gmail.com.

Transcript
00:00

Ian

Right. Hello, everybody. We have a special episode this week. I'm here with Aaron as always and also Caleb Porzio. That am I saying that right?

00:10

Okay. Did you hear you said

00:11

Aaron

it like it was a question?

00:13

Caleb

I I might not yeah. I might not have a question mark at the end. It's like a silent question mark.

00:20

Aaron

You

00:20

Ian

know, you hate saying the other people's names. You get it wrong. Oh, it's good. It's my

00:24

Caleb

whole life. I'm constantly when I'm streaming, it's like, I know I'm offending everybody because it's just I can't do it. I don't know.

00:32

Ian

I think

00:32

Aaron

I think 95% of pronunciation is confidence. If you just just blow through it True.

00:38

Ian

That's a good point.

00:39

Aaron

Oh, that was wrong, but, boy, was he confident.

00:42

Ian

Well, see, that that strategy works when it's just like you on your own. But when the person's here, the problem is they're gonna be, like, no. You're an idiot. You said my name is Yeah. That's true.

00:51

You know? They they're here to counter you. But, yes, when they're not here, you just go for it, and it's fine. Because even if it's wrong, 90% of people don't like it.

00:59

Caleb

Pronunciation on my rider that you guys should have seen. Like, I just Yeah.

01:03

Aaron

Yeah. Yeah. We definitely got that and read that for sure.

01:07

Caleb

I actually did help you with pronunciation on my name in Riverside, though. It does say k hyphen lib, so I should have done that with

01:14

Ian

my last name.

01:15

Aaron

Ah, yeah. I thought that was a moniker. I I didn't know I didn't know what that was. I actually

01:18

Caleb

I don't know. I was just I

01:19

Aaron

just That doesn't seem right.

01:22

Ian

I didn't realize that's what you were doing either. I was like, oh, it just goes by that in these other areas.

01:26

Caleb

I don't. Oh, this is a one time thing.

01:29

Ian

No. My goodness gracious.

01:30

Caleb

The worst thing

01:31

Aaron

I think the worst thing you can do with pronunciations is say, like, oh, wow. This is a weird name. I'm totally gonna screw this one up.

01:38

Ian

That's true.

01:39

Aaron

I don't know who you're helping here.

01:41

Ian

You're insulting a person.

01:42

Aaron

Yeah. Just try your hardest to apologize. Don't say this is a weird name. I'm definitely gonna mess this up.

01:48

Ian

You guys ever have this problem with your names? My over the phone, people cannot spell my name correctly ever like either the Ian part is wrong or the landsman part is wrong, but some parts landman part I know they always miss the s in landsman Always.

02:05

Caleb

Put a z instead.

02:06

Ian

Some people haven't heard the name Ian, which is I mean, it's not

02:09

Aaron

like Yeah.

02:09

Ian

I don't know.

02:10

Aaron

You know,

02:10

Ian

it's a little nonstandard, but it's not super nonstandard. I don't know.

02:13

Aaron

It's kind of a blur if you say Ian. It's like Yeah. What were the let like Right. What were the characters there? Ian.

02:20

Ian

If you haven't had it spelled out, yeah, we get the e in the front a lot. Things like

02:25

Caleb

that. Interesting. I mean, people always misspell Caleb and Porzio or Porzio? Or Porzio. Wrong.

02:34

Yeah. But that that's just kind of expected. But, Aaron, they must I bet that Key and Peele really helped you out. I was gonna say I kept thinking it was 2 ways after

02:43

Aaron

my greatest pain, but it was also helpful, is that Key and Peele did a sketch where they called it a a run. And years years later to this day

02:53

Caleb

Of course.

02:54

Aaron

I'll be, like, you know, at Home Depot or something and give them my credit card, and they're, like, oh, have you ever seen that Key and Peele sketch? I'm, like, yeah. You know what? I sure have. I definitely have.

03:05

It's very very funny for everyone but me.

03:07

Caleb

For anyone's name.

03:08

Aaron

I don't know if it was them or somebody else that did a follow sketch for people that had names that were referenced in the Key and Peele sketch. And so there's, like, this whole scene where it's, like, a support group, it's, like, a a rands and Balake. So all of these people come together, and they're, like, yeah. My name's my name's Blake. And they're like, hey, Balake.

03:30

Yeah. I think that was them.

03:31

Caleb

They definitely did a follow-up to it and that sounds familiar. But, yeah. That's funny.

03:35

Ian

That's funny we have this similar issue because so in my when I was a kid, 90210, if you're familiar with that show, a little before your guys' time, I think. Oh, yeah. But there's this very famous show called 90210. Yeah. And there's a guy on it named Ian Ziering, I think his last name is.

03:53

And he's one of the few Ians who says it Ian. So it's spelled the same, but he says it Ion. Ion. And I don't like the ions. None of the Ians like the ions.

04:01

Never mind. Are horrible. Yes. Because there's not many of them, and they messed it all up. Right?

04:05

And, normally, it's fine. But then this guy shows up, and he's super famous because this was, like, the hot show for everybody who was, like, 12 or whatever.

04:11

Caleb

Yeah.

04:11

Ian

And so everybody starts calling me Ion. Of course. And it was the worst thing ever. It's like, I'm totally traumatized the rest of my life by this. It seems to have faded out.

04:19

He's got

04:20

Caleb

Right. There's a phase out, like, same thing with a a, Ron. Unfortunately, you're not gonna see the phase out as because everybody's growing up with you, but, like, my my baby river, like, older people who oh, river. Like, river Phoenix. They say

04:35

Ian

it every

04:36

Caleb

time. But anybody under 30 just just river. You know? They don't Right.

04:42

Ian

Know River Phoenix. Associate with. Yeah. River Phoenix was so yeah. That's yeah.

04:45

That's the only River anybody had known. Right? With your over 30

04:48

Aaron

mile different way with that story. Story. I thought you were gonna say, my baby River won't ever call you AA Rod, and I

04:54

Caleb

was like, oh, that's awesome. Sure of it. No. No. No.

04:56

I've already told him it. A a Oh, perfect.

05:00

Aaron

That's great.

05:01

Ian

Alright. So should we do maybe we'll do a little follow-up. We I'm sure we can get Caleb's takes on some of these things, and then we'll jump into, we have a bunch of questions for Caleb. He's got questions for us, all kinds of stuff. Yeah.

05:12

Aaron

Let's let's do a little follow-up and then a little disclaimer that we're not an interview show, and Caleb's just here to just here to hang. Disclaimer that we're not an interview show, and Caleb's just here to just here to hang. So

05:18

Caleb

I'm gonna interview you.

05:20

Ian

Oh, perfect. Why don't

05:21

Aaron

you just get in how did you get in the computers back in the day? Oh

05:25

Ian

my god. I'm so

05:26

Aaron

bored already. Alright, Ian. Where do you wanna start with a little follow-up?

05:31

Ian

Alright. Should we start at the top here? So last week, I believe we talked about that I got, you know, we talked about your SOC methodology. I don't know, Caleb, if you were in the hook on this, SOC Aaron has a sock strategy. He has a particular brand and color of socks.

05:51

Caleb

Have a sock strategy.

05:51

Ian

From Amazon. You have a sock strategy?

05:53

Caleb

I think Aaron knows my sock strategy, I believe.

05:55

Aaron

I I don't know if I know your sock strategy, honestly.

05:58

Caleb

We might have the same sock strategy.

05:59

Aaron

We might. Oh. And honest and saying mine's a strategy is a little low brow. I'd like to call it a philosophy, if that's okay.

06:05

Ian

I like that.

06:06

Caleb

I like that. Yeah. I just like to

06:07

Aaron

class it up just a little bit.

06:09

Caleb

Yeah. No. It's who I am as well, so much so that I don't remember the name offhand. Oh, we got Haines. But yeah.

06:17

Like Target, Hanes

06:19

Ian

Okay.

06:19

Caleb

Are incredible. They last forever, the soft ones. And if you, tend towards perspiration on your footal region Mhmm. They help a ton. So, like, if I wear slippers, I don't have, like, sweaty feet.

06:34

So I've learned this years ago and would just buy them from Target, but found out you can get them on Amazon for, like, 6 pairs for, like, $14 or something. I talked about this on syntax with Wes.

06:43

Ian

There you go.

06:44

Caleb

Me and Wes He's on the show. Have the same exact I I said this,

06:48

Ian

and he's, like,

06:49

Caleb

dude, Hanes. Hanes dry fit. We both order them on Amazon in bulk. So

06:55

Aaron

Same with my thought. Philosophy. Buy them in bulk.

06:57

Ian

Very similar.

06:58

Aaron

In. So, Ian, did you did you buy them?

07:01

Ian

So I bought them and I I like Aaron's brand. They're not Hanes, which I used to be a Hanes man, although not religiously. I've tried different ones. I like the low cut, but the low cut tend to ride under for me, which I don't like. But Aran's do not ride under.

07:17

They are Yes. Reasonable in the absorption, as you would say there, Caleb, as well. So I like this brand. The only thing I've diverged slightly on the strategy so Aaron's strategy, I don't know if you have the same one, Caleb, is or philosophy, I should say.

07:30

Caleb

Thank you. Philosophy.

07:31

Ian

Is, that's also they're all the same color. So it's just a single color of a single sock.

07:37

Caleb

So that you never match anything. That's, like Never match.

07:39

Aaron

That was the biggest goal originally.

07:41

Ian

Genius is. This is why I set myself with smart people like this. But see, here's the thing. I'm stubborn, and I'm not as smart as you guys. Mhmm.

07:49

So I'm going combo. Strategy. Very bad. Very bad. But I I can't go with the one color.

07:56

I just I can go with the one type, but I I have the one color. I don't think it's gonna work for me. So I have the the 3 color pack that it came with. I'm trying 3 colors of the one type.

08:04

Caleb

3 colors.

08:05

Ian

What's the 3rd color?

08:06

Caleb

There's a 3rd color?

08:07

Ian

There's black. There's white. There's gray. True. I like black.

08:11

Caleb

There is the gray.

08:12

Ian

I like black at at some time. Though Aaron is the all gray man. You're all white. All gray.

08:17

Aaron

I'm all gray.

08:17

Ian

You're all white.

08:18

Caleb

Interesting. So I'm all black.

08:21

Ian

You're all black. But See?

08:23

Caleb

Here's the thing. I've done when I was a kid, it was like, you know, the dorks, including me, people whose moms just give them stuff to wear

08:34

Aaron

Mhmm. Right.

08:34

Caleb

Have these socks that are too high, and they Yeah. And you look like a fool. So I was like, I I've seen those ankle socks, but, like, oh, man. Adidas, you know, like, slipper thingies with ankle socks, and that's how you're cool. You wear ankle socks.

08:49

I have kept that philosophy too long, and now it's showing my age because ankle socks are dorky in a in a lot of, like,

08:58

Ian

it's those

08:59

Caleb

higher, like Yep. 2 socks. Slight little bunch in the middle. Like, I I did the, like, YouTube on this because for Laracon, I wanted to not I went to I'm just getting this transparency. I went to the Tailwind Connect conference.

09:15

Ian

I was like,

09:15

Caleb

man, I look a little like a dork. Now it was just like a realization for me. It, like, hit me.

09:20

Ian

I was like

09:21

Aaron

so the question is, did you arrive at the Tailwind conference and think I look like all of these people, therefore I'm a dork, or I look different than all of these people, therefore I'm a dork?

09:30

Caleb

I will not say as to not incriminate myself to this audience. But so for Laracon, I was like, no more. I'm gonna buy Nikes, and I'm gonna figure out the right socks to wear. I was like change. You can't wear ankle socks with Nikes.

09:45

You look like an idiot. You have to

09:47

Aaron

have it. Cool.

09:49

Caleb

Yeah. You need the higher socks. And, unfortunately, white is what's up. Black with black shoes, but, like, white is cooler in general.

09:58

Aaron

Tall socks, you gotta you gotta go white. The question is, are you making a differentiation here between ankle socks and no show socks?

10:05

Caleb

I I probably am conflating the 2. Yeah. K.

10:09

Aaron

What I think because no show are, like, the ones that I wear that have the that are super low and you don't see them. Ankle is, like, just above the ankle bone, and then you've got the the tall ones that the kids and Caleb wear that have, like, the Mickey at the top.

10:24

Caleb

I'm gonna show you. You can blur this out Oh. If this makes it It

10:27

Ian

would be funny if we blurred it up. What's that? That's an ankle sock. Right?

10:32

Aaron

That's an ankle sock.

10:33

Caleb

Okay. So you're now now you're below the ankle. Let me

10:36

Aaron

let me show you mine. Okay?

10:38

Ian

This is the good Oh, you got a couple more in cuffs. There you go.

10:42

Caleb

I can't see it.

10:43

Ian

Yeah. Oh,

10:44

Caleb

you can't see it?

10:44

Ian

No. Well, the way the 3 of us are. There you are. There you are. Okay.

10:48

Caleb

Yeah. Okay. I shot those for, like, Sperry's. Yeah. So

10:54

Aaron

Yeah. No show in ankle are definitely different. Ankle, you gotta you gotta be careful of.

10:59

Ian

True. I know. I will say I also because I am aware of this, crew socks situation. My 13 year old, he only wears crew socks, so I figured this

11:08

Aaron

is the

11:08

Ian

one that's seen. Right? Yes. He's very cool and all that stuff. And so the company Aaron likes, Amazon, they they cross sold me on the crew socks.

11:18

And I was like, you know what? I'm just gonna order crew socks too. I'm gonna try the crew socks. So this all or it's already I don't have them yet. They haven't arrived for some reason.

11:24

I don't know why those haven't arrived. Yeah. But so we will see. So I'm I'm I'm way off of Aaron's philosophy in reality because I now have 4 new types of socks. But, but this brand I enjoy a lot.

11:37

The general idea I like a lot. Caleb, you're on a similar tip, but also crew sock curious, let's say. So you're gonna be trying

11:44

Caleb

Crew sock curious. I'm crew curious.

11:50

Aaron

Okay. Good follow-up. Good

11:52

Ian

sock follow-up.

11:52

Aaron

What do we have next?

11:54

Ian

Alright. So

11:55

Caleb

I totally thought sock was an acronym for some business thing.

11:58

Aaron

Oh, no. No. No. No. No.

11:59

No. I'm talking about

12:00

Ian

socks on here. Yeah. Sales. Nope. Alright.

12:05

So last week, we also talked about text.com.

12:08

Aaron

Ian said you can't trust them.

12:10

Ian

I said you can't trust them.

12:12

Caleb

I wonder

12:13

Ian

if you're aware of this app. So this is an app that lets you aggregate all your messaging apps. So, like, Imessage and Slack and

12:20

Aaron

Telegram, Twitter, LinkedIn, all puts it in one desktop app.

12:25

Ian

So that you don't have to check all those spots. It's written, you know, by a literally a guy of unknown origin. Aaron's all in on it. He's like, this is the best thing ever. I'm a little skeptical just from a security concern, especially around, like, Imessage and some of these ones.

12:41

I don't even know how you do with Imessage. That whole thing even just seems bizarre.

12:44

Caleb

He's being like locally. It is. Yeah.

12:46

Ian

It is a local thing, but I didn't even know that you could do that. I don't know. So the whole thing was a little shady to me. The next day, the literal next day, they announced that automatics bought them for $50,000,000. So now they're in the automatic fold.

13:02

And so Now

13:03

Aaron

they're trustworthy.

13:04

Ian

Now they're trustworthy. Like, there's at least a security team who's gonna be securing stuff and things like that, which I'm not

13:10

Caleb

listen. Someone you kind of control.

13:11

Aaron

That was Yeah.

13:12

Caleb

That was

13:12

Ian

a big

13:13

Aaron

thing is you didn't know who it was.

13:15

Ian

Right. It's like, you know, there's just these levels security. And so,

13:33

Caleb

yeah.

13:33

Ian

So it was pretty interesting. And this one guy has got quite a quite a pain.

13:36

Aaron

I know. Way to go, Keyshawn, I think was his name.

13:39

Caleb

Wow. I wonder where

13:39

Ian

Keyshawn were.

13:40

Caleb

Software. I

13:41

Aaron

don't know. So lucrative.

13:42

Caleb

Isn't that crazy? Man. Yeah.

13:43

Ian

We should get into that stuff.

13:44

Aaron

Somebody should try that.

13:46

Ian

They should do that.

13:47

Aaron

Alright. Last one before we move on to the topic at hand. So many people agreed with my take on React. I felt really good about that. That's a perfect segue.

13:57

Last week that was like, hey. I tried React because I was using Remotion, which is a video creation tool. I tried React for Remotion, and you know what? I still don't like it. I've always had this, like, you know, kind of a bit, kind of a personality thing.

14:12

Like, hey. I I don't like React, because I find it complicated. I finally used it and was like, you know what? I don't like React, because I find it complicated. And my my point on on the show last week was I find that React makes us care about things that are too low level.

14:27

Like, Like, I don't wanna tell you what my dependencies are. You're the computer. You should figure it out, and you should keep it up to date. And if something changes, you should change it. That's not my problem.

14:36

And people agreed with that. I was like, wow. I expected to get excoriated.

14:41

Ian

The any of that information.

14:42

Aaron

Yes. Even people that use React were quote tweeting it and being, like, yeah. I've used React for the past, you know, 5 years, and this is a really good take. And I was, like, that's amazing. So that's all.

14:53

I just wanna I just wanted to receive my accolades here on on the follow-up.

14:58

Ian

Yeah. You you were right ish. I mean, I think that that's sort of What do

15:02

Caleb

you mean?

15:02

Aaron

What no. What do you mean ish?

15:04

Ian

No. I did I I just think we I agree with you that it is

15:06

Caleb

You did.

15:07

Ian

There is a low levelness to it. Definitely, that is is there. I I mean, there is, like, the mental model of it compared to, like, a view and these other things that are available in Livewire, which we're gonna talk a lot about here. But, to me, like, Livewire is, like, the opposite. Right?

15:22

Like, it's so, like, you don't have to think about any of the low level anything, at least on the, like, JavaScript end. It's just, like, the magic just happens for you, which is obviously the optimal scenario as we've come to to,

15:33

Aaron

He senses here. Yeah. That's not

15:35

Ian

Since he's here. Yeah. I have to do.

15:37

Aaron

I have a

15:37

Caleb

a blah

15:37

Ian

blah blah scenario. From the beginning. So No.

15:41

Caleb

I could argue with with Aaron about about React if we want.

15:44

Ian

We don't have to. We can if you have a take Tell me.

15:47

Aaron

I'll I'll destroy you with my React knowledge.

15:49

Caleb

But tell me I mean, I'll first. Say that you're right before I

15:53

Aaron

tell you why you're wrong. You you and I argue very differently, but I love it so far.

15:59

Caleb

It's definitely true. But, one of the, like, just visceral feelings I have as a maybe more just as a framework maintainer is that, like, I guess on the spectrum of LiveWire, like you don't have to worry about any of the low level stuff to, like, you come to view along the way and then react, those those trade offs start to shift. And when you don't explicitly declare your dependencies in a in a use effect, like, it's so valuable to do that because otherwise you don't know what's referencing the reactive piece of data, and it can leak. And that's that's the problem with Vue and Alpine because I because Alpine is Vue in a sense that uses Vue's reactivity engine. So I've just been to hell and back on, like, you have your bit of reactive data, and then you have your thing that reacts when it changes.

16:50

And that's fine when they live right next to each other and they're really simple things. But when it comes to that data leaking out or being global or being used deeply within components or that react that reaction changing the data and triggering a new effect Mhmm. You know, there's so many of those pitfalls that it's, like and the code involved, like, you're using proxies, which has all sorts of overhead and refs and everything, wherein React, when you use useEffect, you declare the dependencies. It tells you right there when this thing will rerun. You get to look at it and you go, I actually know when this is gonna rerun, where in Vue, you don't know.

17:25

And then in React, you're using actual data. You're not using proxies and ref callbacks. You know, you're using pure data. So I got one foot in both camps.

17:37

Ian

I I

17:38

Caleb

think they both are great and horrible.

17:40

Aaron

I think you just made you just made my point for me by explaining how much work you as the maintainer are having to

17:49

Caleb

do Yes.

17:49

Aaron

And all of the gnarliness that you're having to do Yes. That's what I want. I mean, not you specifically, but I want the creators of the the library to eat all of that glass so that I don't have to. Because, like, you are absorbing all of that pain, and then I get to just use the thing for fun.

18:08

Caleb

I agree. And then when you're using React, like, to the extent that I've used it, which is not a ton but enough, it's, like, oh my gosh. The the headiness of just even just a newcomer understanding useEffect. Yes. Oh my gosh.

18:23

It's it's the sharpest knife ever. Yes. And, constantly, you're like, when did this how does this why does this? Yes. You know, and it's it is mind boggling, even after using it for a long time and understanding it pretty deeply, and I like, writing my own React.

18:39

Like, I've tried to really understand React's internals and still I get bit. Yep. So, yeah, for somebody new, like, learning React, I'm like, oh my gosh.

18:47

Aaron

Yeah. That's me. I'm slightly above average intelligence, and I was learning React for the first time. And I was, like, this is really, really hard.

18:56

Caleb

So

18:57

Ian

Yeah. I think there are these trade offs though, like and I think we're gonna talk about this a little bit with Caleb today about LiveWire. For everybody I mean, we're now, like, 20 minutes in. But for for everybody who doesn't know, Caleb is the maintainer and creator of LiveWire and Laravel LiveWire, which we're gonna talk a lot about. I think most of our audience is aware of LiveWire, but just in case.

19:15

But, yeah, I do think when you have these black boxes, and I think we're gonna talk about this with LiveWire a bit, like, you don't always understand what's going on. So I do think in React, like, the debugging like, you have to understand what's going like, how to construct the React, which is more complicated to learn than Vue.

19:29

Caleb

Yeah.

19:30

Ian

But I think once you have some sense of what's going on, then, like, the debugging and things like that, I did find to be maybe a little bit easier than with Vue, which I don't have a ton of experience with Vue, and even with Livewire, where there's a lot of stuff going on on your behalf. But when something goes wrong, then it's not always clear where it's going wrong or what part of the code it's going wrong in. So I do think some that there are those trade offs there when you have, like, the more of a black box setup. It's like when everything goes well, then it's, like, awesome, like Aaron's saying, because it's just super magical, and you don't think about anything. But then there is these times where it's like doesn't go right, and then it's a little bit harder to figure out what you're you know, where to even start looking or what exactly which part of the stack is the problem in.

20:13

So, yeah, Alright. Alright, bullets.

20:22

Aaron

I just love being right, so thanks for that segment.

20:24

Ian

That's I just So we need to

20:26

Aaron

have an Aaron was right segment every week.

20:28

Caleb

I would still choose React overview if I were to just so

20:31

Ian

you know. Oh, here we go. 2 to 1. 2

20:33

Aaron

to 1. What? In view, you

20:36

Caleb

can't have it's single file components. In React, you can have 1.

20:39

Aaron

Does everyone care about this?

20:47

Ian

Yeah.

20:47

Caleb

Even just a one off thing Uh-huh. Inside my view thing, I need to create a new file, and that means I need to, like, name it and know about the name. And it's just you

20:54

Aaron

and Adam Wathan are both always on about the single file components. And I'm like, yeah.

20:58

Caleb

Because it's just functions that you're already used to in JavaScript. So you're like, oh my gosh. I can just create a little function that returns some JSX, and then it's just like, woah. Now now components are just functions that return as small of bits as j s of JSX as you want. Where with Vue, it's like a new file, a new script setup tag, a

21:16

Ian

new

21:16

Caleb

temp you know, it's Love

21:17

Aaron

it. A lot. We we did too we did too long on the sock segment. We should have done more on this segment because this is crazy.

21:23

Caleb

We gotta move on. But, yeah, we forget the flow. Reacting to you.

21:27

Aaron

He's even using those. Oh my gosh.

21:29

Ian

Yeah. Nobody uses those things. Isn't them? Why waste their time? They'll all be on Livewire soon enough.

21:35

Caleb

That's

21:36

Ian

right. So we did Aaron and I, just for your background, we did listen to your latest, notes on work. So we're up to speed on your thinking there. And then I know What was that?

21:46

Aaron

Taylor never has any idea what his notes on work are about.

21:49

Ian

How do you get how do you get people unstuck in Livewire? So, like, kinda what we're just talking about where when they

21:54

Caleb

Yeah. Yeah.

21:55

Ian

Get a problem in LiveWire

21:56

Caleb

and you

21:56

Ian

have no idea where to start with fixing that audio.

21:59

Aaron

Sometimes, I'll be like, dude, I just listened to the latest notes on work episode.

22:02

Caleb

He's like, hey, man. What did I say? What was it what

22:04

Aaron

was it about? What was it

22:06

Ian

I love that.

22:06

Aaron

Get what

22:06

Ian

I said. Good. It's just like a therapy session. Rambling to the void for

22:11

Caleb

so long.

22:11

Ian

You just It's nothing. It's like he's not producing it as, like, content to be viewed. It's just like you just gotta get off his chest.

22:18

Caleb

Record button. He's really

22:21

Ian

Just getting stuff off his chest.

22:23

Aaron

That's right.

22:24

Ian

So yeah. So I don't know. We could take this a lot of other ways. So I thought on that, there was a couple interesting things you talked about in terms of getting people unstuck. And I'm in this, like, early phase of building a big project with Livewire 3.

22:36

So I'm kinda in that zone. And then, obviously, we had talked about kind of the business of Livewire a little bit and some of that stuff. So I don't know

22:43

Caleb

when would he also talk about, like, you guys talked apparently, you talked about I didn't listen to the episode, but a lot of people told me you talked about getting React working in in, Livewire.

22:52

Ian

Yes.

22:52

Caleb

And it's, like I wanna talk about

22:53

Ian

that too.

22:54

Caleb

We could talk about that.

22:55

Ian

If we're gonna just make this a support piece for you right here.

22:58

Caleb

Thing to talk about. I'll tell

22:59

Ian

you all about that.

23:00

Caleb

Guide the ship I wanna

23:01

Aaron

I wanna talk about the empire of Caleb. Okay. I kinda wanna talk about that. Let me let me start by recapping what I remember of notes on work, which is probably more than what Caleb remembers.

23:10

Caleb

So I'll recap. I'll recap. Anyway.

23:14

Aaron

So I think John O'Nolan of Ghost, which is what? Ghost is a blogging platform?

23:19

Caleb

Yeah.

23:20

Aaron

John O'Nolan of But

23:21

Caleb

it's it's, like, evolved in ways I'm not even aware of because I haven't used it in a while. Yeah. There's a lot of it's like a creator platform.

23:27

Ian

Yeah. The guy's like a commerce thing or whatever. Yeah.

23:30

Aaron

Or Steph. So he was on Twitter the other day, you know, before you recorded this, asking for help with LiveWire, and you, like, reached out to him and, like, hey, I can help you. And so that I think what that spurred in you was, like, the thought of how do I get people unstuck and how do I do it? I think in, like, a commercially viable way, in a way that preserves, you know, Caleb's lifestyle. And there was some commentary about you have this LiveWire's support.

23:57

Maybe it's called LiveWire partners program

24:00

Caleb

Yeah.

24:00

Aaron

Where you and Jason Beggs, take, like, monthly payments, and then Yuki do, like you'll have to fill in the details later. You do, like, early access and support, and they have access maybe to JSON and insider's repo and that kind of stuff. And I think the meta question was, like, how do you help more people get unstuck, and what's the economic viability model to, like, support Livewire slash Caleb long term. Does that seem like a a recap? Solid.

24:33

And then, Ian, you're a part of the partners program. Is that right?

24:37

Ian

Yeah. Well, so I I was at one point, and then I wasn't at one point. Churned user. A churned user.

24:45

Caleb

That's actually why he's the perfect person to talk to, but he he is our one of our most generous donors. So I'm just gonna put it out there that, like, I'm not sure I know of. Yeah. He he's among the very top of people who've contributed financially to LiveWire. So thank you, Ian.

25:05

Early support for it. You know, just yeah. All good. And then and then he ripped it all out from under us, and this is where we

25:14

Aaron

are now. This is an intervention.

25:16

Caleb

I think I even messaged you a while ago or something. Like, there was a point where I felt guilty taking your money. Like, I

25:23

Ian

I was set to it. I

25:25

Caleb

I really don't feel great about this

25:27

Ian

stuff. So I gave I gave a big check, I guess, you would say, because I really want to get to Livewire 3. Because I was, like, I wanted to support them especially with Livewire 3. So there is, like to me, there's a 2 separate things. There's, like, what is a business model for ongoing support that companies will pay for Livewire support?

25:43

To me, what I did before that was even a little bit different because it was more like, let's help get Caleb and the crew over the line of Livewire 3, which is solves a bunch of problems that Livewire 2 had, which would be really good and important for the stuff I wanna do with it. So this was, like, totally also self serving, but also I love Livewire. So it was, like, the perfect combination there. So, yeah, so that was kind of like that era. And now it's like, yeah.

26:09

So we're definitely using LiveWire in our big new stuff. And so we've been talking about, like, the support end of things because I have questions and, things like that. And then that just brought us to, like, yeah, this idea of, like, the the current support program. And then that this is all mixed up together. Right?

26:25

It's like people get stuck. For some of those people, forums and things like that are the right answer. For some of those people, Discord and the community are the right answer.

26:33

Caleb

For some

26:34

Ian

of those people, they just wanna pay money and have somebody answer their question today. Yep. Right? So, there's a continuum there. And how do you find the right balance?

26:45

Are there enough people willing to pay to get support today and things like that? You know, are there maybe software tools that could be involved in all this, whether they're free, whether they're paid or some combination? So Yeah.

27:01

Aaron

Yeah. So give us the state of the empire, Caleb. Where what's what's the sticky wicket here?

27:05

Caleb

The empire in as a whole or the support bit?

27:09

Aaron

The empire as much as you want to talk about and focus this.

27:12

Ian

Well, what

27:13

Caleb

do you

27:13

Ian

think about

27:13

Caleb

what do

27:13

Ian

you think let's just start with Livewire 3 release. Let's start right there because I feel like that's a good baseline. So how has that gone? How are people doing with it? What are your does it did it come out as good as you hoped it would?

27:24

Like, what are you thinking about love

27:25

Aaron

and effort?

27:26

Caleb

Yep. I, I looking back on it, recently, I was just, like, realizing that that I accomplished it because it was such a long journey. It's, like, easy to forget why you did it and forget where the difference and the goals and everything.

27:43

Ian

Right.

27:43

Caleb

But I just recently reminded myself of what I kept saying, which is, like, I can't do LiveWare too, because I hate working in the code base. And there's all these inefficiencies and there's all these architectural constraints. It's like, I gotta rewrite the whole thing. That's why I'm, I'm doing this so that we can obviously add a bunch of new features. But in theory, we could have done that with v2.

28:03

It just would have been like a way worse life, and I wouldn't wanna maintain it. So we are in a place where I do wanna maintain it, where writing a feature is fun and energizing again. So I had, like, a wild idea over the weekend and just took a day to just hack on it, and it was a blast because the core is a blast to hack. It's meant for hacking. So for that, like, from my perspective, it's great.

28:29

From users' perspective, it's good and bad. I'd I'd say, like, overwhelming, like, feedback is this solves all the problems that I had before. Mhmm. But of course, that introduces a new set of problems. You know, once you add a feature, it breeds new possibilities that then have their own constraints.

28:47

So it's like, I made nesting components better, but there's still sharp edges there. There's still communication questions. So yeah. So there's still things with that. As far as stability, it's gonna take a long time till it's, like, total like, Livewire 2 got to a point where there were very few pull requests being added.

29:06

It was just like it had years years of just main maintenance work, basically. And so v three has to undergo that. And it's to the point where, like, I feel confident if somebody uses it and ships it in an app, which is a good, you know, I didn't feel that way when I launched it at Laracon. It needed to, like, live in the wild for a bit, but it has and we've had, you know, hit all the biggies, and now there's that kinda long tail of things that, you know, it's not as as rock solid as it will be in a year, but it's solid enough. So so yeah.

29:40

I mean, I feel great about it and and it has changed everything for me from my perspective. Like, Live Warrior before had so so many things under under the hood And also just on the surface, like the site, the docs, there was just all these things. Now the docs are part of the main repo. So like when people pull requests, they pull requests, They pull request bug fixes. I'm not in a separate read or they pull request spelling errors.

30:04

I'm it's not a separate repo, and I, I put way more into the docs this time. I'm putting more content out.

30:10

Aaron

Yeah. There's just I'm

30:11

Caleb

I'm hiring designers to do stuff instead of doing it myself. Yeah. So there's a lot of things like that that it feels like a new regime for me. It's like, this is what where I wanted to get to. Now I feel like I'm playing like a big boy, and I just gotta keep pushing that envelope.

30:29

And there's a lot more room to grow for me, but it definitely feels like, ah, I have something that, like, feels good. And it yeah. Yeah. That's my whatever.

30:39

Ian

Maybe people get down on the rebuilding, but I feel like, you know, the rebuilding just sometimes has to happen, especially with this kind of thing where I imagine you didn't even know what you were building in a sense. You know what I mean? Like like Livewire 1 and 2, it's like a thing that you kinda cobbled together and it was cool, and then you added onto it and, like, and added onto it more. And then now you have such a clear vision of, like, what do people do with a thing like Livewire? Like, what are they trying to accomplish?

31:03

And then obviously then, you know, you'd build it totally differently once you know how people actually use it. And Right. It makes sense to actually do that so that you can be happy maintaining it. It'll work better and all those things now that you know what you're building.

31:15

Caleb

Yeah. Per I mean, like, concepts reveal themselves that were just hidden, and then they reveal themselves and you go, oh, like, this is a concept that needs a name and could have its own system, and I could make you know, where before it's like that that concept, that thing I have to I'm just vaguely touching it and seeing it, but not putting it in its chorale and not clearly defining it, and that happens in so many for so many different mechanisms in a machine, you know, and then Yep. So that the rebuild is an opportunity to go, okay, what's yeah. What's everything we learned? What are the concepts?

31:50

Put list them out, and then you can build them as, like, modular things that that are tight and contained.

31:58

Ian

Just, yeah, the simple things, like better defaults. Like, I feel like Livewire 3 defaults are, like, so much better, like, than Livewire 2's defaults because you realize how people actually use it and what they're actually trying to do. And, so the default can just be better and things like that. So

32:12

Caleb

Right. Yeah.

32:13

Ian

A lot of cool stuff there.

32:15

Caleb

Yeah.

32:15

Ian

So like you were saying on on notes on work, like, maybe we can go that angle on it. Like, with people getting unstuck and tools around that, maybe. I mean, I think for me, I'll I'll kick it off here. It's like, I would love some type of visualization, and I don't know. I mean Yeah.

32:33

I personally would be happy to pay for it whether or not enough people are happy to pay for it. I don't know. But, like, some type of thing that's like, okay. This is where your request came in. This is what it went through.

32:43

This is where it was transformed or whatever. This is where it ended up because that's the stuff where it is hard sometimes in LiveWire. It's like, where what is doing this? Which I have these 3 nested components. Which one is causing this thing to rerender or whatever the problem is.

32:57

Right?

32:57

Caleb

Dev tools, like a dev

32:59

Aaron

tools thing?

32:59

Ian

Yeah. Whether it's like a debug bar type thing or it's a

33:01

Caleb

Yeah.

33:02

Ian

In Chrome type thing or, you know, I don't know. But yeah. But but something You're you're saying

33:07

Caleb

it's not like, educational visualization educational. No. On machinery.

33:13

Ian

Machinery you shove in your app, and it's like, this is what's happening right now.

33:18

Aaron

Right.

33:18

Ian

In the Livewire stack. And you can see where things are changing, at what point in the cycle they're changing.

33:26

Aaron

Yeah.

33:27

Ian

You know, if something's happening in the vent hook or whatever, like, what that's doing. You know, just like those type of things because there is, like, that magical component where and you could do so much stuff on the front end too. It's like, well, you have JavaScript changing stuff, and that feeds back up to the PHP side. And Yep. You know, everything's bidirectional, basically.

33:43

So, yeah, you can hit some just weird stuff there where you're like, I don't know what's going on. And often it's your fault. It's not even like necessarily LiveWire's fault. It's like your fault. It's it's your own fault.

33:56

But it's just like, the debugging can be, you know, more complicated. So yeah. So, I mean, obviously, a lot of these front end tools already have these things. Right? Like, I don't know if they're visualized in quite the way I'm thinking, but they are you know, React has a Chrome thing, and Vue, I'm pretty sure, has a Chrome thing and whatever.

34:11

Alpine has a Chrome thing, I believe. Right? So, but I think we need something more than that probably for LiveWire just because it needs to know the server end too, I think.

34:23

Caleb

Yeah. I mean, that and that's that's the wiretap, that thing I demoed at Laracon. That's the goal of wiretap is, like, a debug bar, but more than that because yeah. I I think the best version of wiretap is exactly what you're describing, something that shows you visually what is happening. So I I went pretty far on it and started building that.

34:48

So, like, every update in Livewire would be listed and you can click on it and you could see Yep. How much time it spent at each stage and it would visualize the stages for you and it would show you, like, in almost like a flowchart, like, this is mount and then updating and then updated and then, you know, calling and then called this method, called this other method called render, dehydrated, and then you could click into each one of those and see, like, data about those steps. But, so, I mean, that's on hold because I'm trying to do screen cast to make money first. Right. When I return and another reason is I wanna nail it Mhmm.

35:27

For what you're describing. And when I tried to build it the first time, I had about half of it there. The rest just felt like this has to be driven out by, experience. You know? Like, this has to be driven out by

35:40

Ian

enough then in some ways.

35:41

Caleb

Yeah. Yeah. And you need to know what yeah. I need to know what do you wanna know. When something goes wrong, what do you wanna know?

35:47

What's the information that helps you get past it? Jot that down and do that a 100 times, and then then we would have something that would be truly helpful instead of me, you know, on an island building something that looks good for Laracon. Right. Where, you know, that's that's definitely that's a huge goal. And I think, yeah, particularly with Live Warrior because it's full stack, you can learn a lot just from payloads, but those are very, you know, they're low

36:16

Aaron

level. Right.

36:17

Caleb

So yeah. Definitely. Dev tools, that's a good it's a good point because when I was talking about getting unstuck, I don't even think I mentioned dev tools.

36:25

Ian

Right. I

36:25

Caleb

don't think you did. Yeah.

36:26

Aaron

I was like,

36:27

Ian

Dev, I want to be able to

36:28

Caleb

could be one of the best ways to get you unstuck. Right.

36:32

Ian

Let me find yeah. If I have the tools to get myself unstuck, then I know how to ask anybody, anything. Yep. Right?

36:38

Caleb

Yeah. Yeah. And I it would be a really unique tool as well. Like, I looked back at other dev tools, reactive tools, view dev tools to see to take inspiration and be like, what are they doing? And and they're fairly minimal.

36:49

You know? There's not

36:50

Ian

I've never been in love with any of those. I don't know. I feel like they're

36:54

Caleb

okay. Give you much beyond, like, show you the components on the page and allow you to mutate the data inside those

36:59

Ian

runs and view events

37:00

Caleb

and stuff.

37:01

Ian

Yeah.

37:02

Caleb

Yeah. It would be nice for something to show you, like, you know, if you look at the code, it's gonna take you forever to construct the machine in your brain. I already have the machine constructed in my brain, so I can abstract it. And I'm always communicating those abstractions to people. I'm like, well, there's the hydrate phase or the phase.

37:20

But if I could put it in something visual, it would be I think what I'm trying to say is I think it would be a profound tool, like, not just, oh, add them this missing piece of lab. I think it would be, like, a profound tool for any tool to really, like, visualize the system in a simple way that that is true to it and gives you it would educate you about LiveWire better than anything I could say or anything you would read, even the code. You know? So Yep. I don't know.

37:50

I think that'd be cool. We should do it.

37:52

Ian

There we go. I like it. Well, it's a

37:54

Aaron

lot faster than I expected.

37:55

Caleb

We're done here, I guess. So I'm solid. Yeah. There's still so many things that, like, I I'm doing these screencasts, and I'm getting stuck. Like, I literally I got stuck on something yesterday.

38:09

So here's just, like, a random pile of quick anecdotes. That John O'Nolan thing?

38:14

Aaron

Mhmm.

38:14

Caleb

He gave me the exact repo. He recorded a a like, a video of him hitting this problem. I installed it. Composer install. NPM run dev.

38:23

Put in the browser, worked like a charm.

38:25

Ian

Always does.

38:26

Caleb

Works on my machine, like, no idea what Chrome extension he has or whatever. Yeah. So there's, like, something like that that's just dev tools aren't gonna help him with that. Maybe they would. I don't know.

38:37

Who knows what's wrong with that? I hit some stupid thing on the screencast that prevented me from finishing it yesterday. I didn't add type button on a button. So it was getting picked up. It wasn't just, like, oh, yeah.

38:52

It's submitting the form when it shouldn't. Right. It was causing this gnarly. I could explain it to you, but no one cares, type button stumped me for, like, 2 hours yesterday.

39:04

Aaron

Okay. So you're in that you're in that situation. So you're now you're now John O'Nolan. What do you want, like, as Caleb or as John O'Nolan? What do you want from Caleb?

39:13

Caleb

Chat gbt is not gonna help me. Right? Right. Googling, it's not gonna help me.

39:18

Aaron

Correct.

39:19

Caleb

Because I don't even know what to Google. I'm not

39:20

Ian

even looking at the button.

39:22

Caleb

You know? Right. Right. I'm looking at I'm doing something else and the model's closing. I have no idea why.

39:30

I need I need a person to sit down with me and help you figure it out.

39:35

Aaron

You need a pair programmer.

39:36

Caleb

I need a pair programmer. That's what I need. I need a pair programmer who knows this stuff.

39:40

Aaron

So is that like because I feel like there are 2 things you're looking for. 1 is to get people unstuck and that, you know, could be dev tools, screencasts, whatever. And I think the other thing you mentioned is, like, how do we make money? Like, how does LiveWire continue as a going concern? Yep.

40:00

Are those 2 thing or is it accurate to say you're looking for those 2 things?

40:04

Caleb

Yes and no. I I'm definitely looking for the first. As far as making money, the like, the partners program was an experiment.

40:13

Ian

Mhmm. I'm not

40:14

Caleb

putting all my eggs in that basket. I'm totally on the fence if if I even wanna just be, like, no. I don't think that this is I never I picture there's a different business person who knows how to do this kind of thing Mhmm. With enterprise stuff, sales, pricing, and does it and does it well. And it basically would be, like, an agency, let's say.

40:39

Like, it's a it almost, like, could be running an agency, like, a first party agency or a more enterprise y setup, but, still, it's there's somebody who could do this well. I I like coding. I like screencasting, whatever. I don't like sales. I'm I don't know how to do this super well.

40:54

So I have always been, like, I could just set this idea off into the sunset, and that might even be the best thing to do, and I'm still, like, really there, like, asking Jason, like, does this even make sense? Like, should we even continue with this? But not only does it feel like, oh, there's an extra revenue stream there. Like, revenue streams are great. Yep.

41:17

But also, it almost feels like, I'm watching Suits. You guys watch Suits?

41:22

Ian

I haven't gotten into it yet. I should I haven't

41:23

Caleb

seen it.

41:24

Aaron

Suits. Wow. But

41:24

Caleb

he's unsuitable.

41:25

Aaron

Yeah. The chances

41:27

Caleb

of this are pretty low.

41:28

Aaron

We're the only

41:29

Ian

2 people. Yeah. We're the only 2 people. Yeah. We're

41:32

Aaron

the last 2.

41:33

Caleb

8,000,000,000 have seen it. Yes. Alright. Well, whatever. There's There's a you know, like any show, there the main character is is fundamentally good, and he makes decisions that he shouldn't based on, you know, what's the right thing to do, in the case of law.

41:57

But with this, it feels like to me there's some moral good here of, like, yeah. Maybe I could make more money, and my life would be a lot better if I didn't pursue this at all. But these people need help, you know? Like, it feels like if I can come up with something that generates enough money to justify my time and effort and energy and helps a lot of people, that's a really good thing, and I should pursue that, because it helps people. Otherwise, I even if it wouldn't make sense without helping the people.

42:26

You know what I'm saying? So yeah. So there's kind of that element which makes me that's the thing that keeps me to, like, I should really figure this out. Mhmm. But that's what we're here for,

42:37

Ian

to figure it out. Let's hash let's hash out some ideas. So Should

42:40

Caleb

we lay out what the current setup is and

42:41

Ian

Yeah. Let's lay out

42:42

Caleb

it's not working?

42:43

Ian

Let's lay out the lot, not just support, but the Livewire Inc. The Empire. Financial That's what I wanna go here. I wanna

42:51

Aaron

know the empire.

42:52

Ian

Yeah. So what's the financial empire of LiveWire Inc right now?

42:55

Caleb

I love the financial empire is it used to be biggest revenue stream was screen casts.

43:02

Ian

Mhmm. Okay.

43:03

Caleb

And that has fluctuated between giving me $10,000 a month and $25,000 a month at one point. That's that's really good. Their PayPal took a big chunk out of that. They removed PayPal. And releasing v 2, which I knew it would, I'm funneling everybody into a new version and a new website.

43:23

They're not even seeing the v two screencasts. Even if they are, they feel like they're old. Even though a lot of it's still applicable, whatever. I've kinda set that off into the sunset, so that is declining about half of what it was before I launched v 3. Mhmm.

43:39

So that's that revenue stream screencast. That's where I imagine building back up most. That's that. The other revenue stream is Alpine Components. Mhmm.

43:48

That product for Alpine, and that yeah. Like, that had a good, you know, big that was more like a launch and then a long tail than the Screencast. The Screencast was like almost like a SaaS, like, building up recurring revenue users. The Alpine components was, like, building up an email list, prepping them, launching a thing with a higher one time payment upfront, getting a bunch of cash out of the gate and now long tailing it and that makes between, like, $6.12 a month, I think. Jason knows those numbers better than I do.

44:20

Aaron

That's still

44:20

Caleb

a lot

44:20

Aaron

for a long time.

44:21

Caleb

Still good sales on Alpine components, Like, there's sales every day, so that's nice. Yeah. Make Versus Code awesome makes me a tiny bit. I don't even consider it part of the empire. I'm probably just gonna let it die and make me $300 a month Right.

44:36

Or just kill it because who cares, like Okay. So I don't have to support it at all. Those are the main revenue streams. Then there's the partners program, which started out with more revenue than it has now. But, like, these Jason knows these numbers.

44:48

He just tells me what to pay him because he gets a cut of most of this, and I just need

44:52

Aaron

to get

44:52

Caleb

him that. Yeah. Yeah. He has the spreadsheets. I don't actually look at Paddle or anything like that.

44:56

He literally just tells me what to pay him, and I blindly do. Mhmm. And I know he's lying a little bit. Like, I know he's fudging the numbers,

45:02

Aaron

but Mhmm.

45:02

Caleb

You know, he's

45:03

Ian

a good guy.

45:03

Aaron

But it's worth it. Yeah. He's a good guy.

45:04

Caleb

It's worth it's worth it to keep him around. I turn

45:06

Aaron

up blind eye. Yeah. Exactly.

45:08

Caleb

Yeah. Partners program, let's say that makes $6 a month or something. And he gets most of that because he does most of the work. Mhmm. So that's the Empire.

45:18

There's a tiny chunk of support. Screencast, huge opportunity, but it's dwindled. Alpine components, solid wall at my back of revenue that, like, I'm not gonna have to, like, you know, go to a soup kitchen because I have alpine components. So that's that's the empire that's the state of the empire as it stands right now.

45:37

Aaron

Yeah. So it sounds like if Jason's taken most of the alpine components, it's, like, 40% screencast, 40%. I'm sorry. He takes most of the partner program. So it's 40% screencast, 40% alpine, 20% partner program in terms of Caleb's household income.

45:54

Caleb

In terms of my household income, it's probably more like I don't you basically have it, although I wouldn't say 20% for partners. It'd be more like 10 10. Or something.

46:05

Aaron

Yeah. Okay.

46:06

Caleb

But it's a small I don't even think about it much because it doesn't feel like a lot to me. Like, maybe I make $20 a year from it. Mhmm. Maybe something like that. So so, yeah, that's that's the the state of things

46:19

Aaron

Okay. So that

46:20

Caleb

where I'm headed. Go ahead.

46:21

Aaron

Well, hold before you do that, that's the that's the income pie. What is, like, the happiness Caleb wants to work on pie?

46:28

Caleb

Good question. Yeah. Alpine components is pretty just stable, and there's questions I have about it. So it doesn't feel like something that I wanna put a ton of time into right now.

46:37

Aaron

Okay.

46:38

Caleb

LiveWire screen cast is everything to me. I love screen casting. I love making planning the screencast. It drives out new features. It excites me about LiveWire.

46:49

I document stuff I didn't before. I think about stuff I didn't before. It's my favorite thing of all the things. It's up there with with coding for me. Great.

46:59

I enjoy it that much and and it happens to be fairly lucrative. So, like, that's that's where my heart is. Partner stuff, it's, like, I don't mind the calls. It's nice to get on calls with people and hash stuff out with them, give, you know, I don't do a ton of preparation for that so that feels fine. It's the Jason handles, he's the front man for the support but he surfaces stuff that are too deep, he needs another head on or a bug that needs to be fixed, a PR that needs to be merged, a new version that needs to be tagged, something like that.

47:27

And that stuff, I feel bad for Jason. Because I do it, but he has to really push me and hold my nose to it. And there's a lot of times where I'm low key, like, you do it or get this a little farther. Give me the silver platter, Jason, please. Like, I can't be bothered.

47:44

Aaron

Ghost him. It's it's Right.

47:46

Caleb

It pays off in the end. So if I were Jason, I would be somewhat of a frustrating partner. Although, I I I think it's a good setup, but it's, like, as far as where my heart is, it's not in pulling down your massive application Mhmm. With your 10 databases

48:01

Ian

Right.

48:02

Caleb

In finding this problem and debugging the same way a monkey would debug. Mhmm. Move this line. Does it work? Remove this line.

48:09

That's most of it, honestly.

48:10

Aaron

There's always sacred knowledge. That's what we all do.

48:13

Caleb

Yeah. If you hand me a simple represent reproduction of the bug in, like, an isolated way, like, I can tolerate that. That's okay for my life, but it's the finding those and doing the reproduction myself that feels, I'm just like, oh my gosh. This this is driving me crazy. So

48:31

Aaron

Okay. Last question, and then, Ian. So we got we got the income pie. We got the happiness pie. What is the, what is the economic purity pie?

48:40

Which one do you feel best about taking money for in exchange for the thing you're giving back?

48:46

Caleb

Yeah. Well, I would I would think to say screencast, but there's a lot of times I I think that's not the answer because there's a thing in the back of my head that's, like, you're pay walling important knowledge from your users. You know what? There will always be that for me. It's a conflict of interest for myself.

49:06

Aaron

Because you are the creator.

49:07

Caleb

Because I'm both the creator Yeah. And the seller of education.

49:11

Ian

Okay.

49:12

Caleb

So it not only, in theory, hurts LiveWire's adoption Mhmm. Because I'm not giving that for free. It helps because it pays my bills, which allows me to work on the thing. So it's, like, somebody's gotta somebody's gotta fund it.

49:26

Ian

Right.

49:27

Caleb

And this is how I'm gonna fund it. But that's, I would say, otherwise, I feel great about providing something high quality that I put a lot of effort into and curated and produced and gave to you, and you pay this small amount and you get all this knowledge. Mhmm. People love it, really good feedback on it. So it's, like, great, but there's courses I wanna make that aren't like, the courses that are, like, let's build an e commerce app.

49:53

Sell that. Fine. The courses that are, like, nest deep nesting component knowledge or, like, anatomy of a LiveWire request is, like, why are you gonna paywall that? Like, that should be in the docs, you know. And there's ways to mitigate that.

50:07

Like, I try to put everything in the docs. All knowledge I'm pulling from, I try to put in the docs. So it's, like, the I put the knowledge out there. I'm just presenting it to you in a more on a silver platter in this format, and you pay for that convenience. But so that's morally mixed.

50:24

Alpine components, also morally mixed, because it's, like, I could if I put all that stuff out for free, there'd be wider adoption Mhmm. Blah blah blah. That's tough too. So I guess the most wholesome income is the partners program, because that's just The one you like. Right now is for dollars.

50:43

The one I hate, very wholesome.

50:45

Aaron

Okay. Well, I have no further questions, Ian, to you.

50:48

Caleb

But I actually don't care about screen cast for the most part because Yeah. I've just that's fine.

50:53

Ian

Yeah. I just I would just totally put that totally aside. I don't think there's any more of quantity there for I don't think at all. I mean, to me, you have to if the if you stop working on LiveWire, then all the documentation is totally useless and worthless because LiveWire is gonna die at some point. Right?

51:09

It'll run for 6 months or a year, whatever. But the browser's gonna change, something's gonna change, whatever's gonna change, whatever. It's then it's dead. Right? So we need you we need you ideally even more of you.

51:20

Like, it would I would love to see, like, LiveWire Inc type of thing where there's a few more people around. Right? Like, that's even better. So and I'm thinking he kinda fills that role, but he's not totally he's not dedicated to Livewire full time is my What

51:34

Caleb

did you say kinda fills that role?

51:35

Ian

Jason. Yeah. Like, he's not, like, full time working on Livewire. Right? So, like, yeah.

51:39

Caleb

There is a person and that's a that's another complicated scenario. But yeah. There's, like, that's a whole other side quest of Right. Right. Right.

51:48

It's like the the business and

51:50

Aaron

Livewire. Yeah.

51:51

Caleb

That part of, like, hiring other people. But yeah.

51:53

Ian

I mean, I guess so. I I think that you kind of have things to me. Like, you're it's pretty interesting because, like, I feel like your desire and the best short term business aspects line up kind of with the happiness and even how things currently are. Like, to me, screencast is the best thing. The components are probably second.

52:12

Yep. The component you know? And then, like, the partner thing could be an awesome business, but also is a very different thing from what you wanna do. And and you should not be doing that at all. Right?

52:24

Like, there should be no zero Caleb time on, like, working on customer support. Yeah. I think you doing, like, the partner calls and stuff's a little bit different. Because if you're a certain tier of the partner program, like, whatever, that's like a little bored for you. Like, even, like, whatever it's a sounding board, you can whatever.

52:40

It's an hour a month or whatever. It's fine. Yeah. It's fine. But, yeah, pulling down repos and generally being the support guy is not a good use of your time.

52:48

Right?

52:48

Caleb

So And to be clear, Jason does the majority. It's not that often

52:53

Ian

that he's forced,

52:54

Caleb

you know, that

52:54

Ian

But he's also making the majority of the money, which isn't necessarily great from a LiveWire Inc. Perspective. Right? So Very true. So that's good that it's there as a resource for companies that want that.

53:07

And so you have that, but it's not good from a sustaining Livewire perspective right now. Yep. So True. I mean, to me, the thing that's I think the low hanging fruit where you're already headed, my 2¢ is, like, the screen cast. But I feel like the screen cast, that could be just the core, Like, the real core because, like, right now if you go in, like, first of all, obviously, they're not even linked really until, like, a week ago from the docs.

53:32

So now you got them linked from the docs, which is good. But, and I believe the way if it still works the same way is, like, you have to sponsor the repo on GitHub to get the the the screen cast. Is that right?

53:46

Caleb

So the v three stuff, I'm not charging for anything yet.

53:49

Ian

You're not doing anything at all.

53:49

Caleb

So I'm working on a modal's course right now.

53:52

Ian

Right.

53:52

Caleb

When I launch that, it'll be paid, and I'm using Paddle. So I'm saying goodbye to get up sponsors.

53:57

Ian

That's good. I think that's a huge problem.

54:00

Caleb

Yeah. Yes.

54:00

Ian

And and also I think that you could just formalize that more. Like, because I see, like, on GitHub, you could see, like, your past sponsors and your current sponsors. I'm assuming that maps kind of it's essentially like your screencast subscribers, essentially. Yeah. And so I feel like if it was more like Livewire Laracasts, like, you would be way better off financially.

54:26

Right? It's, like, basically, they are being a, an easier way to kinda, like, buy it and deal with it in some sense. And then also a promise that there is new content always coming. So, like, every month there's gonna be new videos, whatever that means. I don't think you have to stay.

54:42

It's a course necessarily. Right? But it's like Sure. New videos every month. And then so then I'm gonna stay subscribed because, like and whatever.

54:50

You could do all kinds of stuff. Right? You could have people submit questions and you go through their problems. Like, you could do that kind of support where their problems become content.

54:57

Aaron

Yeah. Yeah.

54:59

Ian

Things like that.

55:00

Caleb

Actually be pretty great. The only hurdle of that is, like, NDA type stuff, but

55:05

Ian

Sure.

55:05

Caleb

That's on

55:06

Aaron

that's on them.

55:06

Caleb

They send them whatever

55:07

Aaron

they want.

55:08

Ian

Yeah. You create a repro

55:09

Aaron

reproduction. Exactly.

55:11

Ian

Right. Like, people who actively ask for it. Not even, like, the partner program support, but even just other people who ask questions. Right? And you solve them on Yeah.

55:20

On video. Yes.

55:22

Caleb

Yeah. And obviously formalized courses. That could be a pretty good solution to this problem, because I like I like producing content. I love off the cuff content. Right.

55:40

You know? And so so that's a way to kind of incentivize me to slog through things like that, solve and if I if it turns out it's a LiveWire problem, let's solve it in LiveWire. Wire. Right. If it turns out it's their problem, it's like, you know, maybe there's documentation we can add or maybe this video just stands on its

55:59

Aaron

own as a cautionary tale or some place to go or help.

55:59

Caleb

Even pre vet them. I think you could

56:08

Ian

Right? And this so this is a good candidate for an actual video. So now I can make a video about how, like, this thing was wrong and here's how we fixed it and whatever. And it's 10 minutes because you've already looked at it. You know, I think you could balance that.

56:19

Right? Sometimes it's 2 hours of watching Caleb slog through and do monkey work. And sometimes you've already figured it out or somebody else has already figured it out and given it to you. Right? And said, here's the solution.

56:29

And then just 10 minutes of Caleb with a nice tight video about look at this problem and here's how you fix it.

56:34

Caleb

So is this okay. Let's say that I do this. I still have a few questions of, like Yeah. How do people get where how do people land there? How do people go from having a problem to being on a screencast?

56:45

That's one question. Sure. Another question is how to these are the 2 questions. How does somebody go from having a problem to being on a screen cast with me? And the other one, how does somebody go from having a problem to finding that screencast to solve it?

56:58

You know? I think there's naturally, like, if you just subscribe to them, if I just notify you when new stuff comes out and you're just a content, you're a dedicated content consumer, you'll gain that knowledge as you go. But that is probably a very small amount of people compared to who could be helped by a screencast like that. So is it transcripts that SEO picks up? You know, what is it?

57:23

Aaron

No. I don't I don't think this cleanly solves the Get Unstuck problem. I think this cleanly solves the the LiveWire Inc. Problem.

57:30

Ian

I agree.

57:31

Aaron

So I think this I think this kind of content is we're we're actually gonna start doing this for playing at scale the code with me kind of stuff or the, like, fix a query with me because it's just such good content. Yeah. But it's, like, it's almost majority entertainment content because it's, like, I wanna sit down and watch Caleb fix a LiveWire problem. I wanna sit down and watch Aaron, you know, make this query 10% faster or whatever. Right?

57:56

Yep. And I don't think this is, like, I don't think this is I'm stuck in this moment. Let me go watch a code with me, of Caleb.

58:04

Caleb

I Yeah.

58:04

Aaron

So I don't think it solves that problem

58:05

Caleb

at all. You're not even we're not even talking about that path. That's this is more I mean, I think it's another source of content.

58:11

Ian

Like, I I would like again, I would just be cribbing off Laracasts, to be honest with you. Like, I I would still, SEO optimize it. Right? Like, I would have a nice title. I would have a video with a dedicated page.

58:20

I'd get a transcript and throw it in there for SEO. So, like, it's great. Like, as many people as can find it when they Google for it, awesome. Right? Because that's also gonna be how you get subscribers.

58:31

So you should absolutely do all that stuff. But I do also agree it's not the same thing as, like I don't think that yes. It's not about, like, there's a 100 people with questions. How many videos could you possibly do? Right?

58:41

You're gonna do one 4 a month, whatever number a month you're gonna do. Right? So, like, it's definitely not gonna be a support solution in general. But obviously, as they build up over time, you will hit things and fix things, and that will be a long tail of information for people, whether some of them are free and some of them are only under the paid plan or however that all breaks out. Yep.

59:00

Definitely SEO at all. But, but, yeah, I think it's, like, this is more about the LiveWire Inc, making sure that there's a stable revenue stream and and that keep people don't churn. It's like, I wanna stay subscribed to this because Yeah. You're producing useful stuff for me and my team, that's that becomes this repository of, like, yeah. We have to build a model.

59:19

We've never done that in LiveWire. You know, we know Caleb has video on that. We go do it. Yep. Or we need to integrate with React or Vue or whatever, some legacy thing.

59:29

And eventually, you'll get to those things. Right? Like the longer tail of weird issues and you'll have videos for those. As long as you're producing something regularly, people are just gonna keep paying for it in general, I think. Like, I'm I would not unsubscribe from that.

59:41

I'd just keep paying for it because someday I'm gonna need something in there even though I don't watch it every month.

59:46

Aaron

Yeah. I think that's right. And I think that also begins to create, like, in, you know, in, I don't know if y'all follow Amy Hoye, from back in the day. She has this concept of, like, watering holes, which is where people on the Internet gather. And if you have this, like, ongoing content, you know, laricast esque thing, that starts to create the LiveWire watering hole in, like, a more defined way.

1:00:11

Caleb

Yeah. Yeah.

1:00:12

Aaron

And you throw up a, you know, a prebuilt forum or whatever. You build a forum as a part of content, which is itself is interesting. 2 for 1 there. And then, like, the content and people getting unstuck can kinda come together because then you have, like, an active and vibrant

1:00:27

Caleb

webcast forum.

1:00:28

Aaron

Yeah. You have a livewire specific forum where people are submitting their problems that may or may not get picked for video content, but that's, like, secondary. But you've got Josh and Jason and Filo and all these people hanging out that are, like Right. Hey, here's the wire box of how you would fix that or whatever. And that may serve as, like, that part of it gets people unstuck, and then you kinda trawl the forums and pull out the best stuff for content.

1:00:53

Caleb

Yeah. I like that watering hole, analogy. And I've I've thought about when I was taught on the that episode, I was talking about getting unstuck. Like, I think I was describing some of this that, like, this vision of of, like, not just a doc site with screen casts, but the LiveWire, you know, mother ship, like The

1:01:16

Aaron

Hanging Place. Yeah.

1:01:17

Ian

Yeah.

1:01:17

Caleb

Yeah. Like, you come here and there's a lot. It it's like, yeah. I don't know. It's an app that you're logging into and now you have all sorts of ways to engage with the community Mhmm.

1:01:26

Consume content, blah blah blah. And that I mean, that appeals to me. That sounds great. I think, yeah, the building it part is fine. Like, I can build the things I want, hire designers and, you know, programmers for the things I don't want.

1:01:40

I'm not a content or I'm not a, I'm not a forum person. I'm not gonna hang out in forums. I just never do. Right. So it would have to be but Jeffrey doesn't hang out in the forums.

1:01:50

Aaron

Right. Right?

1:01:51

Ian

Yeah. I don't think it's a I don't know. Issue. Yeah. You this is a big enough community.

1:01:55

It's just about getting the community together to help each other in those spots. And then the screen cast and the docs are the core Yeah. That they are, you know, going around.

1:02:05

Caleb

Right. Okay. Here's a question. This was my plan before we got on this call.

1:02:11

Ian

Okay. So

1:02:11

Aaron

Ian and I are geniuses then. We just

1:02:14

Caleb

No. No. No. No. No.

1:02:15

No. No.

1:02:15

Ian

Different plan.

1:02:16

Caleb

Different plan. I'll tell I'll tell you.

1:02:18

Ian

Yeah. Yeah.

1:02:19

Aaron

Yeah. Yeah. Back up.

1:02:20

Caleb

No. Take that part out. I'll tell you what was my monetization strategy before this call, then you can change my mind or go go for it. K. I I was I'm doing this models series.

1:02:33

Ian

Mhmm.

1:02:33

Caleb

I'm gonna put it out as a, like, an independent course. You know?

1:02:37

Ian

Mhmm.

1:02:37

Caleb

Like, I don't know if you guys so if you've ever bought, like, VST, like, audio presets or, like, stock footage bundles or something or even screen cap or, like, desktop wallpaper bundles. It's, like, you go to this thing, they're $10 a piece, 10 to $50 a piece. And they usually have, like, you know, some Photoshop template that they use that makes it look like a a VHS tape, you know, whatever Yeah. Yeah. Thing on it that's like, oh, I'm buying this button even though it's just whatever software.

1:03:07

Ian

Right. Yeah.

1:03:09

Caleb

So shows you that and then there's like a all access pass or something, you know. This was my plan is instead of it just being, like, gated access to everything where you just pay to get in the door, whether it's recurring or lifetime, it's, you can buy the lifetime all access or if you can't afford that and if you don't wanna go all in on that, you can pay, like, this models thing I was thinking, like, $30 or something. So you could just buy this for $30. And I have another plan for, like, if I only have one and it's $30, and then you do that five times and then I come out with the all access, what like, I'll I'll hook up all the people who've already paid. Sure.

1:03:50

But this is sort to gain. I'll it'll be a lot of people with all access, but it'll be a lot of people that'll be, like, I love launching something. Launching is the best that launch day of anything. Aaron knows. He just did one.

1:04:13

You just watch, you know, the money come in. It's so satisfying. You finished something.

1:04:17

Aaron

Chipotle and getting rich. It's the best day ever.

1:04:19

Caleb

How about that dog? What's the best day ever? So if I could have a best day ever every month or 2 or something Mhmm. That feels great to me. And it wouldn't feel like I'm on as much of a content treadmill

1:04:30

Ian

Mhmm.

1:04:30

Caleb

Because I'm not as focused on retention. I'm focused on generating new revenue. To me, it kinda removes some of those problems. The alternative, of course, is Lyricast. Charge a monthly thing, maybe do a lifetime, whatever.

1:04:44

Just do that. Come in the door, pay your $15 a month or whatever. Mhmm. And but I know from experience when I did this the last time that and this could this probably has a lot to do with just the nature of the content treadmill for LiveWire 2 where I just stepped off the treadmill. Right.

1:05:03

But churn is brutal. And people know this is why Adam, you know, proselytizes the, like, one time capture lifetime value upfront for this kind of thing. Mhmm. Because churn is so brutal, I would, like, crunch the numbers and be like, most people are churning after 1 month. And I think there's a if you look at, like, just people signing up for this stuff and sponsoring, no it's a small portion of them are US people named John Smith, you know, a much wider portion of people from other countries with not as powerful currencies that it's like, you know, a one time upfront, which I switched to for LiveWire v 2, is prohibitively expensive.

1:05:41

Or before, it's, like, I can come in for a month. I can get what I need to get right now while I'm jazzed about it. Mhmm. Then I can bounce. And now I all I all I paid is $14, You know?

1:05:49

So these are the problems that led me to thinking that this is a good idea, but I am very much here for you to tell me, just Lyricast it. Just be Livewire Lyricast and call it a day.

1:06:03

Ian

I mean, I would tell you to be Livewire Lyricast, for a number of reasons. I think that, I just think you need that on go I mean, I guess I don't know. I don't know. I'm not sure it solves the problem you think it solves totally in that you still have to you okay. So you sell a modal's course.

1:06:23

Caleb

Yeah.

1:06:24

Ian

And that is you know, that's gonna, like, long tail the money. And then but it's gonna, you know, be the launch and then drop, presumably. And then you have to make another course.

1:06:35

Caleb

I gotta make another one. Yeah.

1:06:36

Ian

Right?

1:06:36

Caleb

But I'm incentivized too.

1:06:38

Ian

Yeah. But aren't you incentivized too if you had, like, 2 or 3 or $400,000 in just recurring revenue? I feel like

1:06:44

Caleb

Not as much for my for my brain. No. And for my brain, it's like, oh, I have that good revenue. Oh, I can take a

1:06:50

Ian

breather and and

1:06:50

Caleb

close PRs.

1:06:51

Ian

You know? But also the ability to take a breather is part of the benefit of if you're able to build that up. Right? It's like, oh, there could be a month where it's lighter, or you can do a bunch upfront and then sprinkle them out over 3 months, when you're you know, when you get in the zone and you and build it up. Now I I agree.

1:07:05

It's like Lyricast has a broader audience, so it's easier. Right? Because they're teaching you all kinds of stuff and whatever. And, this is much more niche, of course. But,

1:07:16

Caleb

Yep.

1:07:16

Ian

What is it? How does it work right now? It's one time fee or it's

1:07:20

Caleb

So it used to be $14 a month. Now then I switched to 99 one time.

1:07:24

Ian

Okay.

1:07:26

Caleb

It boosted revenue in the short term because I already had this recurring revenue, and then I add and now I'm charging a lot more, so it boosted revenue. But the amount of people paying me now is less. Right.

1:07:40

Ian

I mean,

1:07:40

Caleb

now it's on a long tail down because I did that. But even when it wasn't

1:07:44

Ian

Well, just tell, like, they're very hidden right now and whatever. It's old and all that

1:07:48

Caleb

stuff too. Yeah. Before that, though, I think one time and I've talked to Adam about this a bunch.

1:07:55

Ian

Like,

1:07:55

Caleb

trying to convince him that one time is a bad idea for me because he is all about the one time. Yeah. And he talks about with Sam Selikhoff and everything. Like, he's trying to get, like, them into one time and all that. Yep.

1:08:06

It's, like, maybe for the React community, that makes more sense. Maybe for the Tailwind community, that makes more sense, which is largely React developers. Like, I'm picturing wealthier people, basically. Or I think Livewire is more of a back end PHP person, more of a, like, a Working man. Program, a working man's framework.

1:08:27

Yeah. Like, if that's not, yeah. So yeah.

1:08:32

Aaron

Okay. So I have a few clarifying questions on on your per se or your, ideal plan. So one thing I heard was you, Caleb, prefer the big release because it makes you happy. Like, it makes you excited.

1:08:45

Caleb

Happy. It incentivizes me just in general. Yeah.

1:08:48

Aaron

Yeah. That's like a that's like a distribution mechanism. I think separately from that, you were talking about a payment which is does the consumer buy one time or do they pay ongoing?

1:09:01

Caleb

I see what you're saying.

1:09:02

Aaron

And then I think there's a so one, I think those two things could be the same, but I don't know that they have to be the same. Right.

1:09:09

Caleb

They're different and the same.

1:09:10

Aaron

They're different and the same.

1:09:12

Caleb

If there's a

1:09:12

Aaron

way yeah. If there's a way to marry, like, a distribution mechanism that keeps you incentivized and happy and a payment structure that keeps the working man happy. That would be interesting. Yeah. But then I think there's a third thing that we've kind of talked about that your solution doesn't address, and that's becoming the hang space for LiveWire.

1:09:33

I see. Because I think I think if you do purely, like, single course drops, that doesn't become, like, that doesn't become, like, the community clubhouse. And I think you're the only person that can fully pull off community clubhouse. And I think there's a lot of I think there's a lot of, like, retention value and a lot of community value if there's a clubhouse where everybody can hang out.

1:09:58

Caleb

Yeah.

1:09:59

Aaron

And so I don't know that, like, hey. We did the modals course. People are gonna watch the course and then go away versus I go to, you know, I go to Livewire casts whatever.com every Monday and check out what's new and answer some forum questions and poke around, that kind of stuff. So I think there are a couple of different things to think about there. I wonder is there a way where you could get, like, you could marry the distribution mechanism that you like with a ongoing recurring because I feel like the ongoing recurring payment mechanism is ideal for revenue maximization, I think.

1:10:40

Yep. But the distribution is ideal for Caleb's, motivation and happiness.

1:10:47

Ian

I I do think that capturing all the value upfront definitely is good. It's not a bad way to go. I I think I guess maybe my hesitation with it is more like, I don't know if I love the, like, per course. Like, here's the little widget course.

1:11:04

Aaron

I don't

1:11:04

Ian

I kinda like what you do for v 2 if you were gonna do that, which is it's it's $99. It's a whole bunch of stuff. And it's, like, this is way a small amount of money, and we can get to the international part in a minute. But generally speaking, it's a small amount of money for a lot of information. And, yes, you're gonna capture a year of recurring revenue essentially up front, and you're just gonna be fine with that.

1:11:25

You're gonna keep selling that. I think that would be fine too. And then maybe, like, you got a couple of these, but I wouldn't, like I don't know. I I have a hard time seeing it work where it's, like, there's a bunch of there's, you know, 50, $10 courses.

1:11:38

Aaron

Like Okay. I think

1:11:39

Ian

you had, like, the live wire screen cast, and then maybe there's some, like, the ultra advanced one that's, like, 299 or something that does whatever. It goes through the internals or something like that. It's like a second one. But, I could see that working. And then the thing you have to remember about comparing Tailwind is, you know, their SEO is insane.

1:12:01

And so people just come in and buy. They don't ever have to sell to them. Right? So, like

1:12:06

Caleb

Yep.

1:12:06

Ian

And I think Livewire could have that. I mean, you're on the Laravel.com domain now. Like, there's you have some advantages there. But I think you have to, like, really flesh that out in a lot of different ways. Like, the docs, you need, like, just more pages.

1:12:19

Like, break topics out into different pages. Sure. Like,

1:12:22

Caleb

like, I mean, Larrivell does, like, giant giant pages.

1:12:26

Ian

Right.

1:12:27

Caleb

But they Well, I

1:12:28

Ian

mean yeah. That's fine. I mean, what I'm just saying in terms of, like, Tailwind has a 1000000 pages, though. Right? Like, every single topic has its own page, And that's how they sell.

1:12:37

Taylor doesn't Is that strategic

1:12:38

Caleb

on their part?

1:12:39

Ian

I don't think it started strategic, but I think I think it's a happy coincidence. But, you know, you got whether it's all kinds of different things, but you're gonna need to you're gonna want to get more content out there for this one time sales funnel. Right? Because you need to get new sales always. Every month, there needs to be new sales.

1:12:59

So, yeah. And international, I think, is, like I'm not saying for first of all, let me before people get mad at me, I'm not saying, like, turn the livewire docs into, like, you know, every little tiny thing. I mean, the tailwind pages are kinda big because, like, because there's also a lot of stuff. Even if you go to with on tailwind. Right?

1:13:17

Like, there's, like, how do you do your own with? And, like, whatever, all this stuff. Like, it's actually a pretty big page there too. But I actually there could be tons of stuff on livewire. Like, every one of those little every event every I mean, there's a lot of stuff.

1:13:29

When you

1:13:29

Aaron

even talk

1:13:30

Ian

about one of these things, there's actually other examples you could put there. There's actually a lot of stuff still not in the docs even though the docs are way better than they were. Just pages that are just, like, all the possible, which is something I was looking for. All all the events in one spot. Like, right now, there's not even a page with all the events or each event would have its own page.

1:13:49

Like, the, like, the initialization event and Oh, I gotcha. Yeah. All those different type of events. Right? Like, they're all kind of mixed in.

1:13:59

Caleb

I don't think they

1:14:00

Ian

all have their own pages. Like, there's not there's both not a directory of all the events in one spot, I don't think.

1:14:05

Caleb

Okay.

1:14:05

Ian

As well as them all break broken out with, like, their own examples and use cases and whatever. But,

1:14:11

Caleb

Right. Yeah. Like, I needed something on Tailwind yesterday. Oh, I was trying to style a dialogue element, but style the backdrop of it. And it was like, yeah, I'm looking in the backdrop page and there's really not what I needed.

1:14:25

And, I just found some nook, like, deep in the docs Right. That has an example of a dialogue

1:14:33

Ian

Yep. Element. Right.

1:14:34

Caleb

And they're not styling exactly what I wanted, but it's showing me, like, a path for the dot. And it was the same with, like, a custom animation is, like, I could have constructed on my own knowledge that I could type animate hyphen and then use the bespoke brackets syntax to put in my own thing and use underscores and replace spaces. But I didn't have that knowledge and I couldn't assemble it over the entire documentation in that moment. But I was fortunate to find animate hyphen bracket this underscore that. You know?

1:15:04

Right. So Right. Yes. A 100%. Just Yeah.

1:15:04

Examples, examples,

1:15:13

Ian

people reading the docs because, like, hey, here's these examples. Better for SEO and being able to cross sell. Yep. And then the international, I'm pretty sure Pyle would support that, but you can build it yourself via Paddle if you needed to, which is probably the route I'd go. And then the other way just think about it like, people get caught up in that stuff.

1:15:42

But, like, if you were to able to just get all the English speaking world, right, to buy a lot of this, like, you're gonna be a super wealthy man. Right? So

1:15:50

Caleb

Right.

1:15:50

Aaron

Right.

1:15:50

Ian

You know? So there's also, like, that of, like, the market you can focus on, but then also sure. Like, obviously, the open source projects have huge international audiences, so it's great Yeah. To let them help fund the the project. So, yeah, I would probably just go different pricing.

1:16:03

Caleb

So Internet from a person is listening to Dollar's Day. Idea. Let me help fund the project.

1:16:09

Ian

We're failing here. This is a capitalist show. But, they won't. If it's if it's $10 in India, right, great. And, like, that's fine.

1:16:18

And it's a $100 in America. And it's whatever. Like, you just have different price points. That's what Apple does. When you change an iOS app's price, it's literally you get a 100 different countries.

1:16:27

And you set prices in a 100 different countries.

1:16:29

Caleb

Really?

1:16:29

Ian

And they have an automated way that they'll, like, say, oh, they put this in in America. Like, we can cascade it through based on

1:16:36

Caleb

what it

1:16:38

Ian

should be for the region.

1:16:40

Caleb

Look at what they do for, like,

1:16:42

Ian

a huge country.

1:16:43

Caleb

Yeah.

1:16:43

Ian

Like my

1:16:44

Aaron

Jack McDade has a purchasing power parity site that we use for screencasting.com.

1:16:49

Caleb

Yeah. The big mac index. I've I've, like, hesitated to do straight PPP because I feel like it sells me so short because it's, like, well, you live in a country where Big Macs cost, but my Big Mac still costs this. You know? It's like

1:17:02

Aaron

I only do it if someone kills

1:17:04

Caleb

me. Yeah. I mean, that's what I do. Right?

1:17:06

Ian

Yeah. I mean, you could do it that way. Yeah. Yeah. I mean, who knows?

1:17:09

I I wouldn't get caught up building as large advanced infrastructure to handle this, necessarily, at least on phase 1. But at the same time, I think it might make sense to do if there's such a huge percentages international too. Like, if there's just a half price version, it's, you know, even something like that, it's half price. Whatever. But yeah.

1:17:30

Aaron

Can we can we can we back up one second? Yeah. Let's go. The excitement of the distribution model for you, the single course distribution model? Is it like the building up and working towards something and releasing a finite and complete package?

1:17:47

Or is

1:17:48

Ian

it Every software developer loves that. Come on. Yeah. Is it getting a whole host of money? Anything.

1:17:52

Aaron

On one day? Like, what is the part that that mentally Yeah.

1:17:56

Caleb

It's works for you? It's both. The money is a big part of it because a launch day is nothing without a refreshing the paddle page, you know. So that's a huge part of it of, like, working towards that and then, like, doing the tweet and design it, you know, like, doing that like, when there's money on the table Mhmm. When I go to launch that thing, I start doing things I wouldn't normally do.

1:18:22

Aaron

Right.

1:18:22

Caleb

I make nice meta images and sketch. You do everything right. Time into that. Yeah. I do all the things because it's, like, I do the things that Caleb doesn't normally do when he's just being his lazy self Mhmm.

1:18:35

Putting stuff out there. It's like a mini little launchy thing, and so I love that. But, I mean, I I I would still do some degree of that because it does bump revenue. It still is a launch. It's just not maybe what I yeah.

1:18:52

Ian

I just think you're thinking about this maybe I would I I think you might be just thinking about this a little bit incorrectly in the idea of, like, think about just look at your own proof you have. Right? Which so forget about subscription or one time. I mean, I think one time might make a lot of sense. It does obviously lower the barrier.

1:19:09

People are much more hesitant to subscribe to something. Even if it's $15 a month, a lot more people will probably buy it at 99 Yeah. Than subscribe to 15 or whatever. Like, because it's just, like, low burden. I just buy it and it's done.

1:19:20

Right? So that's fine. Look at screencast. You're what you're selling right now. You said that you think it was, like, around 10,000 a month still.

1:19:28

Yeah. That's insane. Like, you haven't done anything with version

1:19:32

Caleb

2. Huge amount.

1:19:33

Ian

Right?

1:19:33

Aaron

You haven't, like, put

1:19:34

Caleb

out a new video in, like, 2 years. You'll put out a half years. I've never

1:19:37

Ian

Huge. Huge amount. Find these videos. Like, if you like, it's totally hard to find these videos.

1:19:42

Caleb

Yeah. She

1:19:42

Aaron

is so mad that you don't link the videos better. It's a 4th

1:19:45

Ian

time you're crying out. So, like, so you're still till 10,000 a month on these videos that are old, not linked from anywhere relevant, and you haven't been

1:19:54

Caleb

able to do one in years.

1:19:55

Aaron

So Are

1:19:56

Ian

they no. Not anymore. The Lock Mart two ones?

1:19:59

Caleb

Yeah. Every Docs page at the top says be amazing at LiveWire, watch our screen casts. And would

1:20:03

Aaron

that be cool to be good? Or something.

1:20:05

Ian

That wasn't that hasn't been there though.

1:20:07

Caleb

That's been there for years. It's the only reason that

1:20:09

Aaron

No.

1:20:09

Ian

In the live I put that livewire 3 docs?

1:20:12

Caleb

Oh, no. No. No.

1:20:13

Ian

Yeah. I know.

1:20:14

Caleb

That's what I didn't have stream casts for livewire 3 before I put that link in.

1:20:18

Ian

Saying, like, you only have these links in the livewire 2 docs, but Livewire 3 is, like, what everybody's focused on. Right? That's what I'm saying. You're not getting But I'm

1:20:25

Caleb

not gonna link them to v 2 stuff. I understand.

1:20:27

Ian

I'm not that's what I'm saying, though. That's what I'm saying. Like, these Livewire 2 videos are still selling off the old version of the old docs. Right? Like Yes.

1:20:36

Caleb

Because people go

1:20:36

Ian

to the old docs for Right. Right. Like, they took a little docs or whatever. But, like, everybody's currently focused on Livewire 3. Obviously, there's a lot of people still on Livewire 2.

1:20:44

I'm sure they're going to look at the docs. Right? Right. Yeah. But even on the new hotness on the laravel.com domain, right, right, up until a week ago, there was no link to any videos at all.

1:20:53

And even today, there's no links to videos you could pay for. So I feel like that is

1:20:58

Caleb

And you're still making 10,000 a month. Yeah.

1:21:00

Ian

I was just saying,

1:21:01

Caleb

you're still

1:21:01

Ian

making 10,000 a month. So I'm saying if you had, like once you get the full live or live wire 3 transition and blah blah, you get these linked from the docs like you do have now. Right? And there's actually a way to pay for them once the paid part is ready. And then you maybe start to get a little more sophisticated where, like, where it's linked from, making sure things are SEO optimized properly for that and everything.

1:21:25

Like, I feel like that's gonna be a pretty good business there. Like and I don't and I don't know about, like, the dropping down to per course makes things a lot more complicated.

1:21:34

Aaron

Right? Think that's a bad idea personally.

1:21:37

Ian

Yeah. I think it's a lot more complicated. Like, I want all these or, then there's a group purchase thing, and there's, like, just let me pay $99 and get all the videos you made. Like, that'll be more.

1:21:46

Aaron

Let me pay a $199. I mean, I would pay 599.

1:21:49

Ian

Right? Like, whatever. Have the

1:21:50

Aaron

Okay. Team

1:21:50

Ian

wins. I'm not paying that much. Like, have the non team one for, you know, whatever. You have whatever tiers you wanna come up with. Right?

1:21:57

I don't know if we're gonna be able to hash that out right now, but I would definitely have a team tier. I would definitely have, like, the regular tier. Maybe there's, like, you get more for a little more money, whatever, 3rd tier. And, Yeah. Like, I I don't know.

1:22:11

I I wouldn't I wouldn't overthink it in that in that way.

1:22:14

Caleb

I hear you. I'm mostly convinced. For the purposes of this episode, I'm a 100% convinced.

1:22:20

Ian

Okay.

1:22:20

Caleb

Trash the one off course thing, and now I have a new slew of questions on how to do this well.

1:22:26

Ian

Hit him. Okay. Let's go. There we go.

1:22:28

Caleb

So first one well, I wanna talk about how much to charge. Mhmm. For sure. How much how much am I charging for monthly team and personal all time?

1:22:42

Aaron

Personal lifetime, I think 199.

1:22:46

Caleb

Yep. Yep. I agree.

1:22:49

Ian

Like, 199. 9.

1:22:52

Aaron

Because in the live time You do have to remember there's some component of, like, I am a fan of Caleb slash I am a supporter of LiveWire. And, like,

1:23:03

Caleb

I also It definitely feels like they're not enough content to justify that price tag right now. And that's another question of, like, deferring the introduction of that. But I I feel like it's not even worth it. It's more worth figuring out. Let's just pretend that a year from now Pretend it's not

1:23:20

Aaron

there's a

1:23:20

Caleb

good body of work. Yeah. And then 199 is a no brainer.

1:23:24

Ian

I think so. Thing and this could might be be a little bit of a solution to your make Caleb happy when cash register goes ring ring ring problem is you can do that same type of thing. We're gonna get very commercial here with sales. Like, hey. There's a Black Friday sale.

1:23:42

There's a spring sale. Right? Like, there's, like, build up to these moments throughout the year. There's a cyber Monday set. Whatever.

1:23:49

Like, there's all Launching into

1:23:50

Caleb

the new course. Emailing my whole list and launching a new course that I charge $30 for feels fine to me. Emailing my whole list and even doing one sale, I feel like the dirtiest m f'er on the planet and I hate it. I hate Black Friday. I hate all of it every time.

1:24:06

Ian

Because people who paid you 199 are gonna see that now you're only charging 129 for the next 3 days or whatever.

1:24:12

Caleb

That guilt. I know. Right. I know.

1:24:14

Ian

Tag, right, Lee? Oh. It's a convert. Right? They won't even see it.

1:24:16

That's true.

1:24:17

Caleb

I know. There's that. Yeah. It right. Okay.

1:24:22

Being really good about tags and emailing the right people for things is definitely something, just touch guilt that's like, I touched you again, you know. And and it's every time I touch and I'm not providing value, it's like I feel bad.

1:24:48

Ian

That's a secondary thing. Right? I think if you do a really great job with the static components of this, which is like the Livewire docs, the cross selling, whatever, the different touch points that you can cross sell on. I think that alone, if you're already making 10,000 a month like, I don't see why you can't sell 30,000 a month or 40,000 a month, like or more. Like, I I think you could.

1:25:08

So it's just about getting those other parts out. And that's all the stuff dialing first. But I think they'll building up your mailing list. Like, I know you do have a mailing list. I don't know.

1:25:16

That's linked from nowhere also, I think. But if you build up the mailing list and stuff like that mailing. Yeah.

1:25:23

Caleb

Well, so here's all

1:25:24

Ian

the stuff with that. But I think just working off the docs as your baseline play I mean, listen. That's how Tailwind. Right? That's Tailwind's docs are its whole money engine.

1:25:33

And I think Livewire would be the same thing.

1:25:35

Caleb

And it already I mean, as you

1:25:37

Ian

Right. As

1:25:37

Caleb

we've talked about, it is. Like, I I figured that out 2, 3 years ago.

1:25:41

Ian

Same with Alpine Technologies. Right?

1:25:43

Caleb

Oh my gosh.

1:25:44

Aaron

Like,

1:25:44

Caleb

I have a massive distribution channel, so I can just. Yep. You know, I don't even need to send an email,

1:25:49

Ian

you know?

1:25:50

Caleb

The just the this is kind of another question. So well, let's answer that first one. 199. Okay. How much do I charge monthly?

1:26:01

Is it 9 or 14?

1:26:02

Ian

If you did monthly or if you did

1:26:04

Caleb

Monthly. Okay.

1:26:05

Ian

So you're talking about they're not talking about one off purchase. You're talking about subscription.

1:26:08

Caleb

Talking about right.

1:26:09

Ian

Okay. So Which I think is what

1:26:12

Caleb

I would want. I don't think I wanna only do one off. I think I would wanna do laracast rip off.

1:26:17

Ian

Okay. Try subscribers. Then I would go,

1:26:23

Caleb

I did 14 on on, LiveWire V2 forever, and that worked great. But I imagine that churn curve where it's, like, they all drop off after 1 month, then the rest drop off after 2 months, and then most after 3, and then 4, they're all gone. If it was, like, 9, it might be, like, us a more shallow care.

1:26:42

Ian

One off price for this so much in terms of it just depends. See, I like the subscription if you're going to do I like the subscription if you're going to do the commitment to it of, like, I'm here every month with new videos. I'm talking about new videos all the time.

1:26:55

Caleb

Future, I'm gonna be doing that.

1:26:57

Ian

Then I like the subscription.

1:26:58

Caleb

Where I at least just based on past, you know, like, offense, there's it's it's a possibility that 6 months from now, I lose interest in the content and I let that go, and then I can rip out the monthly Incoda. But for right now, like, I'm gonna be keeping the balloon up because it's my favorite thing to do. I'm incentivized to do it, you know.

1:27:19

Aaron

I mean, you

1:27:19

Caleb

always have other people who do it too. Exactly. Essentially. There's people like Aaron. There's Filo.

1:27:25

There's other people who yeah. I'm signing you up, Aaron. Yeah. I don't know.

1:27:28

Aaron

I can

1:27:28

Caleb

like me to do what? That I can go like, Aaron, make a series.

1:27:33

Aaron

Oh, yeah.

1:27:33

Caleb

You know, like like you do for Lara cast.

1:27:35

Aaron

I do it for Lara cast. Aaron does it for Lara cast.

1:27:37

Caleb

Yeah. And that's actually another question, but I have I'm building this list of questions without hearing

1:27:43

Aaron

how much I should train per month. I think 9 is too low. 9 is way too low. 12? 12 is too low.

1:27:48

Ian

You know what I like?

1:27:49

Caleb

Too low.

1:27:49

Ian

I'm not I honestly like is the pushing the annual. I'm a big fan of the annual You

1:27:56

Caleb

like annual?

1:27:57

Ian

Subscription. Yeah. It's, like, $99 a year. I kinda like that. It's, like, under a 100.

1:28:04

And then maybe there's,

1:28:04

Caleb

like, a monthly monthly option that's higher?

1:28:08

Ian

I would probably with $99 a year. Is that what Lyricast does?

1:28:12

Aaron

Or 15 $15 a month.

1:28:14

Ian

Yeah. I mean, I I kinda like that. Like, whatever. If you wanna overpay substantially because you know you're only gonna use it for a few months, then

1:28:20

Caleb

Right.

1:28:20

Ian

It's $15 or whatever.

1:28:32

Caleb

20,000 hours of content worth

1:28:34

Aaron

of me.

1:28:34

Caleb

I'll bump it a dollar. Yeah. So let's say let's say 14 a month. Let's say 89 a year.

1:28:39

Ian

This isn't Larry cast in that, like Correct. This is for a niche audience. Yeah. It's not an insurance. Way deeper.

1:28:45

Right? There's I'm sure there's Yes. 20 Livewire videos on Lyricast already. Right? Like, if you want the Livewire overview, it's already there.

1:28:51

But if you want the, like, we're going down in deep, then that's what this is. So I feel like that's a a different thing.

1:29:00

Caleb

Okay. So 14 a month, 89 a year, 199, all time. So For a lifetime?

1:29:09

Aaron

A 100199 lifetime, that's like 2 years of yearly plan.

1:29:16

Ian

I mean, I think in the traditional sense, you would make it higher, like, generally speaking. But don't know. It's like hate it for this in terms of getting

1:29:23

Caleb

I can't even just not do lifetime right now.

1:29:26

Ian

Yeah. I mean, like, I mean, the way Lyricath does it again, like, we could steal I think he only does it. I don't know if permanent now, but he used to only do it, like, a few times a year. Like, hey.

1:29:32

Aaron

No. It's got it on the page right here.

1:29:34

Caleb

Now it's

1:29:35

Aaron

for him. It's 399. Yeah.

1:29:36

Ian

Yeah. For

1:29:36

Caleb

the 1 100 bucks. Time, it didn't exist. Like, we all remember what that, like, forever it didn't exist, and then he introduced it for, like, Black Friday, and then Uh-huh. Now it's just available. So it's, like, I I don't feel that weird not offering it out of the gate.

1:29:51

Ian

That I mean, I would put it there because, like, if you can get 3 years up front, like, I would go more, like, 3 years maybe, like, 299. Like, make it a match but, like expensive.

1:29:59

Aaron

See what happens. It's 299.

1:30:00

Ian

I'm I'm gonna instantly buy it. Right? Like, there's a handful of people that, for

1:30:03

Caleb

sure, are

1:30:03

Ian

just gonna instantly buy it, and I think they'll get some over time that buy it.

1:30:06

Caleb

Okay. Lyricas rip off model, 14 a month, 89 a year, 2.99 lifetime, Black Friday sales the way people standard do them.

1:30:15

Ian

Right.

1:30:16

Caleb

I have 2 more burning questions. 1 is, this is just a if you can't tell, I'm a, like, pretty hesitant and guilty capitalist.

1:30:29

Aaron

So That's why we're here.

1:30:31

Ian

That's why we're here to break you.

1:30:34

Caleb

Yes. So the idea of even with sales, but let's forget sales. Let's say that I am charging let's say I'm charging monthly. You You know what? I guess if I laid this all out right now, I wouldn't have to deal with this problem.

1:30:51

But you know what? I still do. Because what if you've been paying 49 a month? No. $14 a month to sponsor me for the past 3 years Mhmm.

1:30:59

And now to get on v three stuff, you have to pay another $14 a month and cancel your other thing. What if you paid $99 for v 2 a week ago? And now you go to this and you're, like, crap, I just paid 99. Like, should I what I am thinking of doing is, like, literally scraping, like, all the data I have from GitHub and assigning everybody, like, a credit value in the database that I can go from and do what I want with, but give built in like smart discounts for people who've, like, been subscribed for a certain amount of time, paid me a certain amount. It's like, hey, if you already paid me a bunch of money, this is free.

1:31:35

Right? Or, you know, there's, like, a credit that you have that you can work down. You know?

1:31:39

Aaron

Yeah. I think you could go too far with that, but I don't think it's I don't think it's a bad idea. If somebody paid $99 a week ago and then you move to an entirely different payment platform and payment model and you say you gotta pay $99 again, I would be frustrated. That's the exact

1:32:00

Ian

same thing.

1:32:01

Aaron

Right. So I would I wouldn't I wouldn't try to do it with mathematical accuracy, but I would take into account, like, the big emotional pain of I just paid $99. This sucks. Yeah.

1:32:14

Ian

Yeah. I definitely would not build anything. Calling. Yeah. Yeah.

1:32:17

Don't build anything for this. Like, this is a zero build zone. Like, it's totally, like, tell the some people to move over, maybe look back the last month or 2 and just give the people, here's a credit. You you already have one coupon code. You give everybody.

1:32:32

It's, like, 99 doll dollars off or whatever. Right? And they could just move over, and that's it. Like And

1:32:37

Aaron

I think you get to send an email. Yeah. Send an email being magnanimous Caleb and being like, hey. I know some of y'all. You don't even have to look.

1:32:44

You don't even have to do any research on your own. Just send an email saying, hey, I know some of y'all probably bought last week.

1:32:49

Ian

If that's the

1:32:49

Aaron

case, I don't want you to I don't want you to feel put out the cold. Send me an email. I'll send you a coupon. And then you're a good guy, Caleb, and you didn't do any work.

1:32:57

Ian

You don't wanna miss all the people who pay you now. You need to email every single person who pays you now or has ever paid you and be like, hey, v three docs, screen cast, the whole thing's ready. Go here and buy it. PS, if you already pay me or you just recently in the last, you know, month, like Aaron says, pay me $99, then, hey, we're gonna straighten it with you, whatever. And then, yeah, they can contact you.

1:33:21

Caleb

Yeah.

1:33:22

Ian

But most other people are just gonna move over and do it. Because you don't wanna lose all these people. You wanna capture all these people who want to pay you money. Like, in

1:33:28

Aaron

the Imagine all of all of the, like, proper business owners in the world that paid $99 2 months ago. What are they gonna do? They're just gonna buy this new thing. That's not yeah. That's not

1:33:38

Ian

buy it again. Yeah. They're never gonna That's definitely not. Let me give you an example. We just raised the prices

1:33:42

Aaron

hours giving them a coupon when they wouldn't use it.

1:33:44

Ian

We just raised the prices on HubSpot customers 25%

1:33:47

Caleb

yeah

1:33:48

Ian

on the certain whatever the older tier of customers which is the majority of customers by far like 80% of customers and so we sent this out to 100 and 100 of people. They're paying tens of 1,000 of dollars. Some of them right in some of them are paying $1,000. Nobody's paying less than $700. That's the minimum.

1:34:04

K. And we raised the 25%, and we've literally gotten, like, 8 emails. And Nice. Like, literally, like, 4 of them were just people confused about, like, unrelated. And there's, like, 2 people who were, like, slightly mad out of, you know, 100 and 100 of customers.

1:34:21

So, like, people I mean, listen. Your stuff's a little bit different because there's gonna be more just, like, consumers. Some of them are businesses and some of them are consumers. So you have a little more of a mixed audience. But even so, I think you're gonna have very few issues.

1:34:35

You deal with the people who email you by being overly generous. Like, that's what we always do. Yes. Discounts A year at the same price. Whatever.

1:34:42

Whatever we gotta do would make you happy. Right? We just make you happy, and that's it. And then everybody's happy, and it's fine. So I wouldn't over overthink that for sure.

1:34:49

And I would just be emailing people. The new one's ready. Handle them. Yep. Any complaints as they come, and that's it.

1:34:55

Caleb

Okay.

1:34:56

Ian

Because any percentage thing you you work up, somebody's gonna be mad. It's gonna be mad anyway.

1:35:00

Caleb

Yeah. Right. Hours

1:35:01

Ian

of, like, programming work to, like, figure it all out and it's still worth it. So yeah.

1:35:05

Caleb

Aaron, you got the right move. Just feel like

1:35:07

Ian

That's the way I go.

1:35:08

Caleb

If you want if you're, like, mad about this at all, just email me.

1:35:12

Ian

Yeah. Yep.

1:35:12

Aaron

I'll it's not That's

1:35:13

Caleb

the play. That's way. Then I don't have to do any more work upfront. Right. And then that work after my next event.

1:35:19

Aaron

You can't hide behind the fact that you have to do all that work before you pull this thing

1:35:22

Caleb

off. Exactly. Right. That's and that's Well, I I would I

1:35:26

Aaron

would launch the new thing, but I gotta write

1:35:27

Caleb

the script. It's like, you know I'm doing that. That's 20 hours of deal. Dealing with freaking GitHub's API is, like, basically not even a possibility to do this. Yeah.

1:35:38

But literally contacting the team and being, like, I need this information to CSV. You don't wanna give that. Okay. I got 2 other questions because we're killing it. We're almost to just, like, the perfect business.

1:35:50

So I do something that I wonder if it's shady or not, but I do it confidently and I probably won't stop unless you really tell me it it's even if it's illegal, I might ask.

1:36:03

Ian

That seems it seems unlikely with us, but let's let's get

1:36:05

Caleb

into it. So when you I have a list of email address. My email list is, like, 35,000 people or more. Like, it's a lot. And the so I I put out this new, like, free series and I put it behind a GitHub login.

1:36:24

So you have to log in to watch it. It's free. K. If you go to Live with 3 Docs, you have to hit a login with GitHub button. It takes 2 seconds

1:36:29

Aaron

Mhmm.

1:36:30

Caleb

And now you're in. I put your name in a database. You're a user in my system with an email that I pulled from GitHub's API. And then I put that email into a ConvertKit list Mhmm. That's clearly marked as, like, free tier people.

1:36:43

K. And so I just launched it. I I silently launched this. I didn't tweet about it and in, like, no time, I just looked at the database and there was, like, 300 people. And then, like, now there's, like, 3 and a half 1000 or something after, like, a week or 2.

1:36:59

So it feels like an amazing hook, you know. Yep. I consider those people reach outable. They didn't double opt in. I never told them I was gonna send an email.

1:37:09

I there's an unsubscribe link at the bottom, and I I guess I don't wanna throw any other business owners under the bus, but other there's another prominent one that that we know that that doesn't do double opt in at all, that does something very similar to this that's like like, no, you got the free video. Like you gave me you logged in. If you wanna stop being reached out to hit on subscribe, but, you know, and my my, like, reopen rates are still pretty good. People aren't I've never I'm not sure I've ever had somebody yell at me about it. But, you know, ConvertKit definitely doesn't want you to do it.

1:37:47

Right. They're like,

1:37:49

Ian

don't do this. I mean, the double opt in is definitely not any kind of legal requirement. Yes. Yeah. Right.

1:37:55

So that's just that's irrelevant. Like, that's just what people want you to do. You know you know how to do that. That's fine. Yeah.

1:38:00

I think that this is, like, that borderline. Right? I know Aaron thinks about, this, but, like, signing up for an app. I mean, I think it would I think it would be probably to your of service. And, like, it's in there that, like, if you sign up for our screencasting application that we're gonna email you, but you can unsubscribe anytime.

1:38:24

Blah blah blah. But, you know, I I would probably have some I mean, you should probably have terms anyway. Like, everybody should really have terms for, like, services they're offering. And then legally, you'd be fine. But I generally don't have, too much beef with it.

1:38:35

I don't know. What do you think, Aaron?

1:38:37

Aaron

No beef. 0 beef. Beef not detected. Here's the thing. First of all, what is GDPR?

1:38:43

I have no idea. Second of all, like do

1:38:47

Caleb

know, but

1:38:47

Ian

we're not gonna get into it. Yeah.

1:38:48

Aaron

I don't know about it. Don't care about it. This is Texas after all. So I think I think the other thing is, like, you sign up like, if you sign up for an application, like, if you log in to an application, I feel like, yeah, they're gonna email you. They're gonna email you all the time.

1:39:02

Ian

An assumption

1:39:04

Caleb

Yeah. That is, like, I assume that.

1:39:06

Aaron

Yeah. And I think I don't know. I think it's totally fine as long as you have

1:39:10

Caleb

a scratch place. I I bought something on AliExpress and and now I get, like, they keep selling me stuff and, whatever. I'm like, this for some reason, it's not in my promotions thing. It, like, comes to my phone and I'm like, screw you Yeah. AliExpress, you freaking idiots.

1:39:28

Aaron

Yeah.

1:39:28

Caleb

But my emails are not that often, and they're Right. Literally writing them. You can reply to them, and it'll go to my inbox. Mhmm. And I'll reply to you.

1:39:37

Right. And it's just when I'm providing you value, basically. You know?

1:39:42

Aaron

Yeah. I feel like it's totally fine. I know the European police are on their way to arrest me, but I just I feel like it's it's totally fine.

1:39:49

Ian

Yeah. I think they're come

1:39:50

Caleb

for me, I'll send

1:39:51

Aaron

them to you. Yeah.

1:39:51

Ian

Yeah. I would I would put a terms of service up somewhere. Just the Yeah. I think that'd be good.

1:39:55

Caleb

That's a big boy thing I Yeah.

1:39:57

Ian

It's a big boy one.

1:39:58

Caleb

How to

1:39:58

Aaron

do. You should you should do that.

1:40:00

Ian

Oh, man.

1:40:00

Caleb

Chachi b t can write that. Yeah.

1:40:02

Ian

You could there's a million templates and whatever. Chat gpt could definitely do it.

1:40:06

Aaron

Yeah. Definitely use chat gpt for anything legal because, you know, that's how

1:40:10

Ian

you know Legal advice. Yeah.

1:40:12

Aaron

You're getting the best legal advice as if a computer writes it for you.

1:40:17

Caleb

I got one more if there's time.

1:40:19

Ian

Yeah. There's time.

1:40:19

Aaron

Oh, there's plenty of time.

1:40:20

Ian

I got a couple of things too we gotta still cover. So we we we got a little more time here. Hopefully, Aaron's got time.

1:40:25

Caleb

Alright. Then so this is this is the final thing I need clarification on to complete the business.

1:40:32

Ian

Oh, wow.

1:40:33

Caleb

When I it's the general question is, how do I pay other people who help me? So if I'm paying Aaron to produce a series, like, Jeffrey pays you a chunk Mhmm. You know, out of the gate. That's it. You just get a chunk.

1:40:49

It's a generous chunk, and now it goes into his pool of content.

1:40:54

Aaron

Mhmm.

1:40:54

Caleb

The other model before, something I was excited about it was being able to go to Aaron and be, like, hey, produce a series. I'm gonna charge this much, and I'm gonna give you a percentage of that. Mhmm. Sales for that. Lifetime people, you don't get a percentage.

1:41:09

But if somebody buys your one off thing, you get 30% or something like that. And Aaron could make some pretty good money on something like that. So that felt great to me because I love partnerships where it just feels like we both win. And it's, like, I'm gonna be pumped because I'm making more money. It's your content, so you're gonna be pumped.

1:41:27

You're making more you know? So that felt nice. In this scenario, there's the the question that I don't care about as much, which is how much do I pay Aaron when he makes a course for me? The question I care about more, it's a bigger question, so we should probably start with that, but I the big picture for LiveWire is I want to make a first party component library where there's a generous free amount of components that you can just use, and then there's a paywall behind all the crazy ones that take us a 1000000 hours to maintain and build, and you pay some amount like, this is gonna be the destroyer of worlds. Like, if this this is gonna be the hardest thing for me to do, the biggest thing and hardest thing for me to tackle.

1:42:07

But when I do, I will probably, almost definitely partner with somebody on a percentage basis. If that person didn't exist, this would be a no brainer for me. I because it it it would be on the table for me to just include it in the bundle. Live Warrior Pro, you get access to the watering hole. You get these components.

1:42:26

There's even more reason to sign up. Maybe I can justify bumping the price or put it on another tier. You know? But if I'm partnering with somebody and I already have this thing going, it's like, how do I give you 20% of profit on Livewire components if it's mixed in with everything? You know what I mean?

1:42:46

Aaron

Can I clarify the question? Yeah. So is I think there maybe I heard 2 questions. 1 is

1:42:52

Caleb

how do questions.

1:42:53

Aaron

How do you pay content How do I pay trainers?

1:42:55

Caleb

How do I pay the the per like, a partner

1:42:57

Aaron

But then you just On us. You just you just dropped, you dropped an Oppenheimer on us by saying there's an entirely new, like, LiveWire components. Yeah. That was kind of a surprise.

1:43:08

Ian

We're we're gonna be here a while. Yeah.

1:43:10

Caleb

Yeah. Back up.

1:43:11

Aaron

Let's back

1:43:12

Ian

up one second. Yeah. We got a lot

1:43:15

Aaron

So let me answer the first question as as a content creator, newly newly minted content creator,

1:43:23

Caleb

I don't As a influencer.

1:43:26

Aaron

Content creator, please. I don't like the profit share model as a content creator. So 100%. LinkedIn Learning does this. I think Egghead does this.

1:43:38

Caleb

Their profit share models suck. Their minds would make you rich.

1:43:42

Ian

Okay. If you

1:43:42

Aaron

make me rich, I'm happy. I think so LinkedIn Learning approached me about a course, and we talked money and it was like, oh, this is this sucks. And I think egghead pays off of percentage watch. Like, they do a giant pool, and then they pay off of percentage watch. The problem sucks.

1:44:01

Caleb

LinkedIn Learning sucks. Linda sucks.

1:44:04

Aaron

Yes. They

1:44:04

Caleb

all suck. They all suck. You know who doesn't suck? Massive generalist.

1:44:08

Aaron

You know who doesn't suck is Lyricast.

1:44:11

Caleb

Lyricast doesn't suck.

1:44:12

Aaron

And Lyricast pays you it pays you upfront a chunk. And you know what? I wonder if if if, Jeffrey made 10 times as much money off of my course as he paid me. I don't care. I'm still happy.

1:44:26

Caleb

That is my feeling as well when I work for Jeffrey.

1:44:29

Aaron

Super happy. There's your answer. Money.

1:44:31

Ian

Yeah. Answered. And I don't want I don't wanna

1:44:34

Aaron

I don't wanna be running numbers and be, like,

1:44:36

Ian

oh, wow. Okay. Well, he told me You don't wanna be in business together. Year's

1:44:39

Caleb

month yeah. I don't want risk.

1:44:40

Aaron

I want you to pay me money. I'm gonna go out and get a McFlurry with all my new money. You're happy. I'm happy. Everybody's happy.

1:44:46

That's 100%

1:44:47

Caleb

that's going on. Problem with this answer is that I have to change something fundamentally about my business brain. I am a garbage businessman and this is one of the reasons I am, like, I would much rather partner with you and you get a long term revenue stream than pay you upfront less than you'll make in general.

1:45:05

Ian

People don't want that. Mostly technical podcast. You know

1:45:08

Caleb

what I'm saying, though? It's like it's like when I partner with Jason on anything, it's like, here, you just get this amount. I'm not out any money upfront. And then when I win, you win.

1:45:19

Ian

Yeah.

1:45:19

Caleb

And now you just keep doing work for me for free because you get a bunch of money anyway.

1:45:23

Ian

Don't like any sides of it. No sides of it.

1:45:26

Caleb

I told you I'm a bad guy because of this. And you're wrong. But, yes, I told you.

1:45:30

Ian

Well, here's the thing. Because like what Aaron says, most people I just think people don't wanna be in business with you. From your percent mindset, you are giving them something. But from their mindset, it's a lot of risk to take on. Right?

1:45:43

So, like True. I kinda just somebody approached me the

1:45:46

Caleb

components idea. I was like, they like to have the confidence I have. I'm like, what are you talking about?

1:45:51

Aaron

You're you're the components, man. Is a different idea.

1:45:53

Caleb

This is a no brainer.

1:45:55

Ian

Well, I actually don't think the component is different at all. So I don't think so. But on other videos, like so we could disagree there in a second. But on the videos because here's the other thing. So from their perspective, they just want a big chunk of money right now,

1:46:08

Caleb

which

1:46:08

Ian

is you don't love that because it's costing you a big chunk of money right now, but you're going to probably be able to make that money back if they do a good job with it. Or in our newer model we've been talking about, it's probably not even gonna happen for months months down the line here, in which case you already have subscription

1:46:30

Caleb

Like, that would be serious.

1:46:32

Ian

What they pay because you're not getting as much value as

1:46:36

Caleb

he pays. When I pay you guys. Yeah.

1:46:38

Ian

But the other side

1:46:39

Caleb

a strong case for me doing a course for

1:46:41

Ian

you, buddy. The other side of it though is for you, you gotta be very careful. And there's also true of the components of what you own. If you wanna make this a business that you run for a long time, what who owns what is extremely important, and the things that are tied in with that is critically important. And if you have a bunch of stuff, but it's not clean, it's like, well, this thing has this tied to this person.

1:47:10

This other thing is tied to this other person, but now I wanna offer this bundle thing. And how the hell do I do that

1:47:16

Caleb

is true.

1:47:17

Ian

Like or somebody wants to buy something from me someday and start some other thing. Or I wanna partner with somebody as a true partnership, not this, like, one off thing. I wanna start a true partnership for this other video site, and I wanna use all the content I have, but now I can't because Aaron owns

1:47:30

Caleb

a little piece.

1:47:30

Aaron

People are gonna feel screwed.

1:47:32

Ian

A little piece and, like, maybe I just legally can't even use their content. What you know what I mean? Like, there's a lot there that I feel like is a huge negative when it's so much cleaner to just be like, here's money.

1:47:42

Caleb

Make it clean. I own everything. Exactly. Here's money.

1:47:44

Aaron

If Jeffree sells lyricast to linda.com right now, what do I have to say? I got paid.

1:47:50

Ian

Right. You got paid. He owns your videos. The linda.com is not like, oh, what are all these contracts you have?

1:47:56

Aaron

These random 400 independent contract that

1:47:59

Caleb

we have to pay. Nope.

1:48:00

Ian

I own everything. It's all done. Blah blah blah. It's all clean. Super

1:48:04

Caleb

important. Clean, pay people money, Grow up.

1:48:06

Aaron

Yeah. Even express

1:48:08

Ian

how important it is. It's incredibly important. And along these lines, contracts, man. Gotta have contracts.

1:48:15

Caleb

Contracts.

1:48:15

Ian

Contracts. Did we sign that

1:48:17

Caleb

to Jeff RVP theory?

1:48:18

Ian

You must have. There's no way Jeffrey would do

1:48:20

Caleb

that contract. There's no contrast.

1:48:22

Ian

I don't

1:48:22

Aaron

think there's

1:48:22

Ian

any contract. Are you serious?

1:48:24

Caleb

Oh, yeah.

1:48:25

Ian

Sure. You didn't put a Jeffrey somewhere. No. I'm just shocked if you didn't have a contract.

1:48:30

Caleb

He'll just no.

1:48:31

Aaron

No. He, like, he re He telegrams me 4 times and then sent me doesn't

1:48:34

Ian

have a contract.

1:48:35

Aaron

A direct deposit. I feel like that was all

1:48:37

Ian

he had

1:48:37

Aaron

to have.

1:48:37

Caleb

He's the most low touch, you know, person with this kind of thing. Well, I

1:48:40

Ian

don't know. When lydia.com comes, they're like, do you own all this stuff? He's gonna be like, yes. And they're gonna say,

1:48:44

Aaron

show me, like,

1:48:45

Ian

good news.

1:48:45

Aaron

Who's lydia.com? There's no lydia.com?

1:48:48

Ian

Whatever that thing is. You gotta say, look at these.

1:48:51

Caleb

Look at these. I already pictured, like, Lydia herself.

1:48:54

Ian

Look at these.

1:48:54

Caleb

She's, like, yellow.

1:48:55

Ian

Look at these telegrams I got from Aaron Francis from 7 years ago. This is this is how I know I own it. I don't know.

1:49:02

Caleb

That's so funny. I mean, it's funny. In his case and and in my I mean, this is because I'm a bad business person to be like, oh, just it's just Aaron. I'll just be like Yeah.

1:49:09

Aaron

I'll just telegrams. Aaron. Just Yeah.

1:49:11

Ian

Aaron. Can you

1:49:12

Aaron

tell him It's

1:49:13

Caleb

bad enough. That I own them.

1:49:14

Ian

It's probably enough for this type of thing, because it is

1:49:17

Caleb

in

1:49:17

Ian

writing ultimately that, like, hey. I said I

1:49:19

Caleb

smell you. There should be, like, something that says, like,

1:49:21

Aaron

a one pager.

1:49:22

Caleb

I own this. No. I own this.

1:49:24

Ian

That's just, like, keeps it all everybody's it's just even good for, like, you're reading something formal. You agree to do this thing. Everybody's on the same page. Like Where would we

1:49:34

Caleb

do without you, Ian?

1:49:35

Ian

I don't know. A business dad. Yeah. The business dad of the Laravel community. Like, I mean, there's somebody else that, there's multiple people I've had to talk to about this where I try to buy their commercial components and they don't have any there's no license.

1:49:49

Imagine that.

1:49:50

Aaron

Not a thing. Buy Not a thing.

1:49:52

Ian

A software without a license. Like, it's it's horrible. It's terrible. Like, I can't use this in my product if there's no license because

1:50:00

Aaron

Ian has only grown up in the Laravel

1:50:02

Caleb

community. I know. What if you

1:50:05

Ian

because, like, listen. What if you tell me later or you try to claim later that it's GPL? Well, now my whole application is completely open source because that's how GPL works.

1:50:13

Aaron

Yeah.

1:50:13

Caleb

Kinda sneaky.

1:50:14

Ian

Yeah. Like, you can't I need a license. Like, I have to have a license if I use the software.

1:50:19

Caleb

So I like visualization of the legal world and everything, it's like, but it's not right.

1:50:23

Ian

Yeah. But it's not.

1:50:25

Aaron

A little bit of a little

1:50:26

Ian

bit of hate.

1:50:26

Caleb

Don't we all know this?

1:50:28

Ian

Like, is it

1:50:28

Aaron

A little bit of an elbow nudge. Hey, come on. Hey, we're good. Right? Hey.

1:50:31

Ian

Well, it's all good. Alright.

1:50:32

Aaron

I got 5 minutes. I wanna tell you my I wanna tell you my Livewire components thing, and then you guys can you guys can keep talking. I think Livewire components is totally different.

1:50:41

Ian

Okay.

1:50:42

Aaron

It's totally different than the screencasting thing. So screencasting, I say, if you ever have a content creator, you pay them upfront and go about your separate ways. And you pay Sure. Upfront after delivery because screencasters never finish anything. So I think Livewire components feels like I don't know.

1:51:03

It feels as separate to me as Alpine components. Like, you wouldn't roll in Alpine components into, you know, Livewire pro screencasting tier or whatever.

1:51:14

Caleb

Maybe I would. I don't know.

1:51:15

Aaron

Oh, maybe you would. Okay.

1:51:16

Ian

Well, that's a They have done that with that premise. Well, the Livewire Partners program is that. It's like you kinda get all the other stuff along with the support. Yeah. I agree

1:51:25

Caleb

with this.

1:51:25

Ian

You know? I don't know. I mean, that's what

1:51:26

Aaron

we can do. I'm just gonna power through it. Okay.

1:51:28

Caleb

Yeah. Power through it. Power through it.

1:51:30

Aaron

What else? What else could we say? It's kinda like refactoring UI and Tailwind UI. Like, they feel fundamentally separate to me. And I think you could because I think part of the thing is you could sell the LiveWire components to people who never ever ever wanna watch screencasts.

1:51:47

Right? And so, like, bundling those things economically doesn't make a ton of sense to me.

1:51:51

Caleb

And To me, it's tailwind UI and tailwind it's tailwind UI, the whatever things, and then it's his application examples, or it's catalyst that he's gonna roll in there as well.

1:52:00

Aaron

Yeah. That'll be interesting to see

1:52:01

Caleb

what they do there. Because you're a Tailwind user, I'm gonna want catalyst. I'm gonna want UI. And if you're a LiveWire power user, you're gonna want the screencast. You're gonna want some new audience.

1:52:09

I think

1:52:09

Aaron

you need to pay for them. I don't know. I wouldn't put them in the same businessman

1:52:13

Caleb

kill being, like I would put them in a fully

1:52:15

Aaron

separate room. For this

1:52:16

Caleb

other thing, like, you're gonna have to pay for another thing. You're paying for content.

1:52:19

Aaron

You're paying for education. You're paying for entertainment, and then you're paying for software. And I think you you sell them separately because the people that pay you $14 a month may also turn around and have their companies pay you $399 for, you know, LiveWire components.

1:52:36

Caleb

Yeah.

1:52:36

Ian

And And, like, you're

1:52:37

Caleb

gonna give those away for $14. Different business. It's a different business. Business all different in every way.

1:52:43

Ian

Gets weird. Like, even with your the way the current support stuff is now. Right? It's like, well, it's $500 a month, but I get this thing that costs, you know, $20. Like, what That's just weird.

1:52:53

Like, I don't know. Like, the free 20 is it there's weird messaging. Like, just if I'm buying support, I'm paying for support. Or if I'm buying for the, you know, the components for $99, I'm buying components for $99 one time or whatever. Like, just throwing them in.

1:53:06

There is that tendency to wanna throw stuff in to, like, add value, but I actually think it, like, makes the messaging harder. There's much you could do.

1:53:13

Aaron

Yeah. You could. If you want to to pair these economically, you could have the LiveWire components have a tier that includes a year of screen casts or whatever.

1:53:23

Caleb

Okay. Like, you could work that you could discount

1:53:26

Ian

like that.

1:53:27

Caleb

Yeah. Yeah.

1:53:27

Ian

Some kind of discount or something.

1:53:29

Caleb

Throw some coupon codes at this.

1:53:30

Aaron

And throw some coupon codes to your current

1:53:32

Ian

codes that you got the full way to go.

1:53:34

Aaron

People, but don't I would not say, oh, if you're a screen cast subscriber for $14 a month, you get this giant package of LiveWire components

1:53:42

Caleb

for free now.

1:53:43

Ian

The other thing about these live wire I mean, we could do a while here on Livewire components, but I think that say I think the same thing applies as the videos. I think you have to be super careful about partnering. I don't like the idea of partnering, to be honest with you. No.

1:53:56

Aaron

I I like the idea

1:53:57

Ian

of partnering with that. I like that idea. I don't know. I mean, there's one thing to become, like

1:54:03

Caleb

I won't even sign

1:54:04

Ian

a contract.

1:54:04

Aaron

Just partner with me. Yeah.

1:54:06

Ian

I think, like, if you wanna start a business that's these components, it gets its own legal literal partner and you're 5050 in making this thing work or whatever the percentage. Right? But I think just having somebody who's hired, who's, like, getting a percentage of revenue, I don't know, man. I don't I don't like it. I like it.

1:54:22

Aaron

I won't do 50. Well, we all do 6040, but I get the I get the 60.

1:54:26

Caleb

What we need to do is sign Aaron right now, 6040. No. What we need to do is, have another podcast on components in 6 months.

1:54:37

Aaron

I think that's right.

1:54:39

Caleb

I think

1:54:39

Ian

I think Livewire components

1:54:41

Aaron

is is pretty meaty.

1:54:42

Caleb

I I I have 1 because we didn't even solve the support problem.

1:54:45

Aaron

We didn't even talk about the support problem. Yeah.

1:54:47

Caleb

About why we're here.

1:54:48

Aaron

And if in outer space, you drop a megaton, and it's like, oh, I got LiveWire Pro components.

1:54:54

Ian

Before before 6 months from now, I have to throw out one thing about the components. Maybe we'll have to do another show here on the support. But, like I gotta go. Listen.

1:55:01

Caleb

Aaron, get who

1:55:02

Aaron

are you going to give me his number?

1:55:04

Caleb

Tell him.

1:55:04

Ian

Aaron. If you if you go, I could just ask him and you could I gotta ask him this one thing while we're here.

1:55:09

Aaron

You can ask him one thing.

1:55:10

Ian

One thing. Do you think there's a world where it makes sense that the components are are LiveWire and Vue component or React and Vue components. The the JavaScript part of them are existing open source library components.

1:55:28

Caleb

Why would you say that?

1:55:29

Aaron

Can of worms. I gotta go.

1:55:30

Caleb

I'll listen I'll listen I'll listen later. You wanna talk

1:55:33

Ian

about this?

1:55:33

Caleb

I'm I'm incredulous. Yeah. Seriously.

1:55:37

Ian

Because there's there's so many people on those. There's so many people. Leave.

1:55:41

Aaron

Keep recording. Oh, true.

1:55:42

Ian

Wrap it up.

1:55:44

Aaron

No. Y'all keep talking. I'm gonna hit leave.

1:55:46

Ian

Oh. Just

1:55:47

Aaron

go sideways.

1:55:48

Caleb

I don't know. Okay. Bye. Bye. So what you're saying, Ian

1:55:53

Ian

Yeah.

1:55:54

Caleb

Is Chet how how do you pronounce shade CDN or

1:55:56

Ian

Shad c n? Or whatever.

1:55:57

Caleb

Shad c n?

1:55:58

Ian

That's actually just a wrapper on top of, like, radix components.

1:56:02

Caleb

Okay. So you got radix, you got shad c n, you got ARIA or React ARIA, and then the thing they're building on top of React ARIA.

1:56:09

Ian

There's all the big brains in the React space.

1:56:11

Caleb

There's all the big brains. There's headless UI.

1:56:13

Ian

Right. There's headless UI. There's all kinds of stuff.

1:56:15

Caleb

All of these incredibly good component libraries that don't exist in other ecosystems. Right. And so what you're proposing is I create something that builds on that Right. By creating some adapter.

1:56:30

Ian

Right.

1:56:31

Caleb

And maybe you're using it, and you might not even know or see that you're using a React component.

1:56:37

Ian

Right. That's exactly what I'm saying.

1:56:39

Caleb

And then if you need to, you can tweak the React component if you're willing to bundle Vite and stuff. You know?

1:56:47

Ian

Right. You could do that. Yeah. Potentially, there's some way that you can get at the lower level stuff if you need to. Right?

1:56:53

Or whatever.

1:56:54

Caleb

Like with that is styling, you know, where, like, what what What kind of style of stuff? Catalyst is what I wanna do, which is, like, you publish the stubs so that I don't have to maintain, like, a version of this, you know, and you can tweak your styling.

1:57:07

Ian

Right. Like, the style whatever. You somehow have some way to set the classes or whatnot. Like, it ships with a nice default set, but you can, of course, adjust that in whatever way that, like, mechanism that has to happen in. But I guess to me, like, here's the thing.

1:57:19

Like, you're gonna partner with somebody. Right? Whatever. Yep. No matter how gifted a person you find to help you with this, like, you're not going to produce better components than Radix in terms of, like, all the functionality because they

1:57:34

Caleb

just Battle tested.

1:57:35

Ian

Hundreds of people working on it. Right? Percent. So that is the thing. And the and the problems with

1:57:40

Caleb

the are going to be

1:57:41

Ian

immense of the, like, weirdo JavaScript stuff that doesn't work in the weirdo browser and no thing. And it's like a lifetime of bugs and stuff for you to fix and deal with versus just like

1:57:52

Caleb

Yeah.

1:57:53

Ian

I don't care about who built the JavaScript end of this component. I only care about paying you for the way I can use this stuff super nice in LiveWire. And so I think there is just something where where you can outsource the hardest part of this, in terms of like making a combo box that's super amazingly awesome or making a calendar. I mean, making a calendar, dude, that's gonna take you

1:58:16

Caleb

Yeah.

1:58:16

Ian

That's, like, a year right there.

1:58:18

Caleb

The rest of them, I already spent the year building, you know, like the Alpine UI that's like a parody with headless UI. I have that. So there's a part of it that's like

1:58:27

Ian

But even there down the road. It's not it's not all the way to what the Radix ones are in in

1:58:32

Caleb

A 100%. You guys, actually, this week, have a pile of combo box bugs because it's the most complicated piece of software I've ever written.

1:58:39

Ian

Demo. I'm like, oh, man. They still haven't totally nailed this. Like

1:58:42

Caleb

Yeah. It's, like, nearly impossible.

1:58:44

Ian

And it's, like and free to ship enough components to make it be like, listen. This is, like, $200 or $500. Whatever the amount. Who knows? Let's not get that.

1:58:53

But, like, I don't know. It's a huge a tremendous amount of work, and I don't know. I'd just rather you building the LiveWire parts of it is so valuable and ease and then, like, outsourcing the part that literally 20 other groups have already solved

1:59:07

Caleb

Right.

1:59:07

Ian

Rather than you reinventing that. I just feel like

1:59:10

Caleb

I mean, it's very interesting, and the technology to crack it wouldn't be that hard. I think the really hard part is, like, if you have, let's say, the like, a modal component. This is the hard part, Ian. Here we go.

1:59:24

Ian

Give it to me.

1:59:26

Caleb

The dialogue component, React, ARIA, wherever I get it from Right. It handles focus trapping and scroll locking and all that stuff.

1:59:33

Ian

Right.

1:59:35

Caleb

With a calendar, it doesn't matter. All you care about is you include the calendar thing, and you bind some data to it. With a dialogue, you need to decide what goes in the content of that dialogue. Mhmm. And if you're using Livewire, you probably want it to be you definitely want to be Livewire related Right.

1:59:50

And you probably wanna use blade to make it dynamic in the Livewire ways.

1:59:53

Ian

Mhmm.

1:59:54

Caleb

So before, if this is just a calendar picker, it's like, no problem. I can black box this react bit entirely Mhmm. And then just do the linkage of the data Right. And now we're good. Yep.

2:00:04

In the case of a dialogue Do you? So here's actually a way I could do it, but there's okay. I could make custom web elements. You're familiar with these?

2:00:20

Ian

No. Okay.

2:00:21

Caleb

Have you ever heard of LitElement or something?

2:00:23

Ian

No. This this is,

2:00:24

Caleb

this is good that you don't know this, and hopefully, I can explain it briefly enough. But you React and Vue Okay. Both, I think, support this first party.

2:00:34

Ian

Okay.

2:00:34

Caleb

So, normally, you have a React component, which is, you know, JSX compiles to a bunch of JavaScript.

2:00:39

Ian

Mhmm.

2:00:39

Caleb

You assign it like a mount target on your page. It mounts React, and now it owns that part of your app. It owns it. Right. So that's pretty hard to slot inside of and everything.

2:00:48

Ian

Right.

2:00:49

Caleb

You can bundle Vue and React components as web elements.

2:00:52

Ian

Okay.

2:00:52

Caleb

It's an API supported in browsers so that you would just include, like, the CDN in your script tag. Mhmm. And then you literally forget about live or forget about anything. You could just have an HTML file. Mhmm.

2:01:04

You're not doing react.mount. You're not doing any of that.

2:01:06

Ian

Okay.

2:01:07

Caleb

You literally write an an HTML element that you've named in your in your library. So

2:01:13

Aaron

Yes. Literally, like, open here, and

2:01:14

Caleb

it's like

2:01:15

Ian

Give me this.

2:01:15

Caleb

It's like yeah. It's like Ian's favorite component Right. And now the browser, because it knows custom web elements, goes, oh, I have a registration for that custom web element. Now I'm gonna mount that on the page.

2:01:27

Ian

Okay.

2:01:28

Caleb

It supports slots, so you can slot content inside of it. So problem solved there. But here's what it doesn't support. It's it's a shadow DOM by default. Okay.

2:01:38

Familiar with shadow DOM? I mean,

2:01:40

Ian

I've heard the term. I know Okay. Roughly what it's doing, but I'm not Yes. An expert.

2:01:43

Caleb

No. So what that does by default,

2:01:45

Ian

when you

2:01:46

Caleb

use Shadow DOM, that element if you look in your Chrome Dev Tools Mhmm. You'll just see that element even though underneath it is a whole React component with its own markup.

2:01:53

Ian

Right.

2:01:54

Caleb

It's considered Shadow DOM.

2:01:55

Ian

Okay.

2:01:56

Caleb

It's a it's totally a black box. Mhmm. So in your dev tools, you have to, like, right click if you're, like, open the Shadow DOM to see it. Mhmm. It's great because it encapsulates all of React, and it's great.

2:02:05

Right. But you don't it doesn't inherent styles at all.

2:02:10

Ian

Okay. So if you wanna This is the beast.

2:02:11

Caleb

You have to bundle all the styles with that web element Mhmm. Which this could be a good thing, because you could have things that are styled well, and then their slots inherent inherit your normal app styling. But if you want somebody to use their own tail and their own app to customize the border radius Right.

2:02:31

Ian

Of their

2:02:31

Caleb

Which you probably want.

2:02:32

Ian

Dialogue. It doesn't

2:02:33

Caleb

do that. I either have to do some TechFu Mhmm. Or use Light DOM. You can make custom elements Light DOM, which just means they go from being that element to actually having the real DOM in the page.

2:02:43

Ian

And

2:02:43

Caleb

now we're back to the problem of, like, well, React is on this, and now LiveWire is on the middle of it.

2:02:49

Ian

Right.

2:02:49

Caleb

So if I can use custom WebElements to hide all of the React Mhmm. This could work with some tech fu.

2:02:58

Ian

Mhmm.

2:02:59

Caleb

This could work, and then the slots could just be Livewire, and Livewire does its Livewire thing.

2:03:04

Ian

Mhmm.

2:03:05

Caleb

The only problem I still see is, like, let's say, here's a scenario. You have a React. I don't know if you wanted this, like, tech problems.

2:03:11

Ian

Let's do it. We're we're going

2:03:12

Caleb

over here. Session.

2:03:13

Ian

Sure. Let's go

2:03:14

Caleb

for it. Have a, like, a dialogue that I hide all the stuff, you just use it as, like, x hyphen dialogue. Right. And then you put stuff in the content. Now you wanna close.

2:03:23

You want a bespoke button in here that closes the dialogue or in tabs, goes to the next tab, whatever.

2:03:28

Ian

Right.

2:03:29

Caleb

In React, this is fine. It's a it's like a render prop or like a scope slot in view. You know? So it's like in view, you just say, like, x scope. You get a little explode a little thing called close, and now you can just call close in your own view.

2:03:41

And this that stuff lives in React. You wanna you want to close that dialogue from your LiveWire HTML. How do I provide you with that? Like

2:03:54

Ian

There's no way to be there. Or events or something. Or

2:03:58

Caleb

Yeah. It might be events, which definitely feels kinda dirty,

2:04:03

Aaron

but I

2:04:03

Caleb

guess if it's well documented and if it's, like, as clean as it could be, maybe that's okay. But there might have to be, like I that's maybe the only I had a bunch of questions before we started this conversation, and now I think it's down to, like, a couple of, like honestly, I should just explore it and just see exploring.

2:04:20

Ian

I feel like I don't know. I definitely am not the guy about the,

2:04:23

Caleb

like, all the tech food required to connect these

2:04:23

Ian

things and what everything's doing with the shadow DOM. Definitely not my all these mega brains have done and for

2:04:36

Caleb

be so smart.

2:04:37

Ian

The value add of what you're doing is not that. Like, you building a combo box is not the Caleb Alu value add that I wanna pay for. I wanna pay for you giving me the magical experience in LiveWire, and that feels like your time spent on the that and connecting things is much more valuable than you in the weeds of Firefox,

2:05:01

Caleb

filling the

2:05:01

Ian

7, having

2:05:03

Aaron

to

2:05:03

Ian

figure out why this thing's not appearing in the correct position or you know what I mean? Like, that stuff

2:05:07

Caleb

is so cool. Job of, like, 100 of developers. Right.

2:05:10

Ian

Yeah. Like and, obviously, you can do it and it'd probably be okay. Right? And, like, 2 years from now, you'd have something reasonable ish. But then, you know, the things always change, and something's gonna change.

2:05:21

You gotta fix it all and whatever. And I just feel like

2:05:23

Caleb

Yeah.

2:05:23

Ian

I just don't know if that's, like, the best value add for you. I just feel like there's other places that you add so much value that it's not in there. Yeah. And then yeah. And again, like, if you just and then the other way is also very brittle to me.

2:05:36

It's like if you you get a partner and they're gonna do that stuff. Well, like, you know how these things go. Right? Partner flakes out and disappears. Partner goes and gets a job.

2:05:45

Partner go whatever. Now, like, you have a half built thing. That's like, you don't wanna be in there finishing this half built thing, and you're like, I'll find somebody else and, like, you know, I I don't know. It's it's very complicated that way.

2:05:57

Caleb

This change makes everything a 1000 times more doable.

2:06:02

Ian

That's what I'm saying.

2:06:03

Caleb

That's what I feel like. 1,000 times. Yeah. That's what I feel If it

2:06:06

Ian

can be done. Like, listen. Obviously, maybe

2:06:08

Caleb

it just

2:06:08

Ian

can't be done. Right? And if it just can't be done, so be it. But

2:06:12

Aaron

Yeah. I mean, even, like,

2:06:13

Ian

the things, like I don't know. Like, there's, like, the extreme case of, like, making it all work in a dialogue, which is, like, the most complicated scenario, but maybe it just works on pages and not in dialogues or whatever. I don't know if there's anything even different there, but it's it's true. Like, the

2:06:26

Aaron

Or maybe

2:06:26

Caleb

I just use my own dial like, build the dial. I already have those things built.

2:06:30

Ian

Right.

2:06:30

Caleb

Right. I'm just

2:06:31

Aaron

trying to figure out

2:06:32

Caleb

if there's, like, way more complex things.

2:06:34

Ian

So that's what Shad cn does. Like, it's not it doesn't they have any of their own components. It's mostly Radix, but some of it is the ARIUS, the the Adobe stuff. And then, like They just

2:06:43

Caleb

do what they gotta do.

2:06:44

Ian

Right. Like, they do what they gotta do, and I could totally see you doing that. Yeah. Like, some stuff's your stuff, and some stuff's their stuff, and whatever. It's just match.

2:06:50

That's a

2:06:50

Caleb

that's a lot of problems. Yeah. And then if it if the main if what I sell to you is blade components with well documented APIs Yep. What's inside of them, you might have to publish some stubs so that I'm not on the hook for versions, NPM update, or whatever.

2:07:07

Ian

Yeah. That's the way to do it for sure.

2:07:09

Caleb

Yeah. So you publish your stubs, whatever. Yeah. I handle but, like, that that almost is like a gray box. Like

2:07:14

Ian

Right.

2:07:14

Caleb

You don't need to touch it.

2:07:15

Ian

You should definitely go in there.

2:07:16

Caleb

Change some tailwind classes.

2:07:18

Ian

Right.

2:07:18

Caleb

But don't you know, the average users, I'm not expecting to go in there and freaking, like, compile the React and mess with stuff. Right. So if I'm shipping you, like, you go to this page, you find the component you want, you like the design, you like the interactivity, like, this is the one, tons of variations, and then you publish it in your app, and now you have a blade component that has a full documentation for, like, oh, I want this to be open by default. I pass in an open prop. Right.

2:07:41

You don't have to go in and do stuff. Yep. Then, yeah, then it feels, again, like a gray box that I could use different tools inside of. You're not really expected to have to know how to maintain it. Yep.

2:07:52

90% of people aren't gonna wanna even touch them.

2:07:55

Ian

Right.

2:07:56

Caleb

I

2:07:56

Ian

mean, all these things to me are for those people. Right? The people who are willing to pay money for this are the people who don't want to go and do React and figure it all out at the lowest level. They're like, whatever. I have a business.

2:08:07

I have a product. I just wanna add some functionality to it. Or I wanna start from a fresh project with LiveWire, and I just wanna drop this in and be day 1. Boom. I'm so productive.

2:08:18

I have everything I need. I want it to be I mean, to me, that's the premise of LiveWire. Right? Which is why you wanna do components, but it's like, it's so gives you that reactive interface and all that niceness, but without all the heavy lifting. And Right.

2:08:32

So obviously first party components would be amazing on that because you still end up, well, I gotta do an input and I gotta, like, copy and paste stuff from somewhere to get the basic input. But now I gotta

2:08:42

Caleb

do the code and make

2:08:43

Ian

it reactive. And then, like, an input's fine. Doesn't take you that long. But then, yes, you want a combo box. You want all the other modern things that you see linear has or that you see, you know, GitHub does or what whatever you're looking up to.

2:08:54

Right? And you're like, oh, they have all these fancy interactions. How do I have the fancy interactions?

2:08:58

Caleb

Right.

2:08:59

Ian

And it's hard.

2:09:01

Caleb

Question for you, Ian. Mhmm. This is okay. You've used inertia. Right?

2:09:06

Ian

Inertia and React?

2:09:08

Caleb

Yeah. Mhmm. Let's say that in your inertia component or your inertia class, you know, your controller or whatever Mhmm. You know, where you return okay. Let's say this.

2:09:19

You have a LiveWire component Right. And you have a render method.

2:09:22

Ian

K.

2:09:23

Caleb

When you're in a render method, you return a blade view.

2:09:25

Ian

Yes.

2:09:26

Caleb

Let's say you return what you would return from an inertia controller. You return an inertia colon colon render.

2:09:32

Ian

Right.

2:09:33

Caleb

Okay?

2:09:33

Ian

Okay.

2:09:34

Caleb

And then that has a React component.

2:09:36

Ian

Okay. Right.

2:09:37

Caleb

And in that React component, you can import dollar sign wire from LiveWire. Mhmm. And now you're just in React doing your entire inertia React setup except for your forms, for your server communication. You could just be like, you know, v model dollar sign wiredot title. And then it's now it's bound to LiveWire.

2:09:57

And then when you wanna save that, you're, like, dollar sign wire dot save. And if you're using React, you do whatever you want. It's just dollar sign. It's like Whatever

2:10:05

Ian

you put on whatever button you want, and it Yeah.

2:10:07

Caleb

Why Livewire. Title equals use Livewire or something.

2:10:10

Ian

Right.

2:10:12

Caleb

Is that a because now you have now you just use ShadCN.

2:10:15

Ian

So you just use whatever

2:10:16

Caleb

you want. Use Radix.

2:10:17

Ian

Right.

2:10:17

Caleb

You use Tailwind. Mhmm. Use whatever you want.

2:10:20

Ian

Yep.

2:10:21

Caleb

Is that is that the ideal world for someone for you in your circumstance, or would you still rather have all the nice and easiness of LiveWire and just black box the complex UI widgets?

2:10:35

Ian

Well, I think that I I have two answers to that. So I've already been messing with semi successfully getting live wire and react to talk, but it is ugly. I don't like it because I don't know all the good stuff you know, and I wouldn't know how to do it properly. And it's just, like, events fun.

2:10:47

Caleb

And this is why you were in a live war

2:10:48

Ian

event. Exactly. So, so I definitely think there is a world of like here is an adapter of some sort that does some magic. If you're comfortable dropping React in and having React components and then wiring things together with however this works, then that that is there and works and is good. But I mean, I would certainly prefer to just have Livewire components that you Yeah.

2:11:19

They're your vision, that they are super seamless.

2:11:22

Caleb

You stay in a one holistic

2:11:24

Ian

I'm basically staying in Blade, Livewire land. Yeah. And I'm just passing data in with props and whatever I have to do is fine. Like, that that is definitely the ideal. Yeah.

2:11:34

And I think but I I think the other option is viable. They're kind of, like, 2 different things almost. Because there's still gonna be a lot of people who are like, ah, I don't wanna, like, learn React and load up React and, like, do all that stuff. Like, I just wanna stay in LiveWire land. So, yeah, I think almost both could even exist potentially, but, but, yeah, I I think, ultimately, I would prefer the components for sure.

2:11:59

Caleb

Alright. Yeah. Alright. Good. I mean, that answers the question.

2:12:02

Okay. So we've solved everything except support, and maybe that's another another podcast.

2:12:09

Ian

We have to come back for that one?

2:12:10

Caleb

But we got the business. We got components. I got a hack session on on React and making web elements and seeing how that works as well.

2:12:19

Ian

You never know. Stuff's always changing too. Like, maybe there's new new stuff in there that's awesome and good. True. True.

2:12:28

Alright, man. Well, I guess, well, I guess we'll wrap it up here then since we've kind of gotten Since we

2:12:32

Aaron

kicked Aaron off.

2:12:33

Ian

Before Aaron, he's not even on the podcast anymore. We we we've abandoned him. Well, thank you, Aaron, for letting us, continue and being okay with us wrapping it up. I think we made some good progress. Yeah.

2:12:45

Thanks, Caleb, for coming on. This is super awesome. Our longest episode

2:12:49

Caleb

world today. Yeah.

2:12:50

Aaron

We solved the world.

2:12:51

Caleb

There's more worlds to solve, but this is, dude.

2:12:54

Ian

Look at this. Good. This is good. All the value we've produced for our listeners

2:12:59

Caleb

today. Do you charge for this? I always charge for this.

2:13:02

Ian

We should charge for this. Alright, everybody. Thank you so much. Follow us on, you know, Twitter, mostly tech pod, mostly technical dot com. Email us, mostly technical podcast at gmail with feedback.

2:13:13

I'm sure you have some feedback on this episode. There's a lot in here. So, let us know and thanks for listening and thanks on Aaron's behalf and talk to

2:13:22

Caleb

you Peace out.

2:13:23

Ian

Soon. Bye.

Details
Show
Mostly Technical
Date
Oct 31, 2023
Role
Host
All podcasts
Podcasts
Newsletter

Every week: the best things I've found and what I've been thinking about.