Hammerstone · Dec 15, 2021
<div>Talking through a few Vue changes, making a call on a Livewire frontend.</div>
Aaron
Okay. Here we are again, all 3 of us. Sean, welcome back. Did you you saw Colleen last week. Right?
Sean
Oh, yeah. Yeah. I was in the I was in her neighborhood, so we stopped by a coffee shop, did did a little bit of programming.
Aaron
And you came to the DFW airport, and you couldn't bring yourself to have, like, an 8 hour layover, So we could hang out?
Sean
Yeah. I was just, just waving as I went by.
Aaron
How was the how were the travels?
Sean
Yeah. So I, I was on the on the flight to Dallas. I was in the middle of I, like, I drank a whole bunch of coffee, and then I decided to get some water to stay hydrated. And then, of course, we hit really bad turbulence for the rest of the trip. So my my bladder was like like I mean, I I barely made it.
Like, I was in agony by the time we landed. And then I landed, and then, like, it was so bad. Like, I went to finally go, and it just, like
Aaron
No. I don't want it.
Sean
It was, like, nope. No. No. No. It was, like, nope.
Not you're still it's not coming. It's, like, it decided I had, like, whatever muscles are keeping that from happening, it just decided, are you sure? Are you sure it's time now? I'm, like, not really sure. Yeah.
So it was I went I went, like, 3 times at the airport because it's like at that much. Anyway, yep. So those The travels were good. Yeah.
Colleen
Yeah.
Sean
It went it went well.
Aaron
Well, welcome back. Not not really the story I expected,
Sean
I mean, I think the last time that happened to me was I was, like, 15, and it was, like, the first time I ever had alcohol. I was in Germany on, like, a a wine tasting tour. And I had, like, a whole bunch of different, you know, white wine or whatever. And then we got on the bus, And I didn't, you know, I didn't know that was a thing that could happen. And the bus had bathrooms, but there were no they were shut down.
And, like, I had to go so bad that actually I made the entire bus, the entire tour bus had to stop for me so that I could go so I could go. I was having I haven't thought of that memory in so long except for in Dallas. I was I was reminded of that. That's how bad it was.
Aaron
I'm glad you enjoyed Dallas. It's lovely to hear.
Colleen
Okay. What else is going on?
Aaron
I don't know. I don't know what the smooth transition from that is, but, There's not really. So the
Sean
we're working on just the final touches of getting the 2 things playing together. Right? So I just have Yeah. On my side, I need to fix the thing because you you I think I understand the full story now. What when it did happen was for the option condition, which is like this dropdown with the different choices that you could pick.
The, whether it's a multi select or not, we were sort of using hard coded clauses, which will make sense to people who end up using the product without the background. It's kinda hard to understand what that means. But, basically, we had sort of, like, hard coded some situations where you would end up with the multi select. Didn't make sense, needed added to the configuration, and that ended up causing a few changes to the API, which is no big deal. We just have to change the datas to make the test pass and then change some props.
So that way, we pass that stuff down everywhere. Yeah. So Taking But that's I
Aaron
think I think something that was, like, implicit, like, well, make it a multiple when it's one of these clauses and changing it to be explicit to say, make it a multiple when I tell you it's a multiple, like, back end's talking to front end. I feel like that's kind of the the high level of what we're doing.
Sean
Yeah. Like, if we're saying, hey. Choose one of these things in this list, keyword being in, then it's like, oh, yeah, that should be a multi select versus just a single select. Mhmm. But their words could change, the clause ID could change, so whatever, there's multitude of reasons to not have that hard coded like that.
But, oh, it seems to be going good, right, on your end?
Aaron
Yeah. It's going it's going great. I have been working frantically this past week just on so I'm working on on, basically, on two fronts. 1 is Keith had a a, like, a, maybe or 7 bullet points of things that he found either confusing or missing, which is like, awesome, super great, Very grateful that he wrote them all up. So I've been working on those things.
And then on the other front, I've been integrating Laravel with Vue. And so there's a whole set of there's a whole set of other things. It's like, well, this needs to actually be tweaked now that I'm using it, you know, as a developer would be using it with the front end. And so I've just been making tons and tons of changes. And, you know, since you were gone last week, I was just kinda, like, just, you know, donkey stomping all over the whole front end, just making changes willy nilly.
So sorry about that. But, now we're getting, you know, we're starting to get it integrated and I'm super pleased with how it's going, but it it has been a whole lot. I've probably got, I don't know, 30 commits to the Laravel 1 and maybe, I don't know, 8 or 10 to the Vue 1. But I'm feeling really good about it. I don't feel like there are any fundamental, like, fundamentally broken things.
Like, we haven't messed up any paradigms. It's just the last, like, little fiddly stuff that needs to be changed. So I'm feeling, I'm feeling really good about it. It's just a whole, it's been a whole lot this past week. But it's the kind of work that, like I don't know.
It's the kind of work that feels good, where you're not like it doesn't feel like a slog. Because every time I, you know, every time I change something like this, I see it on the screen working. It's not just like, you know, some other unit tests pass. It's like, oh, I can click these buttons and suddenly it's working again. So it's been a lot of work, but it hasn't been demoralizing like it has been in the past.
So
Sean
That's actually one of the things they're trying to get us to do at work for working on product like features, etcetera, is prioritizing getting things hooked up to a UI as fast as possible.
Colleen
Yeah. Yeah. That's smart.
Sean
Because of that feedback loop. Because even if you're gonna be doing a ton of work that's just API and that's, you know and in theory, you know, you should be writing tests and, like, that'll be what actually, you know, covers the the features to make sure that it's doing what you intended to do still for the human being that's actually writing it. It's been so much more helpful to actually see things running and then also seeing things running equals Like we have another rule where when you release a feature, you have to write a do a demo video. And the demo video, even if nobody sees it, every time, almost every time I find a bug or I find a thing where I'm like, that makes no sense. And just that process of actually interacting with it is super duper.
Aaron
Yeah. I like that. Prioritizing for time to UI is not something I've ever done, but I think that's a very smart concept. And for the demo video thing, I found the same thing, not with demo videos, but with writing the documentation. I'd be writing something, and I'd find myself explaining it, like, over explaining it because it was confusing.
And then just thinking, well, this is stupid. I just need to I just need to change the implementation, so it's not hard documentation to write. That's been extremely helpful for me.
Sean
Yeah. That sounds like kind of the same thing fundamentally, which is you have to describe it to somebody. Show somebody how it works. Do it through the docs. Do it through a demo video.
Either way, That for whatever reason, that going looking at the product through that lens shows more things than you were seeing before.
Aaron
Yeah. Big time. So did you get to work on piping all the stuff through last night? And I think the last thing you might have is packaging. Is that the last thing?
Sean
That's right. Yeah. So, no, I didn't get it done last night. I got the tests running and then started working on that and then just watched some Seinfeld and went a bit. And then
Aaron
Oh, nice. Same.
Sean
Yeah. It's on Netflix now. Yep. Beth and I are rewatching it. It's fun.
That show is hilarious.
Aaron
This show is hilarious. Cullen, do you watch it? I mean, I watched
Colleen
it, what, 15 years ago. I like the idea of rewatching it, though.
Aaron
It's still so good.
Sean
It's still hilarious.
Colleen
Still holds up.
Aaron
Still holds up. And now watching it while simultaneously watching the new curb your enthusiasm as they release. It's basically, I don't know if y'all watch curb, but it's basically Seinfeld, but a little bit darker. I mean, it's, it's, it's the exact same thing. Larry David is just twice as cynical as Seinfeld is.
And, man, it's fantastic.
Sean
Yeah. But you anyway, so Seinfeld aside. Yes. That's all I have left is to do the do the package. Well, the package is done.
Right? But it's just to it's just including this one. I'm still I haven't looked at it yet. That's still where I'm at. Yeah.
Because I just have the one library I have to figure out how to exclude. So I'll go back to that after I fix up your prop thing. That way, you can keep running with that, and then I'll come back to that. And this week is a little slower at work, so I should have some more energy in the evenings than normal. So I think I'll actually get a few more things done.
Aaron
Very cool. Well, welcome back. I don't think you were here last week, but I was telling Colleen basically the same thing about how pumped I am integrating this stuff and how, like, how good it feels. Like, we've we've got the thing, and I'm really very pleased with it.
Sean
Yeah. It's awesome. It's fun to be at that step. So and then also Dave is working on the React side, so that's progressing. It's looking awesome.
Dave and I think the same way about React stuff. So that's I noticed that
Aaron
in the in the chat the other day. You guys were totally on the same page.
Sean
Yeah. Right. Well, yeah. Because there was the Vue thing. Oh, yeah.
I can complain about Vue. So what we wanted to do was, so what we let you do is provide the name of your component in the when you're creating the filter. So if you don't provide it, tell me if this is right or wrong. I'm pretty sure if you don't provide it, we just load ours. If you do provide it, then like, say you wanted to have a custom date selector, you like your date selector widget better or whatever, you just write your own little component.
It's pretty straightforward. We have a render as component. You just build your own with use your own date picker. You can use ours as an example. You build it.
And then what we want to let you do is for you to just put the name of your component as a string in the filter on the back end, which is a common pattern in Laravel and like Nova lets you do this, etcetera. So then in order for me to load your component instead of mine, in React, the so the first thing I thought was, oh, we'll just pass it down as props. So you can provide your component as props, and it will just override whatever components we were gonna render. That's the first thing I thought of in React because, like the other way to do it would be to like share a global namespace, which in fact is what turns out you have to do in Vue. Like, because the Vue requires you to register the component.
You can't just dynamically load a component into a Vue component. That Vue component has to know about that component before it can use it. And so there's 2 ways to do that. You can do it in the component itself, which is what I do for our components, And then you can also do it globally. So the only choice is our users who have to register their component globally.
And then we we have now have to just prefix all of our component names with, like, refine because we're, basically, we're in the global namespace. We don't want, like, to define the text input component when you probably wanna name yours text input. Ours would not we would name it we named it text input or we named it data input, probably a common component name. We would not conflict with your namespace as it stands because we're importing it locally and using it there. But if we have to pull yours from the global namespace, which we do, we're effectively sharing that namespace with you.
So we have to namespace it. And I'm annoyed by that because that's irritating because, like, have all this that's why we have import statements and, like, let us, like, not have to share namespaces with people. But effectively, we have one global namespace with our particular library in Vue. But, Dave and I both had the same exact thought on how we would do it in React. And that's that's nice to know that we're easily on the same page with most of the stuff.
All this code I've seen so far is like check. Looks good. So Yeah. That's going great.
Aaron
Yeah. That was funny to me because I was I am not a React developer. Never have been. I'm very much a straight down the middle of you Laravel developer. And so I was like, hey.
Just register it, and it's available globally. And you guys were both like, what? So, yeah, that's, apparently a quirk. But, yeah, it's weird that we're not in the global name space, but you could never override ours unless we change the name. So you're right.
It's like, well, we're we're not polluting the name space, but you can't you can't win. We'll always win because we're the local import.
Sean
Yes. We are effectively sharing the global namespace. It's yes. It's it's a little bit it's annoying. It's not like ideal, but it's fine.
It's not it's really not a bad problem at all.
Aaron
I wonder if that's how Vue 3 is. I would imagine that's probably the same in Vue 3.
Sean
Seems like a pretty fundamental change.
Aaron
Yeah. That would be hard to
Sean
Although I was like maybe, maybe with the composition API, you could use a hook instead or something. Or I was like, but how would that, that's not a complete thought. I don't actually know how that would help us, but like sort of like, a, maybe that works differently. It lets you connect differently. I don't know.
But it's not anything that's worth solving. It's easy enough to just do it the way we're doing it. So.
Aaron
Yeah. Cool. Anything else on your side, Sean?
Sean
Nope. Nothing nothing about that.
Aaron
Colleen, what's going on with you?
Colleen
Let's see. Lots of You
Aaron
were burning the midnight oil last night, I think.
Colleen
Yeah. I just I was in it, so I just wanted to keep going. I mean, I've been in the front end for, like, 12 hours, and it's just I just wanna be done with the stimulus turbo stuff. So I changed it. So I've been working on the saved filter thing.
So what I've done is I've created a saved filter drop down, and it's nested within a criterion. So the safe filters are gonna be on a for now as, like, I as we discussed, like, just a proof of concept first step, the safe filters are gonna be in the blueprint per criterion, like the date like the refinements. So they're gonna sit in a criterion, like the refinement, and execute that way. Anyway, so
Aaron
The save the pointer to the saved filter or the entire blueprint?
Colleen
ID that no. I'm sorry. I'm not being very clear. So the so what what's gonna happen for now is a user can go to product, make a complete, fully fleshed out product filter. Then if they wanna go to contacts, they'll be able to add a save filter.
So if they wanna say, I want all contacts with that have email address, Colleen, and, you know, meet this product filter. Okay. That's a bad example. But
Aaron
And have purchased a product.
Sean
It's like a product called Lean's favorite
Colleen
Thank you.
Sean
Line's favorite things.
Colleen
Yeah. And have purchased a product filter. So the product filter is then gonna present as a drop down in that single line item. And then when it's sent back in the blueprint, it's going to be the ID of that particular product filter is gonna come back in the blueprint, and then the query will be executed as the query will be executed. So it's like it's a lot.
Aaron
That's incredible.
Colleen
It's gonna be great. And I feel like I'm so close, and I think I mentioned last night, I realized that I wasn't nesting because the way the input is coming in right now is the date refinement isn't nested in the
input, but my tests have it nested in the input. And you said that's what you have in view.
Mhmm. So And so I think it's gonna be really cool and it's coming together and I feel like I'm on the precipice of getting this all to work together. So yeah.
Aaron
Having those saved filters is incredibly powerful.
Colleen
Yeah. I think it's gonna be great. There's still I well, yeah. It's gonna be really cool. There's there's a lot going on here, but I think it's gonna be it's gonna be really great, And it's super close.
I don't know if I'll finish it this week. I'm hoping. But that might be a little ambitious. So it might need another week. But getting pretty close.
So I think that'll be really neat. Really fun.
Aaron
Cool. Nice work. Yeah. We don't have that. I have that, at work in the, you know, version 0, the original one, but we don't have that in Laravel.
So I wanna pair with you for a little bit and figure out how you're doing that.
Colleen
Yeah. Yeah. Totally. It should it should be really good. So cool.
That's what's up.
Aaron
Yeah. What else?
Colleen
I mean, that's it. It's a lot.
Taking up I mean, there's a couple things that I've, like, I've experienced. So what I think I'm gonna do is I'm going to for now, again, and I'm not really taking feedback, I'm gonna allow the developer.
Just feel like I should preface that with this. I'll take feedback next week. No feedback this week. Yes. Take
Aaron
my answer off the air.
Colleen
So for now, I'm gonna allow the developer to specify the the relationship path to the saved filter. And the reason I'm doing that is, at first, I thought this would be super cool if I could recursively, go through all of the relationships and find the path, But I'm finding that it's not as straightforward as I thought it would be. And so that might be a future improvement, but for now, they're gonna specify it. So they're gonna say, hey. If you're searching contacts, I want contacts to be able to also search all the product filters.
And then they would just just create the path. So that's, I think, the the most efficient and easy to understand way to use them. So I'm so close. I really wanna get it working. Like, it's like, oh, I feel like I No.
You're not. I
Aaron
know you're not taking feedback, but that seems great. Okay. That seems totally great to me.
Colleen
Okay. I'll take that feedback.
Aaron
Feedback is allowed. Yeah. That's one of my I steal that phrase. Now that is my phrase. I'm not taking feedback on this at the moment.
I will use that in the future.
Colleen
Oh, so it's really exciting because I feel like I'm really close. And, you know, this is the last piece, guys, like, for the client. I mean, there's a mill okay. This isn't the last piece. There's still tons of work.
There's gonna be a ton but this is the last hard in my opinion, this is Mhmm. Maybe the second to last, really, like, hard technical piece. And then it's just improve it and, you know, stuff like that.
Aaron
Integrate it. Yeah.
Colleen
Yeah. I I feel like this is the last really hard technical piece, and it feels like it's getting close. So that feels good. I mean, honestly, though, like, it's really good. I spent so much time building out that, saved filter drop down because I haven't had a whole lot of exposure to the front end.
Mhmm.
And now I feel much more comfortable with it. So, you know, I had to get there eventually, but it does it did feel like a slog. It goes like, what you know, when it's new, you're like, why is it this very even Sean and I were pairing, and, you know, I'm so much faster with Sean there to help me. But, like, just passing the variables around, it was like, why isn't this variable going where it's supposed to be? So That's
Sean
the that's the stupid Hotwire stuff.
Colleen
Yeah.
Sean
It's it's stimulus. Stimulus is like okay. Stimulus for, like, little one off tiny pieces of JavaScript logic that you need to throw in your app. It's great. This is, like, beyond where we should be using Stimulus.
However, I mean, it's cool because Rails people are gonna be able to just do this without adding dependencies, which is awesome. But, man, was it a stretch to do this with that tech? Like but anyway, you end up like, some of the dumb things about stimulus are like and this happens even when you're writing small things, but the larger the thing is, the more the stuff comes up. But it's like, you have to get the names of your, like like, a stimulus controller basically allows you to pass it params, some values, and you have to, like, match up the names of the controller, the names of the params, and the names of the params have to match up with the definition in the JavaScript file. So you're setting data attributes on the element, and you also have to set these names in the JavaScript file.
And that you have to get them, like, exactly exactly the same. And then it's confusing because in one hand, it says value. And on the other, you're not supposed to put value or there's just basically all kinds of little tiny gotchas. Once you get it all set up, then it's fine. But if you did what, like, Colleen and I did, which is kind of in the middle of her thought in the code, we were like adding some stuff.
And so we ended up with, like, she had used one word. I was using another word. And so we're writing code with the one word, and she's writing code with the other word. And it wasn't matching up. And then there's no clear when that happens, it's not, like, super obvious why.
Like, it's not it takes a little bit to figure out which piece is not lined up perfectly. It's like Rails is like that too a little bit. You're like, once you get the pieces lined up perfectly, then it just works and it's great. But
Aaron
Is this the whole convention thing? Like, if you just don't follow the convention exactly, you get off.
Sean
It's a little more wiring up in stimulus than I would call it convention, but also, yes. It's a little bit of that too. It's not bad. I'm not saying stimulus is bad. I really like it as a tool, but it's just there's few little quirks and things like that.
Aaron
You are saying Hotwire is bad, though. Right?
Sean
No. Definitely not. I really like it.
Aaron
Just not what we're doing.
Sean
Yeah. No. It's absolutely the wrong tool for this. I really like Hotwire. I really like that.
I'm glad that we have that as tool. Like, everything, all the the frames and turbo stuff and sockets like broadcasting for models and stimulus is a useful little tool. It plays really well with all those things. Yeah. It's great.
It's super useful and it's the wrong tool for this. It's funny. This is way too much way too much client side stuff. I mean, we've I've basically mimicked what I would do in, like, a React or Vue application in Hotwire. Like, we have I had to, like, basically figure out how to manage state and, like, kind of flow it through the whole thing with knowing that, like, I'm having to go back to the server to like rerender these template templates.
It's not it it would be like, it's a safe thing. We've had this conversation before on this podcast, but it's like, if you have the state in the front end, then it just doesn't make any sense to do Hotwire. But if it's, if you could keep it on the back end, it all makes a lot of sense. And in our case, we can't keep it in the back end. That's just not how this works.
It would have been, it would have been real weird to wire it up that way. So here we go. We just basically reimplemented
Colleen
how I
Sean
would have done this via the stimulus. Yeah. So the Colleen's gotta like understand how all that works. Yeah. It's a learning curve.
Aaron
Yeah. Should we talk about LiveWire?
Sean
Sure. Yeah. We can talk about that. So I think, yeah, it's cool. It'd be cool to have a Livewire front end.
I think we should not do it till we've set some number of licenses between us that we agree that we will have sold before we add a new front end. Because adding more front ends equals more maintenance, more time, like in terms of, like, a distraction from the other stuff that we could be doing to actually sell licenses for all the front ends that we do have. Like if we have Vue Hotwire, React, and Rails in Laravel, I think this is enough. We could press pause, sell some number of licenses, and then say, okay, we'll add the library front end and go after this. Cause we're doing this for an integration reason, right?
Like it's fit some admin panel or there's some reason.
Aaron
It does fit an admin panel that's very good called Filament. It also fits another admin panel, I believe, called Lean, but they have their own kind of filters. But also a number of people on our waiting lists are just using LiveWire and Alpine, as their front end.
Sean
Sure. Yeah. So we should do it. I think we should just not do it right now. Because there's a lot to learn between now and selling, say, 10 licenses.
What will it all look like between now and then? Which could be 1 month from now, honestly. Mhmm. So I'm not saying forever, but just, like, get a few people onboarded, working with Vue and Laravel and then see what that equals in terms of changes. And then we could build the Livewire version, and it will include all that stuff, versus having to add the maintenance to it.
That's that's what I think. What do you think?
Aaron
Colleen, you go first.
Colleen
I'm comfortable with waiting a month. I I think the oh, the I mean, the burden is gonna be on you, Aaron. And so taking on additional front ends absolutely is, you know, just gonna add to the things that we have to manage. And we are managing a lot right now. I don't wanna wait 6 months.
But if you wanna wait a month or 2, get a couple of people onboarded, that's probably that's probably smart.
Aaron
I agree. So I think I agree with one caveat that I think the Livewire version might take a while. So I don't know. So the guy that the guy that wrote this admin panel, Filament, is available for, like, 5 or 6 hours a week to work for us, which is not very much.
Colleen
Okay.
Aaron
And so, while I totally agree that we don't wanna, you know, like, we don't wanna do too much. I I don't want the lead time on LiveWire to be too long. And given that he doesn't have a ton of time, which is, you know, new information for y'all, given that he doesn't have a ton of time, I would maybe consider getting him started now just because I feel like it's gonna take him a long, long time with that kind of availability. So with new information, new thoughts, same thoughts.
Sean
If we what if it turns out that there's a gigantic demand for Vue and React plus Laravel And it's enough to be an entire business in and of itself. And it's a huge amount of work to, like, just deal with those three things.
Aaron
Okay.
Sean
And when would we know that that might happen? Right. So if I spend so, like, say I've got I'm a put money into this myself, so that way we can like, I'm gonna just take this is how I'm going to contribute to this is with money. Not my time. So let's say it's like $5,000 or whatever, or $10,000.
Let's say 10,000. I have no idea how much it's going to be. So, like, turns out we could've used that money for, like, help with the Laravel and view, view bugs that are coming up.
Colleen
Mhmm.
Sean
Because it's, like, you know, coming out as fast.
Aaron
Mhmm.
Sean
So I'm just saying there's some uncertainty in spending the time and resources on it right now. And maybe there's a few weeks from now less uncertainty.
Aaron
I'm on board with that. That seems that seems completely reasonable to me. So do we want to set a number, like you said, a number of licenses? So let's say that Laravel and view to, and react. That's big enough to be $1,000,000 a year.
Let's just say a lot of money. With those made up numbers, I think I would still like to pursue a LiveWire version.
Sean
Mhmm.
Aaron
So I don't know if that answers I don't know if that answers the question you asked. But if what we have now is big enough for a big business, I still think it makes sense to do Livewire and Vue 3, which are, you know, 2 more front ends. And, you know, depending on how far we wanna go, I think it makes sense to do Prisma, which is a different back end as well. I mean, that's that's way down the road because, nobody's really asking for that right now. We haven't tapped into the JavaScript ecosystem at all, but I think I see us, if we make $1,000,000 off of this, expanding the empire even more, But I agree that we don't
Sean
need to do it.
Aaron
We don't need to do it right now. So maybe
Sean
But even then, though, that's, like, not probably not the only choices on our plate. Right? It could also be do another component. Could also be
Aaron
Sure. Yeah.
Sean
I guess no matter what the scenario is, like, a little more information would be good. The thing that the thing is committing to another front end is committing to some certain amount of maintenance costs. Time and money.
Aaron
And so Forever. I mean, that's kind of, that's kind of the contract we're making with customers is we're here to support this. That's why it's different than open source.
Sean
Source. So adding React has doubled our maintenance costs on the front end. Anytime we need to do anything, add a new feature, fix a bug, Probably we're doing it in 2 places.
Aaron
Mhmm.
Sean
So we're gonna increase that by 50% by adding another front end. So we just don't doesn't feel like the right time to grow into yet another front end, but the time could be fast upon us. Like, I don't think it has to be we have to wait forever. But say we sell 5 licenses and we're like, this is going smoothly. It's incredibly easy.
This is fitting perfectly for what people need. We're solving all their problems. We don't have a lot of customization that we have to do. It's not a lot of bugs. It's just working.
If we get that with 5 people, like adding it, then fine. We add another front end. No big deal. Because then we could start pushing into other, like, to integrations and and, like, really pushing our
Aaron
Mhmm.
Sean
Marketing, trying to get sell more. That would make sense to me then. Okay. And even then the question will be like, should I spend my money on that? Or should I spend my money on marketing?
Should I spend my money on and my time on marketing and more sales for the stuff that we do have? Yeah.
Aaron
Yeah. I buy that. I'm fine. I'm fine waiting until we sell a certain number of licenses for the stuff that we've got. And the stuff that we've got also covers Laravel Nova, which is, you know, I would have to write the Nova integration, but that'll be small.
That's by far the biggest Laravel admin panel that there is. So it's not like we're missing out on the biggest admin panel. We're certainly not. So what do we want to say? Do we want to reevaluate end of January and or when we hit 10 licenses?
Sean
I'd say we say 5 licenses. K. And then decide if, like, it's like 5 people actually, like, actively using it and it's share rated.
Colleen
Okay.
Sean
That's enough for me.
Aaron
Yep. So Seems reasonable to me.
Sean
Like, then at that point, we can decide 5 more or go for it.
Aaron
K. We'll reassess LiveWire at 5 licenses sold. Colleen? Good?
Colleen
Sounds good. Yep. Sounds good.
Aaron
Speaking of Prisma, somebody reached out to me on Twitter. I think I told you this, Colleen. It's, Cam Sloan that you interviewed on
Colleen
Oh, yeah. On the social social.
Podcast. Yes.
Aaron
Yeah. He reached out to me and was like, hey, I'm using you know, I've built kind of a query builder for my product. It's Node. I don't know if you wanna, like, take a look at it. It's, you know, it's kinda hacked together, but I'd be willing to show you.
It's It's like, yeah. That sounds great. I mean, we've talked about Prisma being, you know, the way into the JavaScript ecosystem. And he was like, oh, I'm actually using Prisma, so this may be helpful. So I'm having a call with him later today.
Cause he was just like, Hey, I'll show you around if you want. And I said, yes, that sounds wonderful.
Colleen
Nice.
Aaron
So I know next to nothing about Prisma, so it will be interesting to learn how people use it. But I've seen it all over the place. I think they have a ton of money, like $80,000,000 or something.
Sean
Like investment money. Yeah. Wow. Okay.
Aaron
I know. Yeah. Seriously.
Colleen
Okay.
Cool. Anything from you, Aaron? Anything else?
Aaron
I'm currently doing an indie hackers AMA.
Colleen
Right.
Aaron
The one yeah. So they reached out to me on Twitter a couple maybe a month ago and asked if I would want to do one, and I said, sure. I'm a little bit confused because I just the, the, the prompt was, go to indie hackers and, you know, make a posts and put AMA at the end. And so I've done that. And I reached back out to him and said, okay, I've done that.
Now what? And I haven't heard anything. And so it looks like I just decided on my own to
Colleen
do an
Aaron
AMA, which is a little bit aggressive and
Colleen
a little bit presumptuous. So I feel I feel kind of like a doofus because,
Aaron
so I'm hoping that, you know, I'm hoping that they do something and, you know, pin it or tweet about it or
Sean
Did you, get up our indie actor's contact in Slack?
Aaron
No. I didn't.
Sean
He helped somebody with us the last time too.
Aaron
Okay. Okay.
Colleen
He helped me. He helped me last time. So you should ask him. I think though, they're yeah. If they asked you, they're gonna tweet you or pin it or email it to their people or something.
Aaron
Yeah. I hope so. Cause it's, real out there right now. Just looking like a dummy. So hopefully something happens.
And I've had 2 people message me and say, hey. Do you have any invite codes for Indie Hackers? I wanna ask a question, and I don't. I don't have any invite codes. I looked.
I don't have anything. So, again, double doofus. I'm like, I I can't I can't invite you. I don't know how you get invites.
Colleen
That's weird. They should've given you invite codes. Yeah. I know. Czar.
Aaron
I know. Well, we'll see. I'll reach out. I actually don't know who our friend in Slack is, so y'all have to tell me offline who that person is so that I can reach out to them. Because, yeah, I'm just I'm just out here looking like looking like I really wanted to do an AMA.
Yeah. Whatever. Yeah. Nothing nothing really other than that.
Colleen
Oh, next week. Oh, I'm out for 2 weeks. And you guys are kind of Sean yeah. Sean, you said you're taking this 2 weeks off.
Sean
So I am. But I fully expect that after a certain amount of time of doing nothing, which I intend to do, I will really, really, really want to work on this stuff. So Yeah. Yeah. That already happened.
That happened over Thanksgiving, right? Took like a day or 2 just playing video games and hanging out with family and stuff. And then I was like, oh, I need to keep doing that. And then after a couple days oh, yeah. It took, like, 5 days off then.
And after, like, 3 days of that, then I was like, oh, yeah. And actually, like, did some work and wanted to work on stuff.
Colleen
Re energized. Sure.
Sean
Yes.
Colleen
Well, I will not be available because we are driving up the coast to, yeah, Yosemite. Yosemite. So we'll be we'll be off grid as it were, off grid with, you know, an iPhone and a laptop.
Aaron
Right. And 2 iPads and a button.
Colleen
Kind of off grid.
Aaron
That sounds fun.
Colleen
Yeah. It should be fun.
Aaron
Yeah. I will.
Sean
Wanna be cold?
Colleen
Yeah. It'll be cold. Hopefully, there's snow.
Sean
Fun.
Colleen
Yeah. We'll see. But hope so.
Aaron
Yeah. I'll be around, but I will be trying not to work. So I'll be trying to finish up this integration stuff. And once we get once we get all the the Vue package built, I can, do one last final proof that it all works together and then reach out to, that guy Neil. Let me reach out to him today and just see if we can set up some time to just talk through his app even before then.
Sean
Yeah. Good idea. Because, like, we're not. Look. If I could just string together 3 hours of coherent thinking, we'd be done basically on my end.
Aaron
Perfect. Yeah. I'll reach out to him today and see if I can set up a time, just to at least talk about it. All good? Anything else?
Colleen
Awesome. Sounds great.
Aaron
Alright. We'll end it there.
Colleen
K.