React, Vue, Laravel, Rails, and Hotwire. Oh my!

November 30, 2021

Back from Thanksgiving, we talk about finding an amazing React contractor, integrating the Vue and Laravel libraries, and more. 

Transcript

Colleen
00:00:00 – 00:00:01
321, go.
Aaron
00:00:01 – 00:00:15
321, go. My voice is a little different because I'm sick, so I may be muting and dropping out to cough, but we're back post Thanksgiving. Everyone made it back home. So we got a lot to cover. Where should where should we start?
Aaron
00:00:15 – 00:00:17
Colleen, you're excited, so maybe we start with you.
Colleen
00:00:17 – 00:00:21
You just cut out. I didn't hear you.
Aaron
00:00:22 – 00:00:24
Oh, no. Did you hear anything I said?
Sean
00:00:24 – 00:00:26
You went, Colleen, can
Aaron
00:00:26 – 00:00:30
you oh. I said, Colleen, you're excited. So maybe we start with you.
Colleen
00:00:30 – 00:00:36
Well, I'm excited because I wanna hear what you 2 have been working on the integration side.
Aaron
00:00:36 – 00:00:37
Okay. So maybe we start with us.
Colleen
00:00:37 – 00:00:39
So maybe we start with you.
Aaron
00:00:40 – 00:00:48
Well, we last night, did a little bit of pairing and got the VUE and Laravel libraries working together.
Sean
00:00:51 – 00:00:54
Yeah. So Like without without it being packaged up is
Colleen
00:00:54 – 00:00:55
Yeah. Right.
Aaron
00:00:55 – 00:00:55
Like
Sean
00:00:55 – 00:01:05
we needed to figure out a way that we could actually iterate on the front end and the back end together, without having to go through a whole, like, build step.
Colleen
00:01:05 – 00:01:06
Right.
Aaron
00:01:06 – 00:01:35
Yeah. Because we don't wanna have to, like, make a release for every minor change while we're still developing. So Sure. What we did was I started a new, just like a vanilla Laravel app in a new, just blank repo. And then symlinked the, PHP package and symlinked, the NPM package, just the Vue library, and then got them both working together in kinda in app land.
Aaron
00:01:35 – 00:02:05
And it works. It drives the front end from the back end, and we already found a couple of spots where things have drifted, and they'll be easy to fix or just things that we talked about a long time ago that I didn't I didn't implement. But, yeah, it totally works. There are, like, 8 different gotchas on getting the NPM stuff set up, and it was really frustrating. But we finally, you know, we finally figured out all the the secret spells, and we got it to work.
Aaron
00:02:05 – 00:02:42
And I think that that'll be that'll be helpful for when it's time to build a package. I mean, some of that stuff some of that stuff is applicable to packaging it up and some of it's not, but I think we we got it. So now I can iterate I can iterate pretty quickly because I have the app, set up on my local machine, and so I can make all the changes I need. And if anything needs to be changed on the Vue side, I can either Sean and I can pair, or he can get it set up on his machine. But, yeah, it was kinda it's kind of exciting to be like
Colleen
00:02:42 – 00:02:43
Super exciting.
Aaron
00:02:43 – 00:02:45
Man, this thing just works together.
Colleen
00:02:46 – 00:02:47
That's awesome. It's great news.
Aaron
00:02:48 – 00:02:49
It is great news.
Sean
00:02:53 – 00:02:55
Oh, Aaron, you're muted. She's coughing.
Colleen
00:02:56 – 00:02:58
It's like a painful cough.
Aaron
00:02:58 – 00:03:00
Yeah. It is a painful cough. I'm dying. Sorry.
Sean
00:03:00 – 00:03:01
It's not COVID.
Aaron
00:03:02 – 00:03:03
Yeah. It's not. I got tested.
Colleen
00:03:04 – 00:03:04
That's good.
Sean
00:03:05 – 00:03:08
Because I don't know, like, everybody's gonna think that, oh, you're sick. Is it COVID?
Colleen
00:03:08 – 00:03:14
Yeah. Oh, yeah. I joke with my kids. I mean, they're not sick. They're perfectly healthy.
Colleen
00:03:14 – 00:03:19
But I'm like, you are not allowed to cough at school. You think you have to cough you, swallow it. Like, do not do it.
Aaron
00:03:19 – 00:03:24
Yeah. I know. Yeah. There is there is only COVID now. There's no there's no sinus infections.
Aaron
00:03:24 – 00:03:27
There's no head colds. There's only COVID.
Colleen
00:03:27 – 00:03:33
I know. So what's so that's amazing. Congratulations.
Aaron
00:03:33 – 00:03:34
Yeah. Thanks.
Colleen
00:03:35 – 00:03:38
So what's the next step? You said there's a few things you have to clean up and then
Aaron
00:03:39 – 00:03:46
Yeah. So there are a few, just integration points that we knew, you know, we knew there were gonna be a couple.
Colleen
00:03:46 – 00:03:47
Yeah.
Aaron
00:03:47 – 00:04:23
So there are a few of them that I need to clean up on my side. And then once we do that, I will have to run through every condition and kinda every every clause and every condition. You know, so date equals date does not equal all that stuff. Run through every single one and make sure that it works as expected. And then there I mean, there's there's a ton to do in terms of, like, what do we need to do before someone starts using it.
Aaron
00:04:23 – 00:04:24
Nothing. Like
Sean
00:04:24 – 00:04:25
Yeah.
Aaron
00:04:25 – 00:04:47
We can like, at some point I wanna talk about this later. But at some point, we can write an integration repo that does automated tests and stuff, and that'll be really cool and really fun. We don't need that right now. So the next steps are I I clean up my side. Sean figures out, proper packaging so it can be NPM installed.
Aaron
00:04:47 – 00:04:58
And, like, literally 2 weeks from now, and one of those weeks, Sean's out of town. So 2 weeks from now, we start onboarding our first users.
Colleen
00:05:00 – 00:05:00
Wow.
Sean
00:05:00 – 00:05:15
That's amazing. The package thing I mean, we already are building a package. It's just the package is including a dependency that it shouldn't. So it's bigger than it needs to be. I mean, so it'd work if we'd we could even ship it with that.
Sean
00:05:15 – 00:05:39
It'd it'd just be dumb. But I've you know, for whatever reason you think you just like, hey, say exclude this package from this dependency from your package and that should just work, but it it doesn't. So I've had to sort of, like, one one dependency at a time figure out how I actually get to remove it from the end package. But yeah. So, like, the packaging thing is it's basically it we have a package.
Sean
00:05:40 – 00:05:41
It's just not optimized.
Colleen
00:05:44 – 00:05:47
Nice. Well, this is all great news. So Yeah.
Aaron
00:05:47 – 00:05:49
We're there. This is it.
Colleen
00:05:49 – 00:05:53
Have you picked of the list of interested parties, the first couple you wanna onboard?
Aaron
00:05:54 – 00:06:12
Yeah. The first one is gonna be a guy named Neil. Hi, Neil. And he's just the first one because he's shown interest for a super long time. He's consistently been like, really supportive and been like, Hey, I'll buy it right now and help you finish it.
Aaron
00:06:12 – 00:06:33
It's like, woah. We can't do that right now. But, yeah, he's he's the one that'll be first. And then there are a couple others who have been in Twitter DMs. And then from the tweet the other day that I put out, we have, like, a 130 people on the early access list.
Aaron
00:06:33 – 00:06:38
And so we'll go through I mean, we'll we'll probably just start with 1 or 2.
Colleen
00:06:39 – 00:06:39
Right.
Aaron
00:06:40 – 00:07:04
And then after that, so sometime in the new year, we'll go through and pick out people that are on Laravel and Vue version 2, and just start saying, hey, do you wanna do do you wanna try to drive this thing out? And then from there, it'll kinda spread out a little bit further. But the first one is a guy named Neil and then maybe a couple others in the DMs. Awesome.
Colleen
00:07:05 – 00:07:06
That's great news.
Aaron
00:07:06 – 00:07:06
Here.
Colleen
00:07:06 – 00:07:07
It's amazing.
Aaron
00:07:07 – 00:07:09
Yeah. I know. It's
Sean
00:07:09 – 00:07:16
crazy. Yeah. And then we probably have our first, potentially our first react customer as well.
Aaron
00:07:17 – 00:07:36
For a library that we don't have. Right? So before we've sold hardly anything, we've got rails and Laravel and YouTube and hot wire and react. Yeah. So kinda great.
Sean
00:07:37 – 00:07:45
Yeah. It's a fully fleshed out product. It's amazing. I cannot wait to start getting together the marketing materials and yeah. It's it's pretty amazing.
Aaron
00:07:46 – 00:07:53
Yeah. So moving over to React, Sean, do you wanna tell Colleen about this call we had?
Sean
00:07:53 – 00:07:58
Yeah. Although so, Aaron, is his name Dave? Dave? I'm so sorry if it is. Okay.
Sean
00:07:58 – 00:07:59
Awesome.
Aaron
00:07:59 – 00:08:00
Dave Calcio. I
Sean
00:08:00 – 00:08:10
know also Dave listens to our podcast. He was like, this is weird. I just, like, binge listened to all of your podcasts, and now we're talking. We just talked with him on a video call. And he's, like, now we're talking.
Sean
00:08:10 – 00:08:36
I feel like I'm, like, in the podcast now. Yeah. So so Dave has a use case at his job at his day job for the query builder, which, you know, it's exactly like what we imagined and makes perfect sense. And so it's he's, like, making the build versus by choice, and he's like, oh, this is he looked at our refine. He's like, oh, this is it.
Sean
00:08:36 – 00:08:57
I would let's do this. But then realized we didn't have a React front end. So he was like, should I try to get because they don't have Vue on their front end. So he was like, should I try and, like, jam Vue into our, you know, admin panel or which or maybe I could just, like, write it myself. And so he started looking at it, and he just started banging out the React version from reading my code and from listening to the podcast and from reading our docs.
Sean
00:08:57 – 00:09:15
He was able to figure out, like, how to start, like, building it. And I mean, look, and he's already I mean, he's already made really good headway into doing a React version of the builder. Right? So none of the static stuff, which is totally fine. So yeah, he's already started down that path.
Sean
00:09:15 – 00:09:21
And then he was like, hey, maybe you guys wanna just pay me to finish this thing? And we're like, yeah.
Aaron
00:09:21 – 00:09:23
Yes. Absolutely. We do.
Sean
00:09:24 – 00:09:35
Definitely. So yeah. So we got a budget set aside for that, and we've got that squared away. Yeah. I mean, he's ready to he's ready to roll, and he's already working on it.
Sean
00:09:35 – 00:10:02
I think he's super busy. So anticipate that'll be, like, you know, spread out over some months or whatever. But it's not like we do not need that imminently. And this is pretty great because, like, he can also if they end up buying it because he has to convince his boss to buy it. But assuming that happens, then, he'll actually be using it at his job and integrating it at his job so then he can get that all set up and fix everything so that it's working there.
Sean
00:10:02 – 00:10:04
Yeah. It's it's awesome.
Colleen
00:10:05 – 00:10:08
Nice. He's so he's using Laravel in React?
Aaron
00:10:08 – 00:10:10
Yeah. He is. Okay.
Sean
00:10:10 – 00:10:15
Yeah. Well, I mean, this is so cool. Like, you could just we could just mix and match, you know, whatever.
Colleen
00:10:15 – 00:10:16
It's amazing.
Sean
00:10:17 – 00:10:26
Because you could use the view version with rails. Like, I really wanna just do that just to, like, you know, proof of concept because I I am good.
Colleen
00:10:27 – 00:10:39
Yeah. Well, I can when I pull out, our stuff for that our now second, I guess, rails client, you can do it in that repo. Could just branch off of that repo so you're not messing with our first client stuff.
Sean
00:10:39 – 00:10:39
Yeah. Yeah. Yeah.
Colleen
00:10:39 – 00:10:40
Follow that? Yes.
Aaron
00:10:40 – 00:10:41
Yeah. It's gonna get confusing.
Colleen
00:10:42 – 00:10:49
What are we talking about? Yeah. So once I pull that out, you can just you can just branch off of there and do it. So that'd be cool. It'd be really neat to see.
Sean
00:10:50 – 00:10:59
Yeah. Yeah. So we also there's like some small stuff that we got to we got to get a Slack set up for our company. We're going to need that. Slack or Discord, actually.
Colleen
00:10:59 – 00:11:02
Slack, please. I hate Discord.
Aaron
00:11:02 – 00:11:03
I don't like it
Sean
00:11:03 – 00:11:04
either. Yeah.
Aaron
00:11:04 – 00:11:21
I feel the same way. I know. I don't know how old Dave is, but he was like, some of these other dev communities use Discord. And in my head, I was thinking, oh, no. I'm an old I'm an old person now.
Aaron
00:11:22 – 00:11:40
And he he to his credit, he was like, yeah. I actually like Slack. But I was thinking, man, am I am I 1000 years old now? But, yeah, we need to get one set up so we can hang out, the 3 of us and Dave, and then any, you know, future customers that
Colleen
00:11:40 – 00:11:41
wanna pop up
Aaron
00:11:41 – 00:11:43
and help each other out, that kind of thing.
Colleen
00:11:43 – 00:11:45
Yeah. I think that's a good idea.
Sean
00:11:45 – 00:11:53
And then Dave had this other awesome idea of combining back end and front end into one mono repo, he called it.
Colleen
00:11:54 – 00:11:54
Okay.
Sean
00:11:55 – 00:12:09
I think because I'll explain. The idea is basically, like, we got React front end, we got a Vue front end, put them all in one repository. And even the back ends too. Except our problem is we're gonna open source the the front ends. So we can't just have one big repo.
Sean
00:12:10 – 00:12:43
Instead, we'll probably have 2. So we'll have the front end repo, which will have all the versions, and then back end repo, which will have rails and Laravel and whatever else. That way, on the front end, it makes a lot of sense. I don't know how much sense it makes on the back end, but on the front end, it makes a ton of sense because it's just so much easier to wrap my head around. When I'm making changes to 1, I'll probably wanna make changes to the other, And then I can just do one PR Mhmm.
Sean
00:12:44 – 00:12:56
For that. Right? So it'll be all sort of consolidated. There's probably opportunities. Like, he's gonna use TypeScript, and so say we ups upgrade the Vue and to to use TypeScript.
Sean
00:12:56 – 00:13:06
Well, there's a possibility of sharing types, and then it's just a lot easier. This is all possible with multiple repositories, but, like, way easier just logistically to figure out.
Aaron
00:13:06 – 00:13:10
Coordination costs go way up across multiple repositories.
Sean
00:13:11 – 00:13:28
Yeah. Yeah. And I just he he said that idea, and I was like, oh, it's an awesome idea because we could spend less time, like, figuring out like, what Aaron and I just did. You know, if we'd had everything in one repository, which well, like I said, we're not gonna be able to do that. But if we had, this would have been, you know, not a problem.
Sean
00:13:28 – 00:13:36
It would have been trivial for us to get that set up. So I'm gonna I'm gonna do that for the front end for sure, and you guys can think about it on the back end.
Aaron
00:13:37 – 00:13:46
Yeah. I think it would be great. Yeah. Dave, Dave strikes me as imminently reasonable. He seems like one of us.
Aaron
00:13:46 – 00:13:59
He's like, I could aim for a 100% test coverage, but I'm just not gonna do that. I'm gonna just test to make sure that I can make changes in the future without fear. Like, great. That sounds awesome. Nice.
Aaron
00:14:01 – 00:14:04
Yeah. Yeah. Huge, huge, huge win. Super
Colleen
00:14:05 – 00:14:06
Yeah. That's great.
Aaron
00:14:06 – 00:14:26
Super grateful. He reached out, And he was like, you know, I could have reached out and just been like, hey, what if I do this? But I decided, well, I'm gonna see how far I can get and then reach out with, like, the stuff of the stuff I've already done is kinda like proof of expertise. It's like, well, it worked, man.
Colleen
00:14:27 – 00:14:32
Right. That makes total sense because you guys were able to review it. Like, oh, yeah. This is exactly what we need. Yeah.
Sean
00:14:32 – 00:14:33
Yeah.
Aaron
00:14:34 – 00:14:48
And he said something interesting about their current, the current the way that he's currently solve this problem at work is a bunch of people have read only access to the database, and they just have to learn SQL. That's
Colleen
00:14:49 – 00:14:51
Yeah. Really? Yeah. Wow.
Aaron
00:14:52 – 00:15:11
Yeah. Wow. I know. And he was like, and we've gone so far down this road that, like, we can't just give them, like, a a very fixed plain query builder because they've had, you know, this infinite flexibility for so long that we would be taking away.
Colleen
00:15:12 – 00:15:13
Right. That makes sense.
Aaron
00:15:13 – 00:15:22
Yeah. So I thought that was really interesting that, you know, it's like, yeah, we just let them you know, we forced them to learn SQL. It's like, good grief.
Colleen
00:15:23 – 00:15:28
What's their timeline? Or do they not you said he you he was pretty busy, so you weren't sure?
Aaron
00:15:29 – 00:15:56
Yeah. I think he, I think he has been like, he's known for a while he's gonna have to build this. I don't think he's on a super strict timeline. The really like Sean said, the really good thing about this setup is he's he needs it for work, and so, like, he's incentivized to to push the React version forward, so that he can solve his own problem at work.
Colleen
00:15:57 – 00:16:01
So did you already sell him the back end? Does he already have possession of that or not yet?
Aaron
00:16:02 – 00:16:05
No. So he will have to go to his decision maker
Colleen
00:16:05 – 00:16:06
Got it.
Aaron
00:16:06 – 00:16:21
And pitch it. And I told him, like, hey. When you do that, keep keep mental notes about, like, how the conversation goes, and what did they say, and what did you say, and was there any pushback? And because that kind of insider info is gonna be super helpful for us.
Colleen
00:16:22 – 00:16:23
Definitely.
Aaron
00:16:24 – 00:16:34
Especially, you know, we don't have any marketing materials basically at all right now. So, like, what does that conversation look like in in the void before we have a bunch of stuff?
Sean
00:16:36 – 00:16:39
Yeah. Same thing with you and and and client 2.
Colleen
00:16:39 – 00:16:43
Yes. Yes. I'm really excited to talk to them.
Sean
00:16:43 – 00:16:45
They're literally making that evaluation.
Aaron
00:16:46 – 00:16:53
Mhmm. Yep. Wait. Is client 2 client 2 is Jesse. Right?
Colleen
00:16:53 – 00:16:54
Yes.
Aaron
00:16:54 – 00:17:02
Okay. We've talked about we've said his name on air, and everything happened publicly on Twitter. So we're Oh. There.
Colleen
00:17:02 – 00:17:05
Okay. Yeah. Yeah. So Jesse is client too. Yes.
Aaron
00:17:05 – 00:17:15
Okay. Yeah. So, Colleen, do you wanna kind of give a quick recap on that conversation we had with him the other night?
Colleen
00:17:15 – 00:17:41
Yeah. So we had a great call with him where he showed us some of the way they're trying to use query building and kinda told us they're basically in this situation where they're moving to a new database because they're having scaling problems. And so they're just trying to do all the things. Right? They wanna figure out what they're gonna use as a database, how they're gonna use it, and how they're gonna query it.
Colleen
00:17:42 – 00:17:51
And they're they wanna move fast. Like like, I got that impression that they wanna move quickly. Mhmm. So they don't wanna wait for me to finish it. They actually asked.
Colleen
00:17:51 – 00:18:00
They said, hey, can we just have what you have now and see if we can build upon that? So that's what we're gonna do. We're gonna pull that out.
Sean
00:18:01 – 00:18:03
Telling you, what they should do is have 2 separate databases.
Aaron
00:18:05 – 00:18:07
One Postgres and one MySQL.
Colleen
00:18:07 – 00:18:44
So it was interesting when we got off that call because Aaron and I debriefed a little bit. And one of the things, I guess, I didn't really realize going into this, building this product, is that we are gonna need to be database experts. And I think that will also include knowing, although I don't think it's obviously not our job to recommend database providers. It would be incredibly helpful if we had working knowledge of what is available and what the limitations are of the available third party solutions because there were a lot of questions like, hey. I don't do you remember how much data it was, Aaron?
Aaron
00:18:45 – 00:18:57
Yeah. I think they were at a terabyte and were considering moving off of Heroku because they were reaching postgres limitations on Heroku at a terabyte.
Colleen
00:18:57 – 00:19:20
So and fortunately, Aaron had you know, has a lot of that knowledge about different database providers, but I also think I need to get that knowledge because there were a lot of questions about what's out there. What can we use? Do you have any recommendations? And so I just think having a better this is more of a personal thing, like, just being more aware of ways to handle big data. And we're learning a lot with client 1, obviously.
Colleen
00:19:20 – 00:19:28
It's gonna help as we kind of do this productized consulting as it first rolls out as we start onboarding soft onboarding these people.
Sean
00:19:28 – 00:19:29
Content marketing.
Colleen
00:19:30 – 00:19:34
Yeah. Exactly. Absolutely. Great content marketing. Call.
Colleen
00:19:34 – 00:19:35
Yeah. Absolutely.
Sean
00:19:35 – 00:19:42
I mean, if this really if you guys are learning it now Yeah. It always equals better content if you're Yeah. Doing it while you're learning.
Aaron
00:19:42 – 00:19:58
Yeah. Because there were questions like, okay. Well, what if we use PlanetScale versus single store? I was like, oh, man. And fortunately, I have had, demos with SingleStore, and I've, self onboarded at PlanetScale.
Aaron
00:19:58 – 00:20:25
So I knew enough to, like, speak intelligently about it. But, yeah, there's and okay. So first, there's a lot. Like, there's a lot of hosted stuff there and a lot of, trade offs with each of them. But I also wonder how representative these two Rails clients are to, like, what our future will hold.
Aaron
00:20:25 – 00:20:42
Do you know what I mean? Like, are these we're talking about 2 clients that have multiple billions of records. I just don't think that's normal. Like, I don't think that that is the meaty part of the curve. I feel like those they have to be outliers.
Aaron
00:20:42 – 00:20:42
Right?
Sean
00:20:43 – 00:20:50
That's where the productized consulting comes in, though. Yeah. I mean, there's a consulting side of this business if we want it.
Aaron
00:20:50 – 00:20:54
Yes. For sure. As we've already discovered. Yeah.
Sean
00:20:54 – 00:20:54
Yeah.
Aaron
00:20:54 – 00:21:21
But then, like, that DM that I screenshotted y'all the other day where this guy is like, hey. We've got 10,000 different products, and our marketing team is having a hard time, you know, building filters for them. I feel like that is the middle like, that's the middle of the curve. That's where most people live. Like, under a 1000000 records across, you know, 10 different columns or, you know, 5 relationships or whatever.
Colleen
00:21:21 – 00:21:23
In the same database.
Aaron
00:21:24 – 00:21:28
Yeah. In the same little bitty database that's, like, 2 gigabytes.
Colleen
00:21:28 – 00:21:31
Yeah. Yes. And those are the
Aaron
00:21:31 – 00:21:36
we're exploring the edges before we ever even get to the middle of the pie.
Colleen
00:21:36 – 00:21:50
I know. And I think and those clients will presumably not need a lot of onboarding handholding, whereas you're absolutely right. The 2 that we're working with now, I mean, that's definitely productized.
Aaron
00:21:50 – 00:21:51
3. Keith concluded.
Colleen
00:21:51 – 00:21:52
Keith. Yeah. That's all productized.
Aaron
00:21:52 – 00:21:53
Same way. Yeah.
Colleen
00:21:53 – 00:21:54
Yep.
Aaron
00:21:54 – 00:22:00
He's also an analytics company. So Yeah. We're learning. It makes sense
Sean
00:22:00 – 00:22:06
that we would get the most interest from them right away because that's, like, core part of their business is jewelry builders.
Colleen
00:22:06 – 00:22:07
Right. Right. That's your point.
Sean
00:22:07 – 00:22:38
I mean, that makes sense to me because they're they're thinking about that a lot and this is a problem that they have and they're always probably trying to solve it better. So makes sense that they would end up, you know, being drawn to us. But it also makes sense that then those would be the most complicated because that's they have more data. This is like a major feature of their system. So, yeah, that we have to figure out how to get one step back or maybe we won't have to figure it out.
Sean
00:22:38 – 00:22:56
Maybe it'll just, you know, be word-of-mouth. But, like but that that's the key, though. I really think I like the less, like, high touch clients. Though, I mean, I don't know. It's like the the consulting thing is certainly legitimate.
Sean
00:22:57 – 00:23:02
It's a it's a business there too. And we're learning so much from this.
Aaron
00:23:03 – 00:23:04
Yeah. We're learning a ton.
Colleen
00:23:05 – 00:23:15
Yeah. I'll be so I started what is today? Tuesday? Yeah. So I started pulling out everything from all of our stuff into its own repo to give to Jesse.
Colleen
00:23:16 – 00:23:25
But they aren't using it occurred to me as I'm doing this, they're not using any of the turbo stuff. That's what he told us. They're not hot wire. They're not turbo. So I should ask him.
Colleen
00:23:25 – 00:23:32
I wonder what he's using on the front end if it's just vanilla rails. Did he he didn't mention that, did he, Aaron? He did not. No. Yeah.
Colleen
00:23:32 – 00:23:37
Because I don't know if that's gonna turn him off or he could just pull obviously not use the front end part and build his own. But, Yeah.
Aaron
00:23:37 – 00:23:44
He could. And I know that he already has he already has a pretty solid front end built out, so he might just want the back end driver.
Sean
00:23:45 – 00:23:45
Yeah.
Colleen
00:23:46 – 00:23:47
I'll ask him.
Aaron
00:23:47 – 00:24:07
Yeah. I think a lot of these, middle of the road, like, sweet spot clients, I think many of those could come from the, integration. Yeah. Like the Laravel Nova. And Bullet Train.
Aaron
00:24:07 – 00:24:15
Like, I feel like a lot of the vanilla cred apps are gonna use those, and they'll just, like, they'll just buy it off the shelf and it'll work.
Sean
00:24:16 – 00:24:30
Mhmm. Yeah. Absolutely. I forget what I was gonna say. But, yeah, if like, integrations are the most, like, obvious channel that I've that I've thought of for that.
Sean
00:24:36 – 00:24:37
Aaron's coughing.
Aaron
00:24:38 – 00:24:47
Man, I am dying. Goodness gracious. Okay. What else? What else we need to talk about?
Colleen
00:24:48 – 00:24:50
Client work is going good. Client 1
Aaron
00:24:50 – 00:24:50
Yeah.
Colleen
00:24:50 – 00:25:07
It's all I feel like all the hard things have been figured out. And okay. Let I mean, that's a little Wow. I tend to be overly or not ambitious, overly optimistic. But I feel like all the hard things have been figured out, and now it's just executing.
Colleen
00:25:07 – 00:25:30
And there's a lot to execute on. Like, there's a lot that has to be done, especially with the multiple database stuff. But I've at least proof of concept shown that we can do the roll ups to IDs that we were talking about. So there's a lot there. The hardest part for me is gonna be the front end stuff, but that's still a ways away.
Colleen
00:25:30 – 00:25:49
So I'll ping you, Sean, once I get to that. But, yeah, it's it's it's going well. They were as an interim solution, they were okay with the save a filter on one model and then access that filter on the other model instead of the you know, ultimately, we want The
Aaron
00:25:49 – 00:25:50
fly in.
Colleen
00:25:50 – 00:26:04
The fly in situation. But as an interim solution, like, they're okay with that. So, I'm getting there. That doesn't quite work yet. But, yeah, we can we can build the filters they want and, I think we're making a lot of progress there.
Aaron
00:26:04 – 00:26:05
That's great.
Colleen
00:26:05 – 00:26:06
Mhmm.
Sean
00:26:07 – 00:26:19
Yeah. Man, when this thing is running and people are running queries from our query builder for the site with billions of records, like, that's gonna feel amazing.
Colleen
00:26:19 – 00:26:21
Yeah. It's gonna be really cool.
Aaron
00:26:22 – 00:26:36
Yeah. Yeah. I tweeted screenshots of it. I actually, tweeted the exact same screenshots I tweeted 2 years ago. I just downloaded them and uploaded them again.
Aaron
00:26:39 – 00:27:16
But I tweeted the screenshots, and somebody was like, well, how is this gonna, you know, how is this gonna be performant? And I was like, man, we have put so much freaking effort into making it performant because, weirdly, our first client has billions of rows. And, like, obviously, you can't know ahead of time everything that needs to be indexed because in the end, it's left up to the user what is being queried, not even the developer, but we've, like, I swear we've done our best and it it's gonna work pretty well. But, yeah, that's gonna be real fun to see.
Sean
00:27:17 – 00:27:23
Yeah. For non billions of rows user, it's gonna work great. Yeah. It's gonna be easy peasy.
Colleen
00:27:23 – 00:27:24
Yeah.
Aaron
00:27:30 – 00:27:39
What else? What else? Oh, Colleen. I added 2 new and and Sean, but 2 new clauses. Is that right?
Aaron
00:27:39 – 00:27:57
Yeah. Two new clauses to the text condition for Keith. I added a where in and where not in. So, like, for text conditions, we've always had, like, starts with, ends with, equals, doesn't equal. But I added one that's like a multiple.
Aaron
00:27:57 – 00:28:26
So you can say, you know, where name is one of Aaron comma Colleen comma Sean, and then it converts it to a wherein. So I added that for Keith. I think that's probably gonna be useful for other people. So you can put in a list, like a multiple equality or a multiple inequality list, and we can explode it or call it in PHP. We can separate it by, you know, commas, new lines, semicolons, whatever.
Aaron
00:28:27 – 00:28:32
But should client number 1 need something like that, I've just added that
Colleen
00:28:32 – 00:28:33
for Keith. Great.
Aaron
00:28:33 – 00:28:59
Yeah. Because he's doing a thing he's doing a thing where it's like it's like an option condition, except it's actually text. But on the front end, he provides a few options, but then you can, like, manually type in your own. And because we do option validation, you know, if those options weren't there in the back end, it would fail. And so the multiple equality on a text condition solves for that.
Colleen
00:28:59 – 00:29:12
Okay. Sounds good. Speaking of yeah. Do we do we have a shared document, guys, where we're keeping track of all these ideas? I don't think so.
Aaron
00:29:12 – 00:29:13
Shared? No.
Colleen
00:29:13 – 00:29:18
Oh, we don't I've just you mentioned that, and I'm gonna forget what's gonna happen is, you know, I'll be like, oh, I'm just wondering.
Sean
00:29:18 – 00:29:21
Yeah. We should start a Notion or whatever.
Colleen
00:29:21 – 00:29:22
Yeah. I was thinking about that.
Sean
00:29:22 – 00:29:36
Because you're gonna be recording videos, we should put them in there. We should have so we have yeah. Sometimes I hear you guys talking about features and you're, like, I'm adding this and there. It's, like, I'm adding that. And I'm, like, do we know what's in what?
Sean
00:29:36 – 00:29:38
And, you know Right.
Colleen
00:29:38 – 00:29:43
That's my point. We are far enough along now. Maybe it's time to get a little organized is what I'm thinking.
Aaron
00:29:44 – 00:29:46
Okay. Totally correct.
Colleen
00:29:46 – 00:29:53
I have I mean, I have my own hammer stone Notion document, so I'll take a look at it and see if we can expand that to become a team.
Aaron
00:29:54 – 00:29:56
Am I gonna have to learn Notion finally?
Sean
00:29:57 – 00:30:07
Yeah. Yeah? Or I mean, I think we should just use Notion because well, we are, you know, in the same Slack room with, like, the world's Notion expert. So we should probably do that.
Aaron
00:30:07 – 00:30:10
I'm only gonna have to confess to Marie that I've never used Notion.
Sean
00:30:13 – 00:30:27
And then okay. And other things that we need to do as we grow up a little bit, I'm gonna put YNAB I'm gonna get our stuff into YNAB because we're spending money now. So I wanna make sure we don't screw up the cash flow.
Colleen
00:30:27 – 00:30:36
Nice. Okay. Great idea. Yeah. Give me a week or so to look at because I got obviously, it's 1st week back from Thanksgiving, so I'm trying to get up to speed.
Colleen
00:30:36 – 00:30:51
Make sure but give me a week or so, and I'll share that with you guys, and we'll try and get a little bit organized in terms of just like because we have a lot of content ideas too, I know. Yeah. Like what you just said, Sean, we're like, oh, yeah. As you learn about x, y, and z, write it down.
Sean
00:30:51 – 00:31:11
And speaking of content, I that's the that's that'll be the next thing I'm gonna do. I mean, so, like, I'll be around to fix up integration stuff and add new features, etcetera. But, I'm gonna start working on the marketing site, And I'm gonna use the, the new React thing that I was talking about last time. Remix, I think it's in the house.
Colleen
00:31:11 – 00:31:12
Oh, yes. You mentioned that. Mhmm.
Sean
00:31:12 – 00:31:20
Yeah. I did look at the docs that's finally open source and I was looking at it and it's like, it's yes. It's perfect for this. It's exactly what I want. So Wonderful.
Colleen
00:31:20 – 00:31:21
Okay.
Sean
00:31:21 – 00:31:41
So I'll do that. I'll get our marketing site set up. And again, question of mono repo or not, like, we could have the marketing site in one repo. Maybe we should start with that. I don't I don't know how to how that's gonna work with, like I got a whole React app in one folder and then a Laravel app in another folder.
Sean
00:31:41 – 00:31:46
It's kinda I don't know how that works, but maybe I'll try to figure that out.
Aaron
00:31:47 – 00:31:52
What, what would be in the monorepo with the marketing site?
Sean
00:31:53 – 00:32:15
Well, especially the docs. Like, I I think that that there's opportunities to, like, reuse pieces of like, the docs and the marketing kinda go potentially hand in hand even. So and I know our docs were using our own special system, so we're not gonna, like, reinvent the wheel there. But
Aaron
00:32:16 – 00:32:30
Yeah. Our docs currently live alongside each library, each package, and we pull them in from they're just markdown files, and we pull them in from GitHub and then render them.
Sean
00:32:31 – 00:32:45
So that's exactly how Remix will work as well. Like, I'm thinking I'm just gonna have markdown files in a file structure somewhere, which we could just create an ad. We do it with a GitHub repo or something, and then Remix can pull them in from there.
Aaron
00:32:45 – 00:32:46
Mhmm.
Sean
00:32:46 – 00:32:51
And then load them. So maybe maybe there's a way to actually just pull the docs into Remix and have them rendered that way.
Aaron
00:32:52 – 00:33:05
Cool. That would be great. And then I'm sure that this is the case, but you have the ability to pop out to native stuff and design something fancy, right, for, like, the home page and stuff like that? It's not all just marketing. I'm not
Sean
00:33:05 – 00:33:08
actually I'm not sure what you mean. Oh, yeah. Yeah. Absolutely. Yeah.
Aaron
00:33:09 – 00:33:12
I'm not familiar with remix. I was just making sure.
Sean
00:33:13 – 00:33:31
Yeah. It's pretty neat. It's like a little it's just a little framework for the common patterns that you find yourself implementing when you're building primarily content driven React website.
Colleen
00:33:32 – 00:33:33
Nice.
Sean
00:33:33 – 00:33:39
So it does, it does a whole bunch of stuff for you out of the box. And so it's all server side framework.
Aaron
00:33:39 – 00:33:46
Is this? Is this Vercel? No. It's just totally independent.
Sean
00:33:46 – 00:34:08
Yeah. It's Kent Dodd is now the new developer relation relations guy. And then it's also the guys that did React router, which I am blanking on their names. But, yeah, the React router guys did this. And it was something where it was like us, like you could buy it and then, they got enough interest and then they got actually an investor.
Sean
00:34:08 – 00:34:14
So they decided to open source it. I don't know what their new model is, but that's Interesting. That's what happened.
Aaron
00:34:15 – 00:34:31
And for the record, if anyone wants to give us, like, like, $10,000,000, we'll open source everything we've ever written. Just wanna put that out there. Yeah. If you wanna get that set up, I would happily hand over marketing site to you.
Sean
00:34:32 – 00:34:45
Yeah. That's, I think I'm gonna I'm gonna I'm definitely gonna do that. Like, but the marketing side is, like, kind of my next thing because I gotta get that lined up before we, you know, start opening this up to more and more people.
Colleen
00:34:45 – 00:34:46
Yeah. Sounds good.
Sean
00:34:48 – 00:34:55
Because, like, I think Jesse's a customer because he knows us otherwise. There's no way. You know what is this? I don't know what this is. Yeah.
Colleen
00:34:56 – 00:34:57
Agree.
Aaron
00:34:57 – 00:35:16
Yeah. And that I mean, the only reason we have a site was because Mike kept saying you have to have a site. And so I don't want to, I don't want us to worry too much that the site is bad. We do in fact have a site, so that's worth something.
Sean
00:35:16 – 00:35:26
Like, yeah, we have a site. Probably we didn't even need a site. We've essentially made 100 of 1,000 of dollars in revenue without a website.
Aaron
00:35:26 – 00:35:39
So Yes. I guarantee you client 1 has never visited our website. No. If they did, they'd be like, why does your website not say exactly what you're doing? You gotta talk to Buckbee.
Aaron
00:35:39 – 00:35:41
He told us to make a website.
Sean
00:35:48 – 00:35:50
Okay. I got nothing else.
Colleen
00:35:50 – 00:35:51
Yeah, that's all I got.
Aaron
00:35:52 – 00:36:10
The only other thing I have is there's a game on the Oculus called Superhot. And if you guys haven't seen it, you have to look it up. It's the most fun game. This this to me is the killer use case for Oculus. So it's called Superhot.
Aaron
00:36:10 – 00:36:24
It is a it's like a strategy shooter or, like, a puzzle shooter, And the whole premise is you remember original Matrix, the bullet time thing, where he's dodging the bullets in slow mo?
Colleen
00:36:24 – 00:36:24
Yes.
Aaron
00:36:25 – 00:36:58
The whole premise of Superhot is the game time. So, like, time within the game moves as quickly as you physically move. So if you move very slowly, game time moves very slowly, and you can dodge bullets and shoot back and block bullets and punch and stuff. But if you move fast, then the game moves real fast, and, basically, you get shot and lose. And it is the most fun game that I I think I think I have ever played.
Aaron
00:36:58 – 00:37:21
It is a freaking blast. Last night after our call, Sean, I I went inside, and Jennifer was already in bed. And so I got out the oculus and played super hot for, like, 40 minutes at like 11 o'clock at night. I'm sick and I'm tired and I'm like, I gotta play super hot. It's so freaking fun.
Aaron
00:37:21 – 00:37:34
And it is a shooter. So like, you, you know, you grab, like you reach down with the little hand controls and you pick up guns and then you point and shoot and you're dodging bullets and, man, it's a freaking blast. So Does
Sean
00:37:34 – 00:37:37
it kind of feel like makes you feel like you're a superhero or whatever?
Aaron
00:37:37 – 00:37:59
It does. And it makes you feel like you're you're Neo because you can, like, you can pick up you know, you're in different scenes all the time. You can, like, pick up a frying pan and block bullets and pick up a gun. While you're while you're blocking this guy's bullets, you can shoot this guy, and then you can throw the gun when you run out of ammo, and it'll hit the other guy. And it's just like, oh, so freaking fun.
Aaron
00:38:00 – 00:38:00
So
Colleen
00:38:00 – 00:38:02
Nice. That's awesome.
Aaron
00:38:03 – 00:38:05
Alright. We'll end it there.
Me

Thanks for reading! My name is Aaron and I write, make videos , and generally try really hard .

If you ever have any questions or want to chat, I'm always on Twitter.

You can find me on YouTube on my personal channel or the Try Hard Studios channel.

If you love podcasts, I got you covered. You can listen to me on Mostly Technical .