Hammerstone · Apr 9, 2021
<div>Sean pitches Aaron on using YNAB for our business. We're making good progress in Rails and people want the Laravel version already.</div>
Aaron
Alright. So tell me why we should use YNAB, which is a personal budgeting tool, for our business budgeting.
Sean
Right. So YNAB YNAB is a personal budgeting tool, but the founder, Jesse Mhmm. Uses it for his company. So what YNAB is is essentially it's just cash based accounting. So True.
Right? I mean, it's the it's kind of the envelope system, which is basically cash based accounting. So you don't record money until it's there. And then the other advantage of YNAB and the way it works for me personally and in my business, which I also use it for my business, is that it forces you to budget categories. So, like, and and over time, you expose your actual expenses.
Right? So there'd be things so in a business, what I think matters the most for us is cash flow. Like, far and away, the thing that we're gonna care about the most is cash flow. So we run into a time where all of a sudden we get, like, a dip in cash. If we know what our true expenses are, we can extrapolate that over several months, then we actually know, like, how good are like, how how good are we?
How much do we need to worry? Right?
Aaron
Mhmm.
Sean
And so the way that you eventually uncover those expenses and, like, what your actual monthly outlay is is by, every time an expense comes up, like, oh, I gotta buy a laptop, you create a category for that thing, and then you create a monthly allocation that you have to put into that category every single month. So, like
Aaron
So you're buying it ahead of time?
Sean
Yeah. So you're basically, what it reveals to you is what you actually need to have every month versus what you'd put out every month. Because what you put out every month, what you pay out every month, like, an actual dollars to people is potentially way less, you know, on one month than another month.
Aaron
Mhmm.
Sean
And it looks like these big swings. Right? You're like, oh, I didn't have anything, and then all of a sudden, I'd had to pay, you know, $8,000 for taxes or you know? And that everybody knows, like, business people well, if you've had if you've been in business for more than a year or 2, you know that you need to sign a sign for taxes. And I think everybody screws that up probably the first time.
But then taxes aren't the only thing. There's other stuff too. There's insurance payments that have to come up. There's, and this is a lawyer sometimes, your accountant every year, your we gotta refresh your equipment. You got a budget for going to conferences.
You gotta budget for education. You gotta budget for your monthly SaaS outlay. Budget for those annual SaaS things that you pay so you can have a discount.
Aaron
True.
Sean
So the nice thing about that is then, you know, the annual thing, it's I think sometimes it when you're, you know, kinda, like, broke, you're reluctant to do the annual thing. So you're like, oh, it's gonna come up again. Well, I have the money, you know, to keep doing that. Well, this way, you pay it, and then you just set a category and say every month, this is the amount that I gotta put in there, and you're just paying a monthly bill. And then when it comes up at at the end of the year, you just pay it, and then just every month.
So it's not there's never a big expense that catches you off guard. And the other advantage that I've never used in the business, but that I do in my personal life, is that you and I will have to talk about it. Mhmm. So, like, it provides, like, a common, like, it it's it stores our financial information in an easily understandable way so that you and I can be like, you know, we've had these conversations, like, should we budget for Berry to do Mhmm. Blah blah blah?
Well, we could have that in YNAB and then move dollars from one category to the other. Once you have everything spent in your categories like, it's not actually spent. It's just allocated. But once it's basically spent, you know you're gonna spend it. Then it's a lot easier to feel confident about making a budgeting decision for something like, should we just pay Barry to do the 5 hours of work for this thing?
And and then we can actually, like, look. And if it's like, oh, well, we don't just we can't just cash flow it this month, so we're gonna have to pull from a budget, then we have to have a conversation of
Aaron
which budget
Sean
we pull from. Budget. Yeah. Alright. So that's
Aaron
So I am super on board with all of that, and it's just way easier to do it in YNAB than something like QuickBooks just because QuickBooks sucks so hard.
Sean
Yeah. YNAB is just designed for that exact workflow. Yeah. And I've tried other things, you know, in the past. I use Mint for a long time.
Those things are more like after the fact analyzing data that already happened. Mynd app is making you spend the money now when it comes in. So you put it into the categories.
Aaron
Okay.
Sean
And then Yeah.
Aaron
Let's try it.
Sean
Money comes out of it. And then also, oh, for taxes at the end of the year, it's great because you're you're basically your own bookkeeper.
Aaron
Right.
Sean
And
Aaron
that's what I was gonna do in in QuickBooks was do the actual bookkeeping. But if we can accomplish both of those things and why not just doing why not? I mean, we've got, what, 2 monthly expenses right now. Transistor.
Sean
Yeah.
Aaron
Google Suite. So Yeah.
Sean
We don't even need to start using it now. But, like, when when we do, let's you know, as soon as we start having more conversations, let's let's do that. I mean, we already now we need to make sure we set aside money for taxes. Probably, we should get our accountant, whoever that's gonna be, telling us what we need to pay for quarterlies and stuff like that. So we should have that That's true.
Budgeted out.
Aaron
Speaking of, I filed you know, we we had no activity last year. We had an entity, but no activity. Right. March 15th came. I filed the free extension and everything, so we're we're fine.
We just need to file the actual paper form that says we had no activity last year. So I don't know if you want your accountant to do that or mine or what you want, but we're good. Yeah.
Sean
Let's let's let's do it. Okay. And then have the conversation about whether we wanna hire mine or yours to do our accounting for next year. I mean, I don't, I don't I don't care. Aaron's awesome, my guy.
Aaron
I was gonna say thank thank you very much. I am awesome.
Sean
It's very confusing. I have too many Aarons. My brother's name is Aaron too.
Aaron
I didn't know.
Sean
So all the time when I have to when I'm talking to Beth, I'm like, Aaron did this thing today, and she'll be like, which one?
Aaron
Hopefully, it wasn't me. I bet it was me, though. Okay. Well, I'll have I'll have mine finish the 2020 in just filing a a blank return. And then We can
Sean
price compare if you want. I I think I might go like
Aaron
Let's just go with yours.
Sean
Okay.
Aaron
Yeah. Mine mine is fine, but I would prefer to just go with yours.
Sean
Okay.
Aaron
Especially since you have to file the foreign because it's a Texas LLC and you're a Chicago or Illinois resident, you have to file an an extra form. So let's just let him handle that whole thing.
Sean
Okay. Yeah. And he already was aware of, like, Texas rules and all that stuff, and he said he could he could do it if we wanted to.
Aaron
Okay. Cool. Great. Well, I will make sure that we get the, 2021 filed. I think we have until, you know, September, but I'll work on it this week.
Sean
Okay. Yeah. So I'd although I will say I doubt that's gonna be cheap. We should we should talk cost. Like, so he does cost me, like, $2,000 a year to do that.
He does all my he does payroll, and he does the taxes. But I have been happy to pay him that every single year because I've had no issues with him.
Aaron
So my guy costs 7.50 for a 10.65, which is a Mhmm. Partnership. So it's also not cheap. I mean, he'll file I had him file.
Sean
He's been filing my my individual income taxes, like our family income taxes too. So he does the all of my taxes for 2 for
Aaron
Right. So I don't know what the incremental cost would be for another entity, but
Sean
it's Probably similar to your guy. Yeah. It sounds like.
Aaron
It's not like mine is Barkin Basement. So Okay. Let's just go with Aaron. You're Aaron.
Sean
Okay. Aaron j domash ataol.com. That's a sign of a really good account,
Aaron
I think. That's true. That is yeah. It's an industry specific sign. I was gonna say I maybe changed my mind, but no, you're right.
Sean
He's very old school and has the best Chicago accent. He's great. Love it.
Aaron
So we just had the, almost had the client's name. We just had the client call, and our portion was, like, maybe a minute, maybe a minute and a half.
Sean
Yeah. We didn't have anything this week. Sorry. Go ahead. You finished finished.
Aaron
I was gonna say in everyone else's, they just each person probably talked for 10 or 15 minutes, which, you know, may or may not be necessary.
Sean
Only do they talk for 10 or 15 minutes, they're accomplishing these major feats of technology. And I was like, that's one reason why I decided to not share my little UI progress this week, because because I was like, the juxtaposition of this compared to these other things I just saw happening Yeah. Is too much.
Aaron
Yeah.
Sean
It's too much. I can't do it. Like, look, I added the ability to add custom prefixes to your query. Mhmm. Cool.
I mean, it's cool. It is cool. I also added groupings to the select drop down, and it was all really easy. That was the thing that's cool. It was super easy Yes.
For me to just drop it in. It took took a couple hours, and that was it. And then the couple hours were not related to, like, getting it into the front end. It was getting, you know, the the prefix box to jam up against select 2 and, like, all the custom theming stuff. Yeah.
It ran in bullet train and all that crap.
Aaron
So So you you kinda got to use refine as an application developer would instead of like a like a hammer stone developer. At least on the back end, you were like, I wanna add a category, so I'm just gonna add some meta here. So you found that to be straightforward?
Sean
I did. Though I will say, I don't really understand. So the thing about the meta, I know in theory, it's supposed to be like, we could throw this in there, and then the the client is gonna be able to do whatever they want with it.
Aaron
Mhmm.
Sean
That's true when we allow them to specify their own components. Right? Which we do with view. Mhmm. And we can with clauses, for example.
Mhmm. But, like, this part was for in the Rails app. Sorry. In the Rails app, we can with clauses. In the view app, we can you could specify, I forget actually what levels we've decided to allow them to specify components.
But so I guess that would be the thing, like, you would have in order to do the thing I did, you decided, I would like to have this drop down with meta, then you would have to create your own custom component, hopefully pull in the pieces that we have already made for you, add the meta to your condition and on the back end, and then do the thing you want with the meta, and then specify to load your component instead of, like, our default component, and then it would load and everything would work. Mhmm. So all that's beauty is on the, on the view side. And in Rails LAN, with the Hotwire implementation, I don't know. I just it was, like, hard coded, basically.
Like, there's no
Aaron
Yeah. And that's how it is at at Resolute, where I work, is we, you know, we own the front end, and it's just like Right. It's just our deal. And that's kind of the same that's kind of the same thing, for the client. They just have the front end.
And so, you know, you you're you're actually doing it, but it really is like an application specific thing. And so they can just throw meta in and then know what they're expecting on the front end.
Sean
Yeah. Right. And and, yeah, that's what it would feel like if I was doing it by creating my own custom component and then specifying that. I would just add the meta, specify my component in the condition, and then my component would load, and the I could do the thing that I wanted to do. That'll be really nice.
Like, it's frankly a pretty good it's a pretty good experience. The categories thing, like like, it's basically meta let me shoot horn categories in there.
Aaron
Mhmm.
Sean
But it's kind of fugly. Right? Because I have to put a category in every single condition. So, like, if I want them to be in the, email broadcast category or whatever, I have to put email broadcast on every single one that wants to have that category. And then I had to do some jump through some hoops, right, like, on the the rendering side too because I pulled
Aaron
to a higher level. Yeah.
Sean
Weird because, like, I need to, like, pull it up, and then only these things go under here, and then what about the uncategorized ones? So I had to, like, you know, I had to do computer programming and, figure that out, as you PHP guys would say. Right? I had to write a loop, do some programming. But Yeah.
Aaron
That's interesting because you're right. You're you're putting a, like, a first level item deeper into, like, the second level.
Sean
Yeah. It's, like, getting spread out, which which is it's basically, like, hey, look. I can, like, make this happen with meta. That feels like it should probably be a first class thing. Mhmm.
So I decided to just make it happen with Meta, and, actually, I should add to our Trello board. Like, I really think that should be a first class part of conditions. Yeah. Seems so obvious that people are gonna want that.
Aaron
What we're talking about here is, like, in select, like, drop downs, you can have the excuse me. You can have the opt groups, which is like a proper HTML tag, and that specifies when you have a drop down that has a ton of things in it, you can kinda categorize them and, like, say these 5 options belong to email broadcast, and these 5 options belong to user attributes, and it kind of breaks it up in the UI for you. So, yeah, I feel like enough people are gonna want that that we should probably bake it in.
Sean
Yeah. I agree. And what I did was I just added it to our Trello board under I created a new column called, like, future features, and we'll just I can live there. We we do not need to do that anytime soon because it works. Right?
So, and then it'll just be, like, a nice thing that we can we can drop in. Like, hey. And sometimes I can create, you know, a category on every single condition for your filter, you can, you know, refactor it to do it this way, and it looks a lot cleaner. So that'll be that'll be good. I mean, it's gonna be you know, I say that, but, like, I may want it sooner because it's gonna be me doing it for these guys.
Aaron
Right. Totally.
Sean
And so, we'll see how many categories I have to do. Not all of their things will necessarily require that. Some of them are more complicated than others.
Aaron
Well, here's an interesting question. You're gonna have to write it, like, you're gonna have to write it all at some point. Right? You're either gonna put it on the option and say the category is this, or you're gonna write a category and say the options are this. So, like, you know, one way or another, you're kinda having
Sean
to do it. The alright. So conditions. So I'm, like, I'm grouping conditions, and I guess we could also do it with grouping clauses. But Mhmm.
But that feels like, you know, it would be, like, in a block. So, like, I would say Oh,
Aaron
I see. Mhmm.
Sean
I would say, like, condition, like, condition category do, and then I mean, I don't know how we could do it in, like, a function call too. Like, it doesn't have to be this block thing. Like, essentially, it's wrapping the calls to create conditions, and then it would just automatically, like, put them in that category or just add that category to meta or give me a category in the filter, like, break conditions into because right now, I just get conditions as, like, an array. Mhmm.
Aaron
Could be
Sean
an object by category. By category. Instead. Right? I'm making that I'm making that myself backwards from like the the meta, essentially.
Aaron
You're plucking the categories out and making it into an object.
Sean
Yeah. Exactly.
Aaron
Okay. Interesting. Yeah. I'll think about that. That's a good idea.
Sean
Yeah. So I threw that on there. We can we can, sit on that. Don't have to do it right away.
Aaron
Okay. Cool.
Sean
But, yeah, that project's going great. I am just frustrated that we didn't have a better update for this week. It just it just is what it is. You know? I don't I I don't love these, like, show off meetings.
I don't think you know, once once we have, like, 30 employees or so, I don't think we'll we'll do this.
Aaron
It's not when we have 30 employees. Yeah.
Sean
I don't think
Aaron
What is for,
Sean
like, 30 employees for our side project at
Aaron
the Right. What's the what's the drawback in your in your eyes?
Sean
Well, because it kind of pushes you to be like, okay. What's this thing, and what's the thing I'm gonna show off this week? To, like, always be, like, producing a thing, which that's not the right I don't love that model. Like, I don't love that way of thinking for while I'm while I'm coding. I mean, it's really important.
We gotta we gotta ship you gotta ship stuff that actually works, but, like, having, like, a pressure of, like, I need to do some so what it does for me is each week, I'm like, oh, I should do a few things that are showy. Yeah. So that way I can, like, have a thing to to demo. But, really, there's, like, other important things. So, like like, you know, Colleen I I was extremely tempted to push Colleen to do something different so that way we could have something to show off
Aaron
Yeah.
Sean
To peel her off from working on refinements and have her, like, put error do error validations in line. Mhmm. Or, you know, like, like, basically, accumulate errors and then send it back to me so I put them in line, and we could have that showing. But that I decided, even though I really wanted to have a thing to show this week that it would be a mistake that we should actually just focus on refinements even though we would have nothing to show. And I would just have to deal with the pain and, you know, wake up feeling anxious this morning.
Like, it sucked. Yeah. Yeah.
Aaron
But I don't
Sean
like that because it it really did push me to feel like I need to do something showy. And I think I'm used self discipline and made the right decision, but, like, that that's the mistake, I think, to make employees, like, have to have to deal with that. Depends on your culture. Like, maybe there's maybe their culture is compatible with that and and he's fine with it.
Aaron
Yeah. And it could be an accident. Somebody could have shown early on and been like, hey. This is what I'm working on. And now it's like, okay.
I guess this is what I'm working on, and now it's just now it's the standard as we we screen share every time.
Sean
Yeah. Like, it's really important to show your work to the group so that people know what's going on. Like, for example, now we know what that team is doing for the back end stuff, which we talked
Aaron
about before the call. Important.
Sean
Super important to us, and we really needed to know that. So you need that. But then, like, is that the way to do it is to, like, make teams do demos every 2 weeks? Like, that's I don't know. I I there's definitely pluses to it for sure, because then, like, people need to, like, feel this urge to, like, continuously which they need to.
Right?
Aaron
Yeah. That's the other thing is we'll never do it this way.
Sean
I don't personally need that external, like, push to get shit done. You know? But and in fact, it kind of makes me not want to. Do you know what I mean? It's like positive effect on me.
But but, you know, whatever. I'm old now, so I've I've, matured enough to deal with that shit. But I'd like, you know, that's a lot to ask of people.
Aaron
Yeah. And we'll never build an application like this, and we'll never build an application this way. And so, you know, for us, it doesn't really matter except that we're building it for them and we have to do it.
Sean
Yeah. I will say, though, I mean, I'm to see it coming together, and, everybody has such a good attitude. And it seems, you know, like, this could be easily something, you know, that could I I suspect they're gonna pull it off now.
Aaron
I think they might. They're they're moving quick.
Sean
Yeah. Yeah. They hired a lot of the right people.
Aaron
Mhmm.
Sean
Because I don't know how many are internal and how many are, consultants. Mhmm. But I think they got a really good mix. They pulled in the right people from their internal team and hired the right consultants and, like, make it some good seems I'm just I'm really impressed because it's a huge project, and they're they're cruising. They're some really amazing engineers.
I mean, that meeting today, I was like, why am I even doing this job? These these guys should just do it. They're all way better than me. That's
Aaron
Yeah. Now now you know how I feel. Yeah. And it's like the project owner slash, like, found, you know, CTO founder of a company is in the code every day pushing stuff forward, and it's pretty, pretty impressive. Like, he's open in PRs all the time.
Yep. It's pretty cool. Also, Andrew is driving so much of it, which is amazing. Yeah.
Sean
He's huge. He was at the big old meeting with all the important people that they just did.
Aaron
Were you at that one?
Sean
No.
Aaron
Okay.
Sean
No. Thank god. Yeah.
Aaron
Did I ever
Sean
tell you I got pulled into, like, a meeting a board meeting for a Fortune 500 company when I was, like, in my early twenties?
Aaron
Oh, gosh. No.
Sean
Well, no. It's happened to me twice now, but one one was an accident, and this one one was on purpose. The, the on purpose one was I was a consultant at Accenture. I mean, I had put a ton of work into a project that made it very successful for this company. And, my bosses I I started at the beginning of the project, so all of my bosses then were just senior partners at Accenture just randomly.
So all of a sudden, like, I was doing all this work for these senior partners, and so they all really liked me a lot. And this is the the infamous $500,000 spreadsheet Mhmm. That I that was they sold the that they sold to Comcast. Right?
Aaron
So I
Sean
was doing that thing for them. So they they loved that. And then and then for the next project, you know, they're, like, pitching their next project to the to the board, basically. And, they pulled me into that meeting, which was hilarious. I didn't I I said only a few things, and then mostly, I was there to, like, wear a suit and look like a consultant.
That's what they told me. And so, like, that, you know, apparently, some of them knew of me. I accidentally met the CIO at a urinal. That was, that's terrible. Yeah.
Yeah. Anyway, I don't I don't like that experience right now. Well, neither the the urinal or the board meeting. That was
Aaron
No. No. Especially not at 20 something.
Sean
No. It was way too much. Yeah. I
Aaron
was one time on a call with the CEO of Veronis, and he asked me a specific question, and I was like, nope. Don't like this at all. Just one time, and, fortunately, that was all.
Sean
You, like, slowly warm up to that kind of stuff. You know? Like like, the meeting that we just did today, like, normally, I I a long a a while ago, I would have been terrified by that meeting. Yeah. Especially having to be like, we don't have anything to show this week.
But, you know, like I said, I still had a little anxiety when I woke up this morning, but, you know, it wasn't, it wasn't, like, crushing or anything. I kinda got over it, like, after I woke up a bit. But you get used to it, I guess. I guess you get used to anything.
Aaron
Yep. I talked to Colleen just before, and she's almost got, relationships totally done. So once she gets I thought those were. Yeah. Yeah.
Done. So they're done.
Sean
I told everybody at the meeting they were done.
Aaron
They are done. The thing that she's doing now is, like, the optimization. So if you, you know, you query 2 different things on the same relationship, we'll put them together into the same subquery instead of running 2 separate subqueries.
Sean
Wait. Okay. Give me an example of a relationship query and
Aaron
You're querying yeah. If you're querying users and you say users is like the main model, And you say, I want users where the manager's name is Sean. Yeah. Manager's relationship. So you'd say, users where the manager's name is Sean, and then on a separate line, users that live in Chicago or users where the manager lives in Chicago.
So you're hitting the manager relationship twice. Once to see if your name is Sean and once to see if they live in Chicago.
Sean
Right.
Aaron
So instead of doing 2 separate sub queries, which is fine, but expensive, we can collapse those and put them into the same subquery because they're inspecting the same relationship.
Sean
Mhmm. Yep. Makes sense.
Aaron
And so that's what she's doing right now, and that's what opens the door for refinements.
Sean
So, you know, what's interesting to me? I barely now I'm like, wait a minute. I thought refinements were gonna be, like, queries, like, user has events, which is already just a relationship. So users have events that happened 4 days ago. Isn't that just a relationship query?
Aaron
Yeah. It is. So the optimization that allows 2 different, relationship queries to be collapsed into 1 is also the function by which we apply refinements. So the work that she's doing to optimize those relationships is integral to being able to have refinements whatsoever. So they happen to both rely on the same thing, but they're they're separate, if that makes sense.
Sean
Okay. So, like, what so, like, the thing I just said, so, like, users who had this, you know, purchase event
Aaron
Mhmm.
Sean
In the last 4 days, That's just a relationship. Uh-huh. We could do that now, apparently.
Aaron
We could do, yeah, user that purchased something in the last 4 days. Yeah. We could do that now.
Sean
Okay. What's the thing that we that refinements will let us do then?
Aaron
Refiners will let us do, refinements will let us say users that purchased a hat 3 times in the past year. Oh. Yeah. Seriously, what would be All all all on the same line.
Sean
Okay. Yeah. So if you didn't because you could do it with just so users who purchased hats. Mhmm. And then and you could do users who purchased hats in the last year, and then you could do another line who users who purchased 3 hats.
Mhmm.
Aaron
But then your then your your query is totally different. So you could say, like
Sean
query. Yeah.
Aaron
Show me users that purchased a hat. Show me show me users, that made 3 purchases, and show me users that purchased something in the last year. Like, you could you could approximate it, but you couldn't do it. Like, you couldn't do show me users that purchased 3 hats in the last year or purchased a hat three times.
Sean
Alright. That's mind bendy to keep wrap my head around, like, the query for because it would be yeah. Like, okay. I need I need to get purchases user purchases that happened in the last 3 years. So, like, that exists.
Aaron
Mhmm.
Sean
And then so that would be like a subquery of, like, on purchase events that happened in the last 3 years. And then those those would have to also be oh, and I also have to do a query on that to say that those purchases were hats.
Aaron
Bingo. Yep.
Sean
So I have to apply 2 things to the subquery. Mhmm.
Aaron
Okay. And then you have to group it.
Sean
Events, like a purchase event that happened, within the last 4 days, users that have purchased event that happened in the last 4 days, that is only 1
Aaron
One row. Thing. Yep. Easy peasy.
Sean
Yeah. So if you wanna continue to add more, basically, where clauses to this thing?
Aaron
Kind of. So refinements get gnarly because not only are they inspecting the table itself, so you're, like, saying, you know, select let's just say star select star from purchases where item equals hat or whatever. Right?
Sean
Right.
Aaron
That gets you hats. Then you wanna say and, you know, created at is in the past 3 years. So now you have 2 kind of 2 bindings in that query.
Sean
Right.
Aaron
But then to be efficient and to be able to look across all users that have done that, you have to group it and then add a having. So you say select select user ID from purchases where, you know, item equals hat and created at is in the last 3 years, group by user ID having count greater than 3.
Sean
Right.
Aaron
And so you have to be able to build all of that and then run that as a subquery. Yeah. It's insane. And this was this was when I told you months ago that I was watching a women's soccer game and was like, oh, dude. I got it.
That's what I got. And it works it works great.
Sean
So so then now if that has to happen in Elasticsearch
Aaron
I don't know.
Sean
Yeah. I mean, does Elasticsearch do subqueries? And then, yeah, do is it even possible for us to write our code such that
Aaron
I'll tell you what Elasticsearch doesn't do is sit inside of a My SQL query. Like, you can't do a My SQL query with an Elasticsearch subquery. Can't do that.
Sean
So Right.
Aaron
It's either all all in Elastic, or it's all in MySQL, or you're combining the 2 in memory, which is a bad idea. Like, you're you're pull you're pulling results back into the application and then rerunning a separate query, which is not what you wanna do.
Sean
Well, yeah, I mean, that that might be what they but that's that's gonna be, like, the limitation.
Aaron
Right. Then that's the discussion we'll need to have with them is what's your data and where does it live, and are you aware of these limitations?
Sean
Mhmm. Mhmm. Yeah. And, like, so how and also how much of the work that we're doing on the refinements can be ported? Are we just gonna redo it again except in Elasticsearch?
Aaron
Yeah. Basically. Basically. Instead of aural nodes or whatever they're called, aural nodes.
Sean
Right. We just write it again.
Aaron
There'll be elastic nodes. Yeah.
Sean
Right. Okay. But that seems but she's gonna yeah. But she does it once, and then she said she's using using abstract syntax tree for the blueprint. So then she could take that.
And instead of doing AREL, which is apparently how you pronounce that k.
Aaron
Fisked it twice then.
Sean
Colleen taught me that. I've been saying r
Aaron
l forever. I've been saying
Sean
r l too. But if you take instead of pumping out ARL nodes, she could do whatever the Elasticsearch thing is. Hopefully, they give us something like that as well or whatever they choose to use. It looks like it's looking like Elasticsearch.
Aaron
Yeah. And if if Elastic really does have a rock solid SQL to Elastic API, we can just live with the Arel. Is it Arel?
Sean
A roll.
Aaron
A roll. We can live with the a roll nodes and then feed them into Elastic and let Elastic convert the SQL to Elastic.
Sean
Mhmm. Mhmm. That'd be sweet.
Aaron
That would be sweet. Who knows if it's possible? Yeah.
Sean
Yeah.
Aaron
But we're moving we're moving right along. I think it's gonna work.
Sean
Yeah. So since we're kinda in, like, a dead space with features for them, I was thinking, actually, I might peel off some work on the view thing, because I feel like I could go really fast on that at this point. Yeah. Like, really fast. That would be awesome.
So many times. I think I might. I'm planning on doing that, actually.
Aaron
Oh, I forgot to tell you. Somebody DM's me on Twitter about wanting to use the the Laravel version and wanting to pay to help get it finished out.
Sean
Are you serious? Yeah. We're not even trying.
Aaron
I know.
Sean
This is why I'm like, I'm not so worried about this particular product in spite of you know, how we had to fail with the Safari Yeah. For, torchlight thing. This one isn't I don't I'm not worried about it.
Aaron
Yeah. He says, higher is is a Twitter DM higher and loving the look of your query builder. We have a massive DB, which this would could be epic for. Would you like our team to give it a test on something big? And so at this point, I'm thinking he just you know, he wants it for free, whatever.
And I'm like, hey. Thanks for reaching out. We would love that. I'll be honest. Our timeline is uncertain.
We're super focused on rails right now. We've got a client that's, you know, paying us to build it out. Are you in a rush or sometime the next 2 months would work? And he said, we're all developers are always in a rush. Offering some financial support would be in the cards also what do you have now?
And then I kinda went from there and told him what we have, and he said, well, let me know if it helps move you forward. So
Sean
So it's a it's a Laravel project?
Aaron
Yeah. Yeah. I don't wanna give them away, but it's a it's a Laravel project.
Sean
Okay. Cool.
Aaron
Yeah. I know. I I listen. I don't I don't think we should like, that's flattering. I don't think we should do it right now.
Sean
No. I know. I don't you're right. We have to say enough.
Aaron
Yeah.
Sean
Yeah. That's fine. It's
Aaron
That's okay. To
Sean
put the explicit. That's okay.
Aaron
Yeah. It's, like, that's exciting and that's great feedback, but it's just just we don't have the bandwidth to do that right now.
Sean
Pod I'm smashing my head on surfaces right now. I wish it was much faster. I know. Oh, it's painful. It's so painful.
Alright. Well, that does I'm gonna focus on the view thing because maybe who knows how close how much I could get done just tomorrow, you know, like well, I've got yeah. Like, this weekend, like, the rest of today and see what I can do. Because I'm really there's nothing I keep, like, kinda I keep looking at the Hotwire stuff and, like, well, I can't I can't really do I'm, like, waiting on Andrew for stuff. I'm waiting on Colleen for stuff.
I gotta I gotta just do other things. You know, I'm like, I don't know how I can't I'm just, like, fiddling with you guys.
Aaron
Yeah. Once once you start fiddling, you gotta take a while to do something else.
Sean
Like, oh, added prefixes, you know? I mean, like, it's a thing I was gonna need to do, but it was, like, pretty low priority. I'm, like, doing these very low priority things, which probably you could even live without. You know what I mean? So I gotta, yeah.
Alright. Alright. Well, that that makes me feel like I wanna move over to doing the view thing, and we'll just reach out to them whenever that gets done and see if they wanna give it a shot.
Aaron
I think that's I think that's right.
Sean
Yeah.
Aaron
No. That was supposed to be like, huzzah. We're doing it. I didn't mean to put pressure on you.
Sean
No. No. No. It didn't feel like pressure. Okay.
It didn't feel like pressure. It's just like I really wish we could move faster. I'm we're only doing what we can do.
Aaron
Yep. So And we're honestly not doing great.
Sean
Yeah. So so we're like
Aaron
We're we're doing fantastic.
Sean
Yeah. Oh, god. I can't wait to launch this, though. I still don't think it's gonna be, like, you know, epic launch, tons of licenses sold, like, right away, but, like, I do think it's gonna be fun.
Aaron
I think it's gonna be fun, and I think it's gonna be I think it's gonna be something. Yeah. I mean, especially if we I don't know if we've talked in a while about pricing, but if we sell them for 500 or a $1,000 a pop, we don't Yeah. We don't need epic launch. We just need launch.
Sean
Mhmm. Mhmm. Yeah. It should be a I think it should be $1,000 a month or, I mean, a year. Sorry.
For, like, a year of a license. Yeah. I agree. 29.95 or whatever that is. For a license and that you know, that and when we do launch, we're gonna need to have, like we're gonna need to slap some language on there about, like, a, SLA for, like, support contract.
Aaron
Mhmm.
Sean
So you could buy support too. That we gotta do that because we need to be able to set boundaries on people. Like, I wanna offer support in, like, a Slack channel. Just yeah. Sure.
Like, we got support in a Slack channel. Come in, and we'll try and help you out. But then we gotta be able to say, like, hey. This is, like, too much. You know?
Like, you gotta buy our support contract to, so that way we could set some boundaries around that kind of stuff.
Aaron
Yeah. Because I feel like that's gonna be a hard balance to strike when people want things, and you're like, well, that would that would be good for everyone, but that's just not on our road map right now. And I I I don't know how we're gonna navigate those waters.
Sean
Well, we're not we're not even close to there, but
Aaron
It'd be interesting to talk to Andrew about.
Sean
Yeah. We gotta have a support contract, though. I mean, that's what all these little things do anyway. Right? So that's not nobody's gonna be surprised by that.
Yeah. You do you like like, high charge, you buy a license, and then so that gives you updates for a year, and then you buy the sport contract if you want, like, their, like, quick support or whatever.
Aaron
Mhmm.
Sean
And, actually, I don't know if they offer any support for free. If you just get their knowledge base, and that's it. Mhmm. Like, our docs are really good. So we could honestly maybe we go and we say, like, you know, you got our docs, and you I don't know.
I really the thing is, though, here's the trade off of that approach is that I really like the Slack channel thing because you get feedback. And in early days, that's just, like, so useful Yeah. To get I agree. Like, how people are using it. So I feel like, you know, early days at least, we could offer the Slack support, and then as it gets busier, like, grandfather that out.
Aaron
Yeah. Yeah. That's gonna be interesting because especially if big companies wanna pay, you know, $5,000 for a year long support contracts, like, I'll I'll take that.
Sean
Yeah. It was we have to have it as a choice because of that. Like, I learned that even with my little info products. What did I do? I added, like, a just willy nilly added a $500 team license for my book.
So you buy it for, you know, like, 20 people or something in one go. And then, you know, like, it took me about 2 minutes to add that to the landing page, and I probably made $1500 from just 3 peep 3 organizations that just did that. Like, the so, you know, the ones you gotta, like, have the options. Yeah. And if there if we if if we price it right, then it's like, yeah, we could subcontract out support.
You know? I don't we were not gonna have Collie around forever.
Aaron
I I don't know. I I hope we do.
Sean
I know.
Aaron
I mean, even if even if we keep her around on a hourly basis, I I hope we keep her. That's why that's why I'm trying to pay her as soon as she invoices us because I'm like, please love us. Please stay with us.
Sean
Yeah. Yeah. It's it'll be tough. But yeah. Oh, well, cross that bridge when Yep.
When we come to it.
Aaron
Yep. We'll get there eventually. Alright. Anything else? Mm-mm.
Alright. Just call it there then.
Sean
Nothing else. Cool.