I joined my boss Ben on his podcast to talk about my side-business.
Aaron
00:00:01 – 00:00:02
Good morning.
Good morning.
How you doing?
Aaron
00:00:04 – 00:00:06
I'm doing well.
How are you?
Aaron
00:00:09 – 00:00:11
Tuesday.
Happy Tuesday to you.
So we have, mister Aaron Francis on today, 2 people's first and only marketing engineer.
Aaron
00:00:19 – 00:00:25
That's right.
Thanks for having me.
I am, I'm continuing the streak of not Derek, and I'm honored to be here.
Yeah.
I'm I'm stoked to have you here.
There's probably some overlap in people that know me and us, like, this podcast and you, I think.
Because you are you're sort of, I feel like you're Capri Laravel famous.
Aaron
00:00:38 – 00:00:51
I I am in the same kind of circle on the Internet as you are.
So there are probably some people that know me, but I feel like you're historically on the Ruby side, and I'm in the on the Laravel side.
So might not be quite as much crossover.
Yeah.
I think someday, I wanna make my, like, glorious return to the Ruby side and just to be, like, I am now a Ruby programmer again.
This is all I this is what I'm doing.
Let's talk about code.
Aaron
00:01:03 – 00:01:08
Yeah.
I think someday you might wanna go back to individual contributor, but we'll see.
Yeah.
I
think, yeah, I think I think that would be, like, my retirement.
I'll retire into just thinking about how do I refactor this to make it more beautiful?
Aaron
00:01:16 – 00:01:29
Yeah.
I saw Adam recently treated something about, you know, second time founder, 3rd time founder.
I think your 2nd or 3rd time founder is gonna be I am back to Ruby, back to Vim, and this is where I belong.
So we'll see.
It could be.
It could be.
I'm talking to Alex McCaw in a couple weeks, founder of Clearbit.
And then so he which is a VC backed, B2B enterprise SaaS, you know, with they have, like, a 100 people or something, maybe more.
And he recently left that company and has started Reflect, which is a note taking app, and is writing a lot of code.
And I think his his I have a hunch he's gonna come on and say, like, yeah, I wanna just write code and not hire very many people and keep this a small little boutique software thing.
Aaron
00:02:00 – 00:02:08
Yeah.
I I feel like you see that relatively often.
I feel like the guy at HashiCorp, what's his name?
Mitchell you know who I'm talking about?
Aaron
00:02:09 – 00:02:24
He he was CEO for a long time and then decided, you know what?
I'm just gonna be an individual contributor at this company that bears my name and I founded and someone else's CEO.
So I feel like it, you know, it kinda goes in waves.
You you wanna come back to it eventually.
That makes sense.
Yeah.
I mean, there's so much more you can do when you, like, create a company and get build a team and have, like, leverage people.
But it is a very different thing.
It's just a it's a different beast.
Okay.
Speaking of different beasts.
So we're not gonna actually talk about Twopel today, I think, very much, unless we have a lot of time at the end.
But I wanted to have you on to talk about the stuff you're doing when you are not a tupel.
So you're tupel halftime, creating very successful marketing projects for us and doing an awesome job at it.
And then the other time, you're doing other stuff.
Do you wanna talk about what that is?
Aaron
00:03:00 – 00:03:18
I do.
Yeah.
Yeah.
So the other stuff I'm doing, I think you mentioned at the top that I'm kind of in the Laravel world.
And so I am, you know, by trade, a a Laravel developer, not a marketer, but I am, I'm happy to be at Tuple as the marketer.
Aaron
00:03:18 – 00:03:50
So I I do a lot of Laravel stuff.
And one of the things like, the main thing that I'm doing in my not Tuple time is I'm working on this product called refine.
And refine is it's kinda hard to explain, which I think is what some of what we'll talk about.
Refine is a tool that helps developers build query builders for their end users.
So imagine the scenario we can actually take Tuple as an example.
Aaron
00:03:51 – 00:04:12
Imagine the scenario where you're coming to Joel and you're like, hey, I wanna be able to filter our dashboard.
I wanna see, you know, teams of over 5 people that are on trial that have made between 15 calls go.
And Joel's like, okay.
Well, you know, I can, you know, I can do that.
I can write a scope or I can, you know, give you database access or whatever.
Aaron
00:04:13 – 00:04:26
And then a week later, you're like, actually, I changed my mind.
I wanna see teams between 510 people that are not on the trial that have made fewer than 20 calls.
And Joel's like, god dang it.
Like, why do you keep coming to me with all of these questions?
Right?
Aaron
00:04:26 – 00:05:05
So what we do is we provide we provide the ability for Joel, the the developer in this scenario, to build out that feature without having to do all of the front end, back end, data validation, and database querying.
So we've built that entire thing, and then you get to drop it into your app and say like, okay, the fields are, you know, first name, team size, trial created at that kind of thing.
And then we handle generative front end, data validation, querying, all of that kind of stuff.
So that that is the tool that we build.
So we sell to developers who need to build this feature.
Okay.
And so the thing that the refine is going to let Joel do is give me give me, the product owner, or, like, some sort of end user, a, like, fully customizable parameterized query thing.
So I can go in and be, like, I want, you know, teams who have the the substring, foo, in it with 10 users, revert sorted in reverse order of favorite color.
Aaron
00:05:33 – 00:05:43
Bingo.
Yep.
You know, if you've used which I know you have.
If you've used linear, it's like that.
You're like, I wanna see issues that were created by this person and are open and assigned to this team.
Aaron
00:05:43 – 00:05:50
Go.
And it, you know, brings up the list of issues and you monkey around with your filters until it's just right.
We provide that filtering ability.
Gotcha.
You provide the ability to offer that filtering to your end users.
Aaron
00:05:55 – 00:06:00
Correct.
Whether that be internal or, like, external users.
Yep.
Got it.
And the theory here so the fundamental theory of the of the business or this product is that, like, providing that functionality to your end users is annoying and painful, bug prone, time consuming, bad things.
And if you use refine, this process is easy, pleasant, fewer bugs, that sort of thing.
Aaron
00:06:25 – 00:06:49
Yes.
Exactly.
The theory is everyone has had to build this, and especially people that have had to build it know how painful it is when you start dealing with, you know, especially dates, and then generative UI on the front end.
Like, building the query builder front end interface is a massive pain.
The theory is this sucks to build.
Aaron
00:06:49 – 00:06:53
We absorbed all that pain, and you can buy it for $1,000 per year.
Aaron
00:06:57 – 00:07:19
It is going exceedingly average so far, I would say.
So we've sold maybe 10 licenses.
So we've made $10,000, which is more than $0, so that feels good.
That's the exceedingly average part.
The I would say the downside is, 1, it's hard to sell to developers, which I wanna talk to you about.
Aaron
00:07:19 – 00:07:38
It's hard to sell to developers, and so far it seems like it is a very consulting adjacent sale.
So people will come to us and say, hey, I know you guys know how to build filters.
So it's me and my partner, Colleen.
So there are 2 of us.
I know you guys know how to build filters.
Aaron
00:07:39 – 00:08:08
I've got this analytics database with 5,000,000,000 rows.
Can you come be our database expert and help us build filters and also consult on database problems that we're having?
And it's like, yeah, we can, but not for $1,000.
And, you know, if I'm building a product halftime and I have a, you know, full time job halftime, if that makes sense, I can't be everyone's consultant.
And so that's kind of something that we're running into.
Aaron
00:08:08 – 00:08:11
It's very hands on, but we don't want it to be.
Got it.
So of these 10 customers who signed up, are they all did you find them all through consulting leads, basically?
Aaron
00:08:18 – 00:08:30
No.
So we found many of them through 1st and second circles online.
Whether they followed us directly, we have a podcast that they listen to, or saw it on Twitter, that sort of thing.
Mhmm.
Okay.
Did anybody buy it without talking to you or without much engagement?
Aaron
00:08:37 – 00:08:52
Yes.
So we've probably had 2 or 3 people that have just put money down and bought it.
1 emailed me and said, hey, I bought it, and I can't figure out how to use this part.
And I'm, like, oh, yeah.
Because this part's not documented because I usually do onboarding calls.
Aaron
00:08:52 – 00:09:02
Like, thanks for buying.
So that was, you know, that was encouraging.
And that was someone who had followed our story and knew, like, kinda knew the pitch.
And so he had just bought it without talking to me.
And so does the pricing work that so, like, as long as I have it running in a production app somewhere, I have to keep an active subscription to pay the 1,000 a year?
Is that how that roughly the idea?
Aaron
00:09:15 – 00:09:27
Potentially, roughly.
It is a private package.
So on our side, it's a private package.
On your side, it's a private gem.
And so you have access to the gem server or the package server for a year.
Aaron
00:09:27 – 00:09:30
Okay.
And then once that's over, that's over.
Got it.
And so if I if I canceled my subscription, I would lose access to that thing.
And then, like, the next time I went to deploy it or something, I wouldn't get be able to pull it down?
Or
Aaron
00:09:39 – 00:09:44
Exactly.
Yeah.
The next time you went to deploy it, you wouldn't be able to contact the private gem server.
And and is there an easy, like, just use the last version I already have and I can have that forever thing?
Or is it, like, pretty much, like, you're now kind of borked and can't deploy your app?
Aaron
00:09:54 – 00:10:17
Open.
You know, we haven't reached a year yet, so that's kind of a an open question.
There is a we're using a service called unlock.sh, and there is an option that when it expires, they have retained access to the last version, and they just don't get future versions, which, honestly, I'm totally fine with.
You know, if they wanna just stick with the old stuff and keep using that, I I don't super care.
I don't think.
Yeah.
That might eventually become a really important question, possibly.
Because, like, if if you get deeply embedded in an important app and, like, they have to keep paying you $1,000 a year or rewrite this thing or, like, redo it, that that could be a pretty incredibly low churn situation, assuming people are down to get into that situation in the first place.
We should definitely spend some time on pricing, but let's not go there yet.
How are the 10 users that you have so far finding it?
Aaron
00:10:51 – 00:11:45
So the ones that are fully onboarded, so this this guy that bought site unseen is not yet, but the other ones are loving it.
That part's been, you know, exceedingly encouraging, because they're saying stuff like, you know, what was taking my office admin 2 days to do, she's now able to do in an hour because I've given her these rich filtering capabilities, and she can just pull all of the reports that she needs without talking to anyone, without exporting to Excel, any of that.
It's like, wow, that's amazing.
You know, another one is saying, like, our our product team is able to generate basically, like, smart lists that is just the set of products that they're looking for, and they can you know, these filters are directly addressable.
So, like, they can bookmark it and come back to it the next day, and they're seeing, like, their list of products that they're responsible for.
Aaron
00:11:45 – 00:12:17
They're loving it from the end user perspective, from the developer perspective.
They're also loving it because it is incredibly customizable.
I perhaps went too far, but it's it's really customizable.
So the developer is able to control the experience pretty hardcore, and I think they really, really like that because they know more about their data than we do.
And sometimes, you know, sometimes they wanna expose no values to the end user and sometimes they don't, and they get to decide that on a per condition basis.
Aaron
00:12:17 – 00:12:25
And so they're just, you know, they're just thrilled to death with being able to customize it.
So everyone that uses it is really happy.
We just need more people to use it.
Okay.
I mean, that's a that's that's a good start.
Aaron
00:12:29 – 00:12:33
Yeah.
That feels really good.
I would be super discouraged if it were the other way around.
Right.
Yeah.
And, like, congrats, by the way.
Like, selling 10 copies of a $1,000 a year thing is that's not that's like, I feel like you're already in the 90 7th percentile of Yeah.
Thanks.
Aaron
00:12:44 – 00:12:45
Dev That's hard.
Selling stuff on the Internet success.
Aaron
00:12:46 – 00:12:49
Hard to remember sometimes, but I think you're right.
Thank you.
Especially if you really are gonna rebuild these people and they're gonna stick around.
Mhmm.
Like, you're starting to stack a recurring revenue pile Totally.
Which is awesome.
Why haven't your customers just built this already for themselves?
Aaron
00:13:05 – 00:13:32
Yeah.
Good question.
So some of them have built part of this already, which I think is the probably the meaty middle of the answer, is they've built part of it.
And one in particular pulled a pulled a free package off the shelf, built out maybe 60% of it, and his users kept coming back to him saying, okay.
Well, I know that I can, like, search on these criteria.
Aaron
00:13:32 – 00:13:55
Can you add another criteria?
Can you add another one?
And I wanna be able to now combine these criteria in certain ways.
And that's when the off the shelf package broke down is it wasn't able to be as flexible as his users were wanting.
And so he was staring down the barrel of a full rewrite to do this himself and thought, I don't I don't wanna do this.
Aaron
00:13:55 – 00:14:16
Like, and that's something interesting we might need to talk about is this guy's the product owner.
Right?
He's the developer and the product owner, and he was thinking, I don't want to spend all of my time doing this when the product is really something else.
And this filtering part has become just kinda like a really hard table stakes thing.
Like, my users are thinking, I should be able to filter.
Aaron
00:14:16 – 00:14:28
Like, that's not the product, but I should be able to do it.
And so they haven't built it themselves because it is super, super complicated to build flexible filtering like this.
Okay.
So yeah.
So so making it arbitrary and flexible is where it really gets tricky.
It's easy to build the first 40 to 60% of this.
Exactly.
You say, I really wanna have it work on all the fields combined in all the ways, it starts to get really gnarly.
Yep.
Okay.
When that person realized that this actually was much harder than I thought, what did he do?
Aaron
00:14:51 – 00:15:08
That's a good question that I can't fully answer because he was our very first customer, and he had been following me on Twitter.
And so I I don't know if he I don't know at what point he became aware of what he was going to have to do.
I think he may have already been aware of us at that point.
Okay.
Yep.
Yeah.
That feels actually kind of important.
Because my first inclination is, like, I imagine most developers, upon hearing this requirement, will go, oh, okay.
Yeah.
I can picture how to build that.
And they go start trying to build it.
And I think what you're hoping for the viability of this thing is that then they they get part of the way through it, or they keep getting additional feature requests or something, and they go, actually, you know what?
I don't want to do this.
This is not a fun dev project.
And then they Google something.
And what that thing is seems important.
Yes.
Or, like, what the whatever thing they do next is is, like, that's your moment of, like, if you could maybe make the sale.
Aaron
00:15:52 – 00:16:11
I agree with that.
And I think the story we've been telling ourselves, which is hopefully true, is that they go and Google for either Laravel query builder, Rails query builder.
We have both.
Or they think, I I can figure out the back end.
That part seems fun.
Aaron
00:16:11 – 00:16:31
I don't wanna muck around with a front end framework.
So they they Google Vue query builder or React query builder.
And we have those as well.
And they integrate with the back end, which is part of our, like, part of our shtick is we provide the whole thing.
It's not just, like, we'll bring the back end and you draw the rest of the owl.
Aaron
00:16:31 – 00:16:45
Right?
We give you we give you everything.
And so our theory is they're gonna Google for query builder, perhaps report builder or filter builder, but I think it's query.
That's the language most of them have been using.
Okay.
Have you sold anything any copies of this to people who googled that thing and then found your thing?
Aaron
00:16:53 – 00:17:03
That is a good question, and I think the answer is no.
I think everyone that we've sold to is first or second level social sales.
Okay.
Yeah.
Have you checked the search volume on those queries?
Aaron
00:17:07 – 00:17:10
A long time ago, and it wasn't very high.
Yeah.
That might be okay.
I mean, if it's, like, effectively or if it's, like, like, basically 0, maybe not great.
But if it, like the fact that it is low, I I don't think would necessarily make me that worried.
Mhmm.
Like, starting off having this be a pretty like, a niche thing that people only occasionally are searching for.
But when they search for, they're like, ah, yes.
This is exactly the thing.
Low volume probably means low competitiveness would be my guess on this particular query.
So could be fine.
Could be good, actually.
I kinda subtweeted about you a little bit the other day.
Aaron
00:17:42 – 00:17:54
I I was this is what I was gonna ask you, and I said we should save it for live because I felt like this was a subtweet.
And I was like, oh, no.
I think I think this is about me, and I knew it.
I knew that it was.
Yeah.
Aaron
00:17:54 – 00:17:55
It was Alright.
Go on.
To paraphrase the tweet, it was like the quote was, like, we're let me just pull it up.
Aaron
00:18:02 – 00:18:09
Oh, it's it's seared into my brain.
But, yeah, you should go ahead and you should go ahead and no.
No.
No.
Go ahead and pull it up just so we get it exactly right.
Aaron
00:18:11 – 00:18:16
I think have you ever met a developer is is Right.
Right.
The turning point of the tweet.
Yeah.
Alright.
Yeah.
So the the tweet is, quote, we're building a product to save developers time.
My response is, cool.
But you have have you ever actually met a developer?
They value their time at approximately negative $100 per hour.
Aaron
00:18:29 – 00:18:34
Yes.
Yeah.
I know that you're extremely clever.
I read right through that.
I knew.
Aaron
00:18:34 – 00:18:36
Oh, God dang it.
That's me.
Oh, yeah.
I I knew I knew you would know it was you.
It it was you I was thinking of, and I knew you would
Aaron
00:18:43 – 00:18:43
know that.
And it's okay.
Thanks for your time.
Broader point.
It's
Aaron
00:18:47 – 00:18:50
it's That tweet did well.
So, yeah, it must be a broader point.
Alright.
Patrick Collison liked this tweet.
So Wow.
Aaron
00:18:53 – 00:18:56
Yeah.
So It's good to hear the rounds.
Yeah.
That was a that was a fun moment for me.
Did I screenshot it?
I might have.
It's not a big deal.
Look.
We both run software companies.
Yeah.
So that's that's my fear for you, is that, yeah, a rational actor would say, spending 45 to 200 hours making my own flexible query builder is a terrible use of company time.
I shouldn't do it.
And I think probably 65% of developers will do it anyway because they won't stop to think that actually.
They'll just be like, oh, I see the requirements.
I understand what needs to be built.
I will go down this path even though I am reinventing a very intricate wheel.
And I'm likely to only get something that's, you know, 70% as good as what Aaron made.
Aaron
00:19:39 – 00:19:43
That is also my fear for me.
That's your fear for me.
That's my fear for me too.
I guess that is the biggest fear currently.
I wish telling people that, like, there was this great ROI on this thing worked better.
But it doesn't always, particularly with developers, I feel like.
Because I think so the thing I worry about with this is that it sounds a little fun.
When we were starting Tuple, I was glad that, like, real time, like, native communications app written in c plus plus sounds terrible to 98% of developers, basically.
Like, no one's like, I would just go make this my own in over the weekend.
And I was like, that's nice because we won't get that sort of, you know, how dare you charge money for such a simple product or something.
I worry a little bit that's that might be something that you might run to.
Aaron
00:20:23 – 00:20:42
Yeah.
And I think that is very accurate.
The people that have bought so far have basically been developer slash product people.
And so they know, like, building filtering is not worth my time.
My users need it, and I need to move on.
Aaron
00:20:43 – 00:21:10
But pure developers inside of a company, yeah, it's a fun it's a it's a great quagmire to get lost in for a little while.
It's a fun, like, kind of recursive nesting component thing that could be a little bit fun to waste some time on.
And so, yeah, that that's my fear too.
So provided, you know, provided that that is we'll just call it an accurate fear.
What's what do I do?
I think the thing you do is figure out whether or not that's that's the situation.
The question of this this business or this product is, are there enough people who will decide that it is not worth doing themselves?
And will they then go look for a solution?
And can you can you show up when they do and compete with other solutions they might consider?
And I think that, to me, feels like the kind of existential question of refine.
Because if people should use it, but they don't really want to, that's not so good.
If they go look for ant go look for solutions, but there's just, like, this killer open source version that everyone uses because it's the first Google result and you can't, you know, compete with that or something, that also would be a thing.
Or if, like, people think, like, this sucks, but they don't try to go fix it.
You know, they're just, like, oh, this sucks.
But, like, such as yeah.
Such as life.
They're, like, yeah.
There's there's a bunch of parts of my app like this.
Like, yeah.
I shouldn't have written so much billing code, but I don't know.
It's just had to get had to get the credit card form done.
I I think I would try to try to come up with experiments or research or something to figure out answers to these questions, maybe before most other things, based on what I'm hearing so
Aaron
00:22:24 – 00:22:28
far.
Trying to think of how you run an experiment to answer that question.
It might be interesting to to run ads on your relevant search queries and just see, like, can I get anybody to click an ad for this thing?
Because ranking for this is probably a great long term goal if this thing has legs, But you could, show up in ad like, Google AdWords results, like, today for these things.
You'll get more information about how much I I think, like, you could get more info.
Like, how many searches are there for this?
How many clicks could we get to our ad?
Did anybody buy?
Like, if if you bought a if you bought 400 clicks to your landing page for any whatever it cost to get that, how many sales do you get?
Yeah.
Okay.
That makes sense.
Might be an interesting thing.
Another thing that occurred to me is it could be that $1,000 a year for a thing that's going to be low churn well, so first of all, I think you could charge more for it.
I keep jump up a level.
You're having success so far selling this as part of consulting engagements, where you come in and you do some database work, and you set them up with Refine, and you get them on this building subscription, hopefully.
And now it's this is a thing that's embedded in their app, and its tendrils are in.
And, you know, if this like, if you have, like like, this could be a thing where it's like, yeah.
You've 4% annual churn once this thing is in there.
And it's, like, yeah.
It's slow going.
You gotta stack this stack these bricks over time.
But maybe it's worth, like, could you hire a person, like, an implementation expert?
Or could you just say, like, yeah.
We just gotta do these database consulting contracts and get this thing in there.
And maybe you get this thing to a to a few 1,000 per year for per install.
And it's, like, yeah.
I mean, if I do, like, 1 a month like, if I if I could do 2 a month, but each person's paying us 25100 or 4,000 or something a year.
Okay.
This is real money initially.
And, eventually, in a couple years, this is, like, potentially a real revenue stream.
Aaron
00:24:32 – 00:24:51
Yeah.
I like that.
Obviously, I like the pure product play the best because it just seems most, you know, platonically ideal.
But the consulting work is high value hard work that it's not just, like, you know, banging out features.
When people need database help, they really need database help.
And they're probably googling for it or looking around.
Yeah.
Like, reaching out and DM ing people and saying, please help us.
Right?
Aaron
00:24:57 – 00:25:08
Yeah.
Totally.
So I have I have actually I'm sure you've you've seen it on Twitter.
Tried to, like, brand myself kind of as, like, the database guy in the Laravel space.
Right?
Aaron
00:25:08 – 00:25:33
And so that's, you know, of course, that's strategic, and part of that is, like, hey, I can help with this broad set of problems, and I can really help with this specific problem.
So, like, if you need help with any of this kind of stuff, think of me as the person to do that.
Now long term, it would be great to have someone, like, that we have hired to help implement some of that stuff because I'm but one man.
That is kind of
like You're half of man, actually.
Aaron
00:25:35 – 00:25:52
Yeah.
Yeah.
That's true.
I forgot my boss is here.
So that is kind of, like, kind of a thought that I've had is, okay, let's do product plus consulting, and, you know, the product will kind of be the back end, like, ongoing part, and the consulting will be the upfront, make it worth my time part.
That seems quite viable to me.
I think a lot of people wanna build self serve SaaS.
This is a pretty big hurdle to go over, I think.
Like, integrating the back end and the front end, to this thing seems, like, kinda tricky.
I could it seems that the sort of thing that people would sign up for and then not do seems plausible.
Whereas, if you're like, oh, yeah.
I'm here to solve your database ills and base by the way, we also should do this as part of it and just embedded it here.
And don't worry.
It's only a few $1,000 a year forever.
Yeah.
That could be pretty good.
And then, like, it could be that you're, like, slowly growing this revenue base over time with each of these.
Like so you can do these, like, pretty high ticket, I imagine, database consulting contracts, where you say, I'm the ex I'm one of the experts on this thing.
Therefore, I cost a lot per engagement, and it even it kinda comes with this recurring cost, when it makes sense.
And over time, maybe you're, like, you're eventually, this, like, recurring portion dwarfs the consulting portion, or at least catches up.
Or at least, and you just say, yeah.
I'm gonna do, like, I'm gonna do one of these a month, or, like, I'm gonna do a couple a quarter or something.
And you're just kinda, like, well, I'm Yeah.
I'm making enough from the recurring bits that I'm not so crazy about the Or or Yeah.
You you you hire somebody and you end up doing a little, have somebody else do the the other bits.
Aaron
00:27:17 – 00:27:38
Colleen and I have talked about, like, basically saying to people that want this this feature in their app saying, listen.
You can buy it for a $1,000 and do it yourself, or you can pay us $10,000 and it'll be done in a week.
Also, you're signing up for a $1,000 a year subscription, but we'll come in, do it.
It's over.
You're done.
Aaron
00:27:38 – 00:27:54
Off to the races, and now you're one of our customers.
That's something that we are kinda, like, thinking might be at least a good way to bootstrap ourselves into the consciousness of, like, the community until we start getting word-of-mouth, like, hey.
Just use these people's thing.
Yeah.
Yes.
That's a great point.
Yeah.
I mean, that it could be that over time, especially when you land larger customers that have a lot of developers, and then they then they go and have this diaspora.
They they spread out.
They're like, oh, yeah.
We used to use this thing.
Oh, oh, we need this thing.
Oh, we use Refinery Real Place.
Like, we should just get this.
This is, like, a nice way to do it.
We see that with Tupelo all the time.
Yeah.
I mean, it doesn't sound like the worst worst business to me or, like, the worst life, just, like, these high value consulting contracts plus a recurring retainer.
I really think that point of, like, when people have database problems, they really have a problem.
When people need query builders, they sort of have a problem.
Aaron
00:28:31 – 00:28:35
Right.
Yeah.
They have probably put it off for a while already.
Yeah.
The database thing, you mean?
Aaron
00:28:37 – 00:28:41
No.
The query builder.
You're like, we can get by with what we have.
Yeah.
You yeah.
Can you give me a CSV export, and I'll just do it in Excel?
Like,
Aaron
00:28:45 – 00:28:46
yeah.
Exactly.
That that'll work ish.
You know?
It's not as good.
But, like, there's there's, like, workarounds of, like, dump the data into a different format, and I'll do it in a different tool.
They're just not doing it, and it's probably okay.
Or, like, yeah, like, dump your like, oh, can we just forward this into Mixpanel, and then I'll do some stuff there?
I imagine there's, like, a it feels like there's, like, alternatives.
Or someone just goes, no problem.
I'll build this.
This this is, like, 2 days.
And then they sort of happily spend 2 days, 10 times, and end up with, you know, something that's okay enough.
But I would say, where it's, like, the database is way too slow.
This page is, like, timing out before it even loads.
Customers are mad at us.
That is like a, fix this right now.
Get this fixed.
Let's go.
That has so much more fire underneath it that I can see it.
That's when people are, like, googling, reaching out, networking.
Hey.
Does anybody know a database person that can help me with this thing?
And you do high high margin consulting plus recurring retain like, recurring revenue.
It's maybe not exactly the kind of, like, hands offs ass you wanted to build, but it's doesn't sound bad to me.
Aaron
00:29:51 – 00:30:13
No.
It doesn't sound bad to me either.
I love those kinds of problems.
So, like, the work sounds appealing.
And I think I'm, like, I I feel like I'm having to kind of be adaptable and let go of the platonic ideal of, you know, I sit in the cave and code these really awesome hard problems, and then people shower me with money.
Aaron
00:30:13 – 00:30:56
Like, I'm kind of letting go of a little bit of that and thinking, okay, there is a thing that I can do that people want, and maybe and I like doing it.
And so maybe I should consider, like, doing more of that.
And so that's that's kind I'm kind of along that same path as as you are.
There's another pricing thing that I I want to to float, while we're talking pricing.
So there is a world in which we do the Sidekick model where refine is free and open source, and everybody just picks it up and uses it because now there really is, you know, there really is no excuse.
Aaron
00:30:57 – 00:31:13
Everybody uses it.
The community grows, the bug fixes, the docs, everything grows.
And then there's a premium model that costs, we'll say $1,000 a year, just like straight sidekick model.
What are your thoughts on that?
I also like that.
Do you think there's a clear, like, premium thing there?
Like, a a way to segment those people out who are getting 10 times as much value slash have 10 times as much money?
Aaron
00:31:25 – 00:31:52
Yeah.
Clear is debatable, but there are some things we could limit the free I don't know much too much about Sidekick because I'm not a Rubyist, but I feel like Sidekick is, you know, quote unquote artificially limited in that.
It's just, like, really it's segmented.
You can't do this on the free version.
We could do that in terms of, you know, we're we allow groups of say, like, I want these people or these people or these people.
Aaron
00:31:52 – 00:32:21
And we could say, for the free version, you get one group.
So you can say, like, you don't get ands and ors, you just get one group.
We could do something like, we have this concept of refinements.
So you could say, show me people that have clicked, and then you could refine it to say at least 2 times in the past 7 days.
And those last two parts are kinda, like, refine it down further, and we could artificially limit it based on that.
Aaron
00:32:21 – 00:32:33
So I I don't know that it's exceedingly clear.
It's definitely not clear in terms of who gets, like, the who has the most money.
It's just kinda these features we could put over into this other bucket.
Yeah.
So I guess the questions are, is this a big enough need that you had a free version of this and gave away most of it for free, that you are getting a lot of value from that?
Like, are there are there 100 or 1000 of teams that would start using this, developers that pick this up and it would become a the de facto standard?
If so, that seems that helps.
And then is there a way that is there a set of features that you can push into a premium tier that will compel people to upgrade?
I mean, the Sidekick example is a really good one.
It's hard to argue with the success there.
Like, Mike has been I mean, has publicly been said said he, like, he's doing multiple millions in ARR and he was doing it by himself at least before.
I think he might have an employee or 2 now, but that worked for him.
His tagline is up to 20 x faster than the competition.
He he figured out a way to to do something a lot better than the sort of free open source stuff or sort of his competitors.
And then found some some good features to differentiate there to get people to to buy, like, yeah, a fancier fancier controls over your jobs that become relevant when you use it a lot.
Aaron
00:33:42 – 00:33:52
Right.
I know that you're a businessman now, but do you remember what the split for, Sidekick Free and Pro?
Do you remember what his differentiator is?
I mean, I I'm looking at his pricing grid.
Yeah.
So it's, like, batches, enhanced reliability, search in web UI, worker metrics, and expiring jobs are the first set of features you get when you upgrade.
And then there's a bunch more enterprise stuff of rate limiting, cron jobs, unique jobs, rolling restarts, long running jobs, historical metrics, multiprocess encryption.
So it seems like and he also I think probably very importantly, I think people under pay attention to this, is he's got a value metric in here.
So it's like the enterprise thing starts at 2.30 per month per 100 threads.
And you could imagine how somewhere has, like, a 100000 threads and is paying him a lot more than 2.30 a month.
So so he's got sort of features there where it's, like, okay.
If you're very serious about background job like, it's kind of, like, are you running a ton of background jobs?
Then you definitely care about these things.
Are you running an absurd number of threads on a ton of background jobs?
Then you need you care about these things.
It might be interesting to talk to him.
He's he's friendly.
You could probably just reach out to him.
It might not have been I don't know if it was clear to him in the early days how that would look.
Like, what that breakdown would be.
It could just be that, like, he started with the free thing and then figured out the other stuff.
And it was, like, okay.
A lot of people are asking me for, batching.
And I don't really wanna build batching.
Or, like, I'll build batching, but it's gonna be complicated.
And so I'm gonna stick this in the pro tier.
Or, like, okay.
When Twitter signed up, they're asking me for HIPAA compliance or whatever it is, you know, multi process encryption or something.
Okay.
So only the big companies are asking me for these things.
So why why don't I stick those in the enterprise tier?
So this might not be a question that you actually have to answer immediately.
It would be kinda I think it would be nice if you sort of had an inkling of, like, okay.
There's a way to there's gonna be some premium stuff that'll be, like, hard for peep for hard for other people to build, but we can build it because it's it's worth it, because we can sell it to people.
And, also, there's a way to add a value metric here where if someone is using this on to build, like, a 1000000 queries a month, I can charge them $10 a month or something.
Aaron
00:36:04 – 00:36:15
Yeah.
Okay.
So my only fear well, I don't know that.
One of my fears is putting too much into the free tier right away.
Right?
Aaron
00:36:15 – 00:36:37
So if we, you know, if we like say, oh, we'll just figure out what's pro later and we decide, oh, this thing that we gave everyone open source is now pro.
That feels icky to me.
So that's one thing.
And then in terms of value metric, we could do a usage based thing, but it would be it would be on the honor system.
Right?
Aaron
00:36:37 – 00:36:57
So we could say if you have a 1,000,000 rows, it's free.
If you have a 1,000,000,000 rows, it costs this much.
And it's like, well, there's no way in the product.
Like, Mike can probably limit the threads by flipping some bit in, you know, in the version that he releases.
That is that how it works?
Aaron
00:36:57 – 00:37:17
I don't know.
He may he may be on the honor system too, but that that part feels like I don't know how we I I don't know what the value metric is that we could scale and also enforce.
And maybe I'm being too precious about that.
Maybe that doesn't matter.
But those are my thoughts based on kind of, like, trying to mirror the Sidekick model.
I think it's pretty important that you have well, is it?
It sure would be nice if your your code could just sort of query things and phone home and be, like, they're using it this much, and you should charge them this much.
That would be cool.
That might not be strictly required.
I think, especially for larger companies, I think they tend to want to do the thing that they're supposed to do.
And so if you make it clear how the licensing works, you might just find they just say, yeah.
We we need this much.
And here's a PO for that sort of thing.
Mhmm.
Or you might be able to agree with the thing.
Aaron
00:37:57 – 00:38:19
If if you were sitting in the shed quarters talking to you, and you had this this query builder, you know, fledgling business, which of these things would be top of your list to do?
Consulting, open source, buy some ads, or anything else?
Am I me with all of my experience and everything?
Aaron
00:38:23 – 00:38:28
Whatever gives me the best answer is how you can play this role play.
Yeah.
Yeah.
Sure.
I don't really care.
It might not be that this freemium thing solves your distribution problems.
If there are a lot of people that want this and they Google it, and they look for an answer, like, a a tool to provide it, it could be a really good source of leads to do this freemium open source thing with pro features.
I sort of like both of them a decent amount.
If you can make that work, that's pretty cool because you're getting more of that, self serve type thing.
Maybe more accurately, you have a distribution method.
Like, the question is always, like, where is your lead set where are your leads gonna come from?
So if you have a killer free version of this, and you are competitive with other stuff out there, and you start ranking for things, and you have great docs, and everyone's just like, yeah.
Of course, you use Refine for this.
This is, like, the the best thing.
And you have a reasonable path to stepping people up into a paid thing.
That seems pretty great.
You're gonna get a lot of user well, you're gonna get a lot of feedback in the form of annoying issues and things.
You're signing up for kind of the the unwashed masses who expect more or less expect support.
But then again, maybe it's like, wow.
We're getting tons of issues.
Yeah.
Issue support is included in the pre the pro tier.
Aaron
00:39:46 – 00:39:48
Totally.
We could do a a support contract.
Happy to do support contracts at $10,000 a year for anyone that wants it with this SLA.
That yeah.
So that could be good.
The consulting thing feels, I think they're just different businesses.
I think they both they both seem like they could work.
And so, like, I think if one speaks to your heart more, it's probably I would start there, I guess, and see if you can make that one work.
Like, you seem like you you you dream more of writing code and having the quality of the code be the thing that gets you new customers and word-of-mouth and becoming the defacto thing.
So I would say it sounds like based on your personality and what you desire, the the freemium thing, the OSS path, seems to sound better.
If it if it can work, you'd be happier overall.
So I might start I might start there.
But how do you start there?
Aaron
00:40:42 – 00:40:45
You can't put that genie back in the bottle though.
That's my only
thing here.
I think you can.
Aaron
00:40:47 – 00:40:52
You can you can close I guess, you can close source it, but it's out there at that point.
You know?
Today's version.
Yeah.
Like, hopefully, this is, like, twice as good a year from now.
Right?
Like or it's got even more things.
And I I suspect it is not the case that everyone will immediately download it, whoever's going to use it, and then have it.
And now no one has isn't inspired to upgrade.
I think the consulting thing is probably a more direct path to revenue.
So it's, like, it kinda like, it also kinda depends, like, what is your ambition and, like, what is your timeline?
Where I think if you're, like, I wanna work full time on this thing within the next 18 months, doing one off installs via lucrative consulting engagements probably gets you there pretty fast, at least to the point where because, like, you're you're supplementing with consulting revenue.
If you were trying to build a mostly self serve SaaS business of upsells from open source, it probably ramps slower, would be my guess.
And because there's no consulting revenue from that, you're probably working day jobs longer.
Aaron
00:41:50 – 00:41:58
There could be consulting revenue from that, actually.
I didn't think about that.
The open source version does not preclude high value consulting implementations.
That's true.
That's true.
Aaron
00:42:01 – 00:42:19
I don't have a super tight timeline.
I mean, I have half a job that I love, so I don't need to, like, I don't need to escape or anything.
So I'm trying to think what is, like, 3 years from now, where will I want to be, instead of thinking, okay, 6 months from now, I have to be somewhere.
Got it.
I think that I would encourage I would probably lean lean towards doing the thing that sounds better to you some number of years from now.
Like, that that's gonna create the lifestyle that you're hoping to have.
If you wouldn't really be happy doing this consulting thing where you, like, install it as part of consulting engagements.
If you wouldn't really be happy, like, do you care if the business is working?
Like, if you build a business where your day to day life is, like, not a thing you're super into and now you're hiring implementation engineers and managing a team of consultants.
And you're just like, yeah.
Like, I I'm I'm I made a business.
I don't really like it.
Maybe someone else will buy this.
Yeah.
That would be a bummer.
Aaron
00:42:57 – 00:42:59
That would be a bummer.
That would be a huge bummer.
Yeah.
Particularly because, like you said, you have a pretty good setup where it's like
Aaron
00:43:02 – 00:43:02
I do.
You have half a job you like, which is better than a job you half like.
Aaron
00:43:07 – 00:43:08
Yeah.
Absolutely.
So maybe there's not so much of a rush, and, like, the destination is the most important thing rather than just, like, making something work.
And so I might take the what is maybe, and to be clear, we don't even know what is maybe the lower probability thing, but has a chance of being the outcome you really want, over the other thing.
And it also just might be this is better.
Like, this just might be a great model.
We have one example here.
But that thing of, like, how do you how do you get leads is sort of, like, the is the perennial question and is a big one.
And if you can get leads in a way that feels good to you, which is just, like, I I make amazing open source software and everyone uses it because it's clearly the best option.
And then I stick premium features over here in this way that they pay me in a self serve thing, and I refuse to hop on sales calls.
Like, that could be pretty cool.
Aaron
00:43:58 – 00:44:00
Make them you make a compelling argument there.
Yeah.
You should totally talk to Mike, by the way.
Aaron
00:44:03 – 00:44:14
Yeah.
I met him briefly at, whatever it was, RailsConf, and he was exceptionally nice.
He was so kind.
And so I I might try to hop on a call with him.
Yeah.
I think you should.
He's very friendly, and I think he would I think he'd be happy to talk to you.
And he'll tell you all the stuff.
Because, like, we're we're analyzing a person's business from the outside, and you never know what's actually going on.
Like, it's it's always way more of a mess and has way more drawbacks than people.
Like, he might say, god, I wish I'd never done x y z.
Aaron
00:44:34 – 00:44:35
Yeah.
Totally.
I can't I can't say this publicly, or I cannot do this because I'm too bought in or something.
But, it might be like, oh, make sure whatever you do, don't do this.
So, I wouldn't it's it's it's dangerous to analyze people's companies from the outside.
Aaron
00:44:46 – 00:44:52
Yeah.
You get a lot of drive by advice on Twitter as I've seen.
So, yeah.
I'm I definitely agreed with that.
Mhmm.
But I might talk to him.
I I keep coming back to this, but, like, the the answer of, like, where do people hear about you is is a big one.
And, like, yes.
Having good distribution built into the product, pretty wonderful.
Aaron
00:45:09 – 00:45:23
Yeah.
And our current distribution only scales so far.
I mean, Colleen and I are out there, but that doesn't get us far enough.
That doesn't get us far enough into the market to to be known.
We need a proper distribution channel.
Aaron
00:45:23 – 00:45:25
It's not this, like, adorable little indie hacker thing.
Yeah.
And this I don't think this solves I don't think this, like, solves it in one fell swoop.
I don't think you just, like, put this package out there, and then suddenly it's really popular.
I think you still need to do a lot of marketing probably.
Like, you might still run Google Ads to your open source project.
Oh, wow.
Yep.
Yeah.
Or you might need to do, like, lots of blog posts about niche query builder problems, or both these things or all these things or, like, giving talks about database performance and, you know, all these things.
But I I don't think you will just throw us on GitHub, and everyone's like, ah, hooray.
Aaron
00:46:01 – 00:46:02
Right.
Yeah.
And to be showered in traffic.
Aaron
00:46:05 – 00:46:09
Lots lots of abandoned GitHub projects would agree with you on that one.
Totally.
Yep.
I think your skills are well matched to this No.
Aaron
00:46:14 – 00:46:14
Thanks.
To
the the top of marketing dev things.
Aaron
00:46:17 – 00:46:22
Yeah.
Yeah.
I I should hope so.
Yeah.
My my my half a job depends on it.
Aaron
00:46:22 – 00:46:28
So Mhmm.
The question I have to answer is where I wanna be in 3 years.
That's always the question.
Aaron
00:46:30 – 00:46:35
Which is a much a much longer podcast.
Who has time to to dive into that?
This drives me a little crazy about life, as I feel like it always comes down to that question.
Because I'm always like I I I'll sit down to think about, like, okay, what should Tupl do next month?
And I'm like, well, where do you want to be in 6 months?
Well, where do you want to be in 2 years?
Like, well, what do I want from life over the next couple
Aaron
00:46:51 – 00:46:51
of years?
Yeah,
Aaron
00:46:54 – 00:47:03
You're trying to think of strategies.
Feature.
You wanna build a feature and you're faced with, like, what do I wanna do with my life?
Like, god.
Exactly.
Aaron
00:47:03 – 00:47:04
That again.
Yeah.
Exact it all that's that's always, like, the base question.
Yep.
And it's like, can I not figure out the hardest question?
I just wanna figure out this easy one.
So I think you might be you might also be in this position.
Aaron
00:47:17 – 00:47:18
I think so.
We may be onto something.
Or I I do sort of like the sound of like, figure out the kind of life you want and take the, take a swing at that.
And even if maybe it is lower par probability, which, again, we don't even know, at least you've got now, like, successes in the possible set of outcomes.
Right?
As opposed to, like, yeah.
You built a company.
You don't really like running it.
Aaron
00:47:39 – 00:47:44
Cool.
Oh, man.
To succeed and still fail?
That's pretty grim.
That's, like, real bad.
That's that's not what you want.
So No.
Cool.
Any other topics or questions you wanted to hit me with while we're here?
Aaron
00:47:54 – 00:48:01
No.
This has been awesome.
I mean, I know we talk multiple times a week, but this is this has been great.
I love this.
Thank you so much.
Nice.
Yeah.
I enjoyed it too.
We should probably have you come back in some amount of time.
Yeah.
I would love that.
You made some decisions and report some Totally.
Report some experiences.
Have you decided to, like, go all in on the sidekick type model?
Like, how fast could you could you get there?
Aaron
00:48:20 – 00:48:28
Get where?
Yeah.
I don't know.
To open to open sourcing it or to to my firm's level of success?
Because those are different those are different answers.
To having an open source version that's free and some sort of paid version that costs money with different features in it.
Aaron
00:48:36 – 00:48:49
Man, 2 weeks, probably, a week.
I mean, it would just literally be carving out the part that I'm not sure if it's gonna be pro or not.
Just carving that out and then opening it up.
Yep.
That's not a
long test.
Or at least that getting there is not long.
And then a few months of trying to get people to use the free version and seeing, hey, are there things that people are requesting?
Are are rich customers asking for common things Mhmm.
That they are willing to plunk down a credit card for?
Aaron
00:49:08 – 00:49:11
No.
That would be that would be a super fast test.
Yeah.
And if you try that for 6 months, maybe 3 months, some some amount of time, and you're like, yeah.
This doesn't work, unfortunately, for various reasons.
You say, okay.
Never mind.
We're closing this back up.
Thanks for like, keep using whatever you want.
But we have a like, we're, this is now going private.
Goodbye.
That's fine.
Right?
That's, like, that seems okay.
You gave code away for a while.
You decided to stop giving code away.
Yeah.
Aaron
00:49:39 – 00:49:53
Yes.
In my brain, that is okay.
I would I would be emotionally fearful of that, but that's something to get over.
But, yeah, that that would make me nervous to to close source something and Interesting.
Take something away from the community.
Aaron
00:49:53 – 00:49:56
But I don't know if that's valid or not.
It's worth investigating.
I mean, I think there might be a couple people that are mad at you.
But, like, if you have the right language and license on there, which is just, like, this is as is.
You can use it.
We are not committing to, you know there's we have no we have no support contract with you.
We have no promises of future things.
If you use this, like and then, like, it's open source.
So it's, like, you have it.
If you wanna keep working on it and keep hacking on it, go ahead.
But we're gonna take our take like, you didn't take the ball away.
It's not like they have to stop using it.
Aaron
00:50:23 – 00:50:34
Right.
Yeah.
Yeah.
That I would I would need a I would need a pump up speech from you before I closed sourced it again, but, fortunately, I know where to find you.
Yes.
You can forward the angry messages to me.
Aaron
00:50:38 – 00:50:39
Oh, perfect.
Even better.
I will say, hi, angry person.
Please see the license doc.
And Yeah.
And your lack of support contract.
Aaron
00:50:51 – 00:50:53
Please speak to my boss, Ben.
He will tell you.
He'll tell you what to do.
Yeah.
Yeah.
Cool.
Well, this is fun.
Aaron
00:51:02 – 00:51:04
Thanks for having me.
Yeah.
Thanks for chatting.
Appreciate you being on.
Yeah.
Alright.
Aaron
00:51:11 – 00:51:13
Yeah.
Let's do it.
Notes for the show?
Notes the show can be found at artofproductpodcast.com.
Thanks for listening.
See you.
Bye.