Hammerstone · Jan 29, 2021
Aaron
Do we have a name for this oh, sorry. You just started recording. Do we have a name for this show or are we just calling it the Hammerstone podcast?
Sean
It'll just be the Hammerstone podcast. We just decided right now. Perfect. Okay. So usually, this podcast is just gonna be me and Aaron talking about what's going on with Hammerstone week to week, probably, weekly ish.
And it's, but this week, I think, we'll start by explaining what Hammerstone is and what and who we are. So Hammerstone is a company that we're starting, I think I'll I'll I'll start with me, actually. So I've had a few successful products, over the the last couple years, but they've all been of the sort of info product variety, and I have really always wanted to start a software company. So Hammerstone would be my stab at that and that I'm excited to work on. And then, Aaron, you're kind of in the same boat, right, in terms of your background?
Aaron
Yeah. Also, you haven't told people your name yet.
Sean
Okay. We'll start over. I could just cut off the whole beginning. It's a little hard to be informal and formal.
Aaron
Yeah.
Sean
My other podcast, I just would talk and then we'd go. But I do wanna have some kind of, like, little bit of an introduction.
Aaron
We can just we can just keep going if you wanna be informal. This can just be part this can just be part of the show.
Sean
Okay. Hey. I'm Sean.
Aaron
There we go.
Sean
I'm Sean Fiorito. Yeah. So I wrote a book called Sketching with CSS, and I did some video training courses. Those did pretty well for me. In fact, I was making full time income on those for for quite a while.
But I just never really figured out how to make that income more predictable, so it was very volatile. And I ended up, you know, giving up on that and just doing client work for a few years. And now I have a job, which is conveniently 4 days a week, so it gives me some time to work on some stuff. And, ultimately, I want to have a software company with some sort of recurring revenue that I can grow and eventually have it be big enough to support my income.
Aaron
I guess I'll go now.
Sean
You go.
Aaron
My name is Aaron, Aaron Francis. I currently also have a job as well. I've done a bunch of stuff on the side. The biggest thing I probably have at the moment on the side is a series of accounting tutoring videos. So it teaches college students, introduction to financial accounting, and I recorded those I probably recorded those 5 years ago, and it's kind of steadily grown to a plateau, and I don't touch it at all.
It's not enough money to live off of, but it's it's a good amount for a passive side project. I've done a bunch of other stuff, none have really none of ever really taken off. I had a podcast for a while called The Music Makers, that I really enjoyed doing. It's still live on my website, but I don't do it anymore. And so, yeah, Sean and I met was it 2012 Bacon Biz Conf?
Sean
Is that when the first Bacon Biz wants?
Aaron
Yeah. I think it was.
Sean
2012, 2013? Something like that.
Aaron
So we met we met a long time ago, and have just stayed friends since then. And we kinda we're both looking to do the same thing at the same time this past probably year. We'll get into what exactly we're building, but Sean was looking Let's do it now?
Sean
Yeah. Let's do it. Yeah. So I think what happened was I was working on a WYSIWYG, like, page builder product that built that for clients and something. People need to drop in their apps a lot, and I thought that seemed like a product that I could sell.
And then Aaron had built a query builder for his company, which is basically like that UX feature, in web applications where you allow your users to build up a set of filters and then submit that against your database, and then it returns some some results. So it's like good.
Aaron
Thing that's like show me users that signed up in the past year and have taken this event and their name is Aaron, and then you hit a button and it brings back all those users. So the thing that I was building, I've now built several times at several different companies, is that that dynamic filter part that lets the end user decide what they're looking for rather than having to always bug the developer and being like, hey, I need employees that were onboarded this year that don't have their, don't have their paperwork complete. And it's like, oh, I gotta run another report, another one off report, and so it's just a little filter builder.
Sean
Right. So I heard that he was doing that, and I I I was doing the page builder thing. And I wasn't married to that, but I I didn't like the concept of, like, a drop in component that was tightly coupled with your back end, which was my idea with the page builder too. And that was essentially what Aaron was doing, just a different feature. So and and the feature was smaller.
Building a page builder, depending on what you're building, it can be actually huge project. So I thought, well, let's just peel off a smaller project. And turns out that was a good thing.
Aaron
Because we've been working on it for, like, a year or 18
Sean
months now. Yeah. Though, I mean, in our defense, it's not like the only thing we're working on, and then I did start a new job in there and just how it happened. So yeah. And I still feel, like, overall, the hours that I've spent on it are not that are not that crazy.
It's just they're so spread out. It took so long. And then I yeah. So, anyway, the that's the that's the component that we're building, that we're starting with. And then if we can figure out how to make that thing make a decent amount of money, which I suspect we will, based on some evidence that we'll talk about, I guess, Then we'll kind of sort out a model for how that works and how we market it and how we sell it, and then we could do a repeat on a different component.
And we're calling that our our widget empire. So that's the, the long term hammer stone goal is built these really high level drop in widgets that are tightly coupled with your back end and your front end for features that you build.
Aaron
Yeah. So our thesis is kind of we will take the time to build out the parts of your app that are hard to do and boring and don't differentiate your app. So all of those things, like the filter builder is a great example, Like, it's not gonna set your app apart that your users can, like, filter their records. You you kinda need it and it's a huge pain to build. And there are so many edge cases that to do it properly would take a ton of work.
And so our thesis is we'll do all the undifferentiated heavy lifting of all these boring components. Will do extremely well, and then you can just buy them and plug them in.
Sean
Sweet. Alright. I think I think we, have the boring intro and explanation of hammerstone out of the way. Okay. So then our current status.
So what we did was we came up with the notion, and I think this was probably a mistake in retrospect, that we should that one way that we could market this was to open source the front end and sell the back end. So we're only selling in this case, we have a Laravel back end, and I did a Vue front end. And because we decided to make it an open source project and because the point of the open source project was to be a bit of, like, lead gen for us, It sort of set the scope of the front end of the query builder much bigger than it really needed to be for us to, like, have a thing that would work and probably doubled or tripled probably tripled the amount of time For sure.
Aaron
That I
Sean
needed to spend on it. So we had to we had to see if that pays off, but I also think we could have been selling it the whole time if I had just made a version that wasn't open source based on the fact that we have sold it a couple times without really trying
Aaron
Mhmm.
Sean
Even when it's not done. So in in all cases well, in one case, somebody just bought a license, and we ended up just being able to give him the the back end code. So he got that. And then in the other two cases, one was a client project where they were gonna pay us to implement it, and that fell through. But then another client project came through.
So, and that one is a is a big deal for us. So that one's awesome because we get to build a Rails version of this, a Rails Hotwire version of this. And part of our agreement, which we've almost got a contract signed on this super close, will be that we keep the IP of any of the query builder stuff that we do for this client. So that is awesome because one of the Pretty
Aaron
amazing. We have
Sean
is to have multiple platforms, multiple stacks supported. And we're gonna have that really fast out of the gate for the query builder because they're paying us enough that we can hire somebody else to do it. Because, like we said, we all have jobs and not a not a hell of a lot of time. And then the other fun thing that we're dealing with well, I guess, that's maybe personal. Is this okay to bring up April?
Aaron
Yes. Bring it on. I've I've tweeted it, so it's public.
Sean
Okay. Okay. Yeah. So we kind of have a deadline of sorts somewhere around April. We don't know exactly when, but Aaron will be the father of 3 children at once.
Aaron
I'm currently the father of 0 children. And sometime in sometime in April, I will be the father of 3 children. So my wife is
Sean
So the
Aaron
pregnant with triplets, and so we don't know the reason the deadline is fuzzy is because, obviously, we don't know, we don't know when they'll come because there are 3 of them. They kinda get to decide that for themselves. So there's a lot there's a lot to do, before then. And then once once that happens, I'm probably gonna be I'm probably gonna be MIA for a little while.
Sean
Yeah. So, yeah, our goal is to get to a place where I can solo run this thing for a few months, most likely. And I think what that equals is we gotta have our Laravel view version done and a little bit stable enough. And then this, hopefully, Rails Hotwire client is mostly wrapped up. Although I do have Colleen as support for that, so that's a little more reassuring.
But
Aaron
And the the Hotwire front end, we're not building we're not building that as open source. Correct. So it can be it can be tightly coupled to their implementation. Exactly. And that was that was Way
Sean
less work.
Aaron
The problem with the view front end is it has to be so abstract and usable in any situation that obviously you I mean,
Sean
how many times did you
Aaron
rewrite it? You rewrote it 3 times?
Sean
Couple times. Yeah. And the that problem is because I was not really a Vue developer before this as a React developer. And so I was learning all of the sort of high level Vue things that I needed. So now I'm, like, a Vue expert in order to write this this open source component, unfortunately.
So yeah.
Aaron
I mean, it's it's to the extent so people know it's to the extent where we've got just renderless components. Like, that's how because we didn't wanna tightly couple any UI decisions. So we're gonna have a renderless version and a tailwind version and at some point potentially a bootstrap version, all of the Vue version, it's like good gosh, what have we done?
Sean
I know, I know. I mean, I invented
Aaron
I mean world class.
Sean
Invented a solution for building queries in Vue, which I would use. I would pull I'd pull this library right away if I was doing a feature like that, which is the point of what we did, because you could do whatever. But
Aaron
You and I you and I had many spirited discussions back and forth on that because I'm a back Laravel developer primarily, and you're you're very much a front end developer. You do rails as well, but you have the point of view of a front end developer. And I would always be like, dude, this is this is too intense. This is too much. I don't know what you're doing.
And you're like, trust me, front end people do it this way. And I'm like, alright. Well, that's why you're here, and that's why I'm not doing it.
Sean
Well, yeah. It's like if if the point is for it to be lead gen for us, then this is what it has to be. Otherwise, it's just like, there are other libraries out there that do this sort of thing, and they're kinda crappy, and I would not pull them in as a dependency if I was working on a client project. Probably some people would, but it's not gonna be the kind of people that would drop $900 a year on a
Aaron
Right.
Sean
License for our back end. So, yeah, that's the thing. It's like I think this is what needs to be done if it's going to work as useful be useful to us as, like, a marketing thing. But I don't know if I don't know if it will. That was the dumb part.
Yeah. I'm the person that didn't think about that until it was, like, couple weeks ago. Like, oh, oh, maybe maybe we should have just done it without the open source. Oh, well.
Aaron
Oh, well. Too late now. We'll find out.
Sean
Yeah. Lesson Yeah. So then alright. So we have alright. So we have our client project.
We're just gonna call them the client. They are a big name in the world
Aaron
Internet space?
Sean
Space, yeah, companies, which is also super cool
Aaron
Mhmm.
Sean
And surprising. But it was awesome that we lined that up. So with them, we're just waiting on I talked to their lawyers. Their lawyers got back to me and said, no problem. This is what our contract's gonna look like.
And so because I just need to make sure that we get the IP and that that's really clear.
Aaron
Yeah. Because we have a verbal commitment on getting the IP. We just need to make sure that the institution Right. Agrees with that.
Sean
Yeah. Because, I mean, the thing is, like, a verbal agreement is perfect, except sometimes things go sideways, and it's best to, or sometimes people turn out to be crazy. You never know.
Aaron
Or sometimes people that aren't crazy leave the company, and the next the next person's like, you had a what now?
Sean
Yeah. Exactly. Exactly. Somebody else could claim that, that's not you know, that they own it. Mhmm.
So, anyway, we'll get ourselves covered with that. And then and, also, we gotta get our rates cleared with with the, with our client there, which Yeah. I think will be a problem.
Aaron
Which is amazing that we're gonna be able to get paid for it and then keep part of it.
Sean
Yeah. Yeah. Which is gonna be great because we can pay for the little odds and ends here and there that we need. And we'll probably rack a few grand out of it, which we could use for for some stuff, which is great. Yeah.
So we got that going. And then I need to finish up the Vue library. Like, it's 90% done. So I still have to finish that up. And I need to finish that before we start with the client project, which will be, like, the end of January.
Mhmm.
Aaron
But we're So we're currently at January 8th right now.
Sean
Yeah. So, yeah, I'm gonna work through I got today is my day off, so I'll I'll be putting in the rest of the today into that and then, you know, my weekend hours. Night, like, night hours for me are still a struggle.
Aaron
Really? So,
Sean
yeah. But at the time I'm done in the day, I just I wake up, I get the kid off to school, and then I do my day job, and then I get some exercise. I make everybody dinner, And it's, like, 8 o'clock, and I'm supposed to be going to sleep in, like, 2 and a half hours. Mhmm. If I'd ever like to talk to Beth or relax.
Yeah. So it doesn't happen that often on on weekdays. I have done a little bit of, like I've tried shifting my hours around where I do a little bit of work in the morning, like, right away, and and that actually has been a big win.
Aaron
So I get Oh, how morning are we talking?
Sean
Not that morning because I'm done shipping the kid off to school by, like, 7:30. So Shipping the kid off. Okay.
Aaron
So that's not that early.
Sean
No. No. I just I wake up at 6:30, so it's not crazy. And I can't I'm not a early person. 6:30 is, like, my the outer limits of when I can wake up.
I I that's I hate going to bed early enough to wake up at 6:30, honestly. Not my favorite. But yeah. And then what else? We got yeah.
So Colleen's all lined up. We've got we gotta get bank account. Contractor. Colleen's our subcontractor for the client project. And then, yeah.
We gotta do oh, so we had, a little bit of, like, a mastermind retreat with some of our friends, give us some ideas of of course, it was virtual retreat because we're still not allowed to be near each other because we might kill each other.
Aaron
Also, I live in Dallas, and Sean lives in Chicago. So
Sean
Yeah. No. But we used to do retreats, like, in real life from time
Aaron
to time.
Sean
That's mainly what I was referring to. Like, I I missed that. That would have been that would have been nice. Yeah. It was.
Anyway yeah. So we talked to them, and they gave us kind of punch list of stuff to do, which I think that you and I are in agreement about, which is, like, yeah. We gotta do that stuff, but it's a matter of timing and priorities and, like, when when we're gonna do what. Like, the push was to get us to do we don't have a landing page.
Aaron
Like, we
Sean
don't have any marketing done, but we also don't have a product yet. Like, not even it doesn't work. I was so having done a couple info products, like, I'm familiar with the concept of having a prelaunch landing page and then getting pointing traffic to that and getting an email list built up, and I've done that really successfully multiple times. That's why I get it. I know what that strategy is.
It just didn't make sense to me for this. On the other hand, they now convinced me, like, I was kinda wrong about that, actually. Like, the reason I didn't think it was applicable is because I thought that if when people buy this, they've already decided that, like, they're only they're only gonna start looking for it when they've already decided that they're gonna buy something like this or install an open source dependency like this. So there are there's, like, a window of when people will buy this. So doing a big launch and trying to build up anticipation for sales does not make sense.
Okay. But what does make sense is to get people to know that this exists. Because okay. Even just today, like Colleen with her other client Mhmm. Like, oh, they need this.
They need your query builder. And Appreciate it.
Aaron
And it invalidates our hypothesis. It's not because they've decided to build 1. It's because they have one that's crappy and it's hard to maintain, and she just wants to rip it out and put in someone else's totally finished version.
Sean
And so that is exactly why I've been convinced that I'm wrong, that I need to do some kind of marketing before it exists.
Aaron
Yeah.
Sean
Because if people that's the thing. Like, I forgot that if I do this too as a developer. I'll see a thing, a cool new widget or library or something. I don't need it now, but I know that I will. So I make, like, a mental note of that thing.
So that way, when I do need it, I'll be like, oh, let's just use that thing that I saw, you know, on that email list Mhmm. Newsletter, and that's let me go check that out now. So that's that's where it's worth it. Like, we start getting it into the heads of developers that this thing exists. Because as soon as we do, honestly, this is not the first time it's happened where somebody's like, oh, we need that.
It happens all the
Aaron
time. That's how we got both of these clients, only one of whom panned out. But somebody that we had shown the widget, the filter builder, was at their client. It was like, hey. You've gotta you gotta just bring in these guys to do it for us.
Sean
So Yeah. Exactly. Yeah. So I think that's that makes it worth it. So now it's just a matter of figure out how much time I put into that.
When do I do that? Yeah. And I think,
Aaron
I mean, are you going to do that this afternoon instead of working on the Vue stuff?
Sean
Nah, my brain is geared up for the coding. And so I'm just gonna take advantage of I gotta go with the momentum in my brain. That's what I've learned. Yeah. So I'll do that.
And then there'll be some, like the marketing stuff, honestly, is easier for me to do in, like, weird downtimes or nighttime even. Because I think it's a little different than programming. I have a much easier time getting my head into it.
Aaron
That makes sense.
Sean
So and it doesn't need to be I already know what I'm gonna do. So it's not gonna be very fancy at all. So we'll get the landing page done, and I'll do, like, a little bit of a read me in the open source repo. And then I've already started tweeting more, and I'm gonna start, like, tweeting more and, like, doing programming and, like, doing my work in public. Yeah.
And I think that's gonna be my main approach about this and sweetening out, screenshots and stuff.
Aaron
Screenshots, man. Everybody loves screenshots.
Sean
Yeah. Like, I have so I have 45 100 followers, so that's not 0. And most of them are developers from, like, the other work I did. I also have an email that's
Aaron
front end developers from SketchUp and CSS.
Sean
Yeah. Exactly. And the and the Angular escape plan and those things. So I did so I do have that, and I also have my newsletter email list, which is about 20,000 people, which sounds like, woah. That's totally gonna make your business, but it's not because it's so dead.
It's so cold. It's been over a year and a half since I've emailed that list. Some people who are new to the list probably have gotten emails from me more recently because it's all automated and stuff, but, that's probably only, like, a 1000 people or something.
Aaron
Better than 0. That's how many I have on my list because I do not have a list.
Sean
So I'll start I'll start sending out emails to there and then and, actually, that'll be good because then I can prune the list and shave the some money off my $200 ConvertKit
Aaron
bill Mhmm. Twice a month. Just been paying to not send emails?
Sean
Correct.
Aaron
Correct. Yep.
Sean
I think I've sent them probably, like, $3,000 for no reason. Just for an email. I mean and it sucks because it's automated. So if it was just a list, I would have canceled it. But people do still sign up for my stuff.
And Yeah. And I do actually still make well, I guess I made, like, $900 from, like, sketching a CSS sales still last year. So it offsets it a little bit.
Aaron
A little bit.
Sean
Not much.
Aaron
Well, that sucks.
Sean
Yeah. Well, it's every month, it's always like, okay. Do I have time to, like, sort out how I'm gonna
Aaron
Yep.
Sean
Wind this down? And every month, I'm like, I do not, and it's $200. And it drives me crazy.
Aaron
You're basically paying $200 to not have to deal with wrapping it up. Yep. I know that feeling. I've got I've got servers that are still running that I'm like, I'll do it next month, and it's just, like, a $20 DigitalOcean, 3 or 4 of them. It's Yeah.
Stupid.
Sean
Alright. Well, what else do we need to do? We've got
Aaron
I am working on so the deal with the Laravel package distribution is we can't use we can't use packages, which is the PHP, like, I don't know what Ruby Gems, like, runs on, what the central repository is. But Packagist is the central repository for composer packages. We can't use that because it's not an open source, like, it's not an open source project. So there is a there is a static, there's a way to do it, like to host your own packages, basically. And so I'm working on that.
Somebody in the Laravel community, the Spot c guys have talked about how they run their own because they have a few private packages as well. So I'm building that into our, like, our licensing portal, basically, so somebody can actually come in and buy a license. Or for the beta, we can give someone a license, and then it'll generate a license key and give them the ability to install it into their into their project. So I was working on that again last night. So I've got it all the way through to the point where you can, like, you can buy a license.
It runs through Stripe. It generates a license key. But I need to do the part where the GitHub releases are pushed to our, you know, our package registry. So not super fun, but super necessary because we have to have a way to distribute it that's not wide open. Mhmm.
Sean
Yeah. I also have to sort out we already did a little bit of this, but the NPM packages, which
Aaron
we worked on. Nothing about.
Sean
I don't either. So I mean, other than using them. Never built one before. Just never made sense for a client. So
Aaron
Yeah.
Sean
So I gotta sort that out. We kinda have it working a little. We did on, like, version 2, so I kinda know how to do it, but I gotta do that. Also, we gotta get it it's so close to, us doing like, trying to get it to work together.
Aaron
Oh, yeah. We we need to tie the 2 together. And Right end and the back end.
Sean
Yeah. And I also still need I I'm gonna need more clauses from you. So, like, I've done clauses are, like, the different ways that you could compare, a condition. Like, a condition would be like if you're sorting through a table of hats, it would be, like, the type of hat or, like, hat size or something. Those would be conditions, and then the clause would be, like, how you could compare it.
So it'd be, like, hat size is greater than 5 or however hat sizes work. Yeah. So greater than would be
Aaron
than, less than, equal to, not equal to.
Sean
All those would be the clause. So I've got clauses for numeric conditions, so numbers, text. I did all those. I need dates. I need
Aaron
Okay.
Sean
All the other. So, like, I need the other conditions
Aaron
You need all the the clauses. You need all the default clauses for all the default conditions.
Sean
Because we're shipping with all the default clauses.
Aaron
Got it. Okay.
Sean
So I need to implement those, and that's not not zero work. So
Aaron
Correct.
Sean
I need that. I need that kinda soon, actually.
Aaron
Okay. I can I can send that to you when we get off here? Okay. And then I need to set up we have an LLC.
Sean
You Need a bank account.
Aaron
Yeah. You had mentioned you need to do some foreign person thing in Chicago or Illinois, I guess. Like, you're technically a foreign member of a Texas LLC or something like that. Do you remember talking about that? Like, we registered already have an LLC?
Yeah. We registered a Texas LLC.
Sean
Am I did I I don't remember signing a thing for that. Did I?
Aaron
Yeah. K. So but what we decided was, your personal s corp is Oh, this one. Yeah.
Sean
Yes. So my agent owns it.
Aaron
Yeah. So you need to talk to probably your accountant or attorney, and it's just like a form you gotta file. Oh. Remember that?
Sean
Okay. I'll ask Aaron about it, my accountant. I'll ask him about it, see if there's anything I need to do. Well, I might not need to do a thing unless money transfers.
Aaron
Yeah. You probably don't, but ask him about But that's
Sean
gonna be fun. Anytime I need to send money to Hammerstone, I'm gonna have to, like, write a check to Planning For Aliens, use my local bank's shitty bank checking, like, app thing that rejects my checks half the time, probably have to go in, talk to Jerry who always asks he never believes me, like, that I own a company. They always check to make sure I'm not doing business in Bitcoin. And then they always ask me like, half the time, they ask me to come back with official planning for aliens letterhead.
Aaron
Yep.
Sean
I'm like, what is that? Yep. Why would I need that? What is that?
Aaron
Yep.
Sean
That's gonna be great.
Aaron
It's gonna be fun. So I will set us up a bank account at Mercury, which is, I think, one of the only ones where both people don't have to come in physically and show proof of ID. So a lot of a lot of bootstrappers are using that now. So I'll set us up a bank account at Mercury. We probably won't be able to get credit cards, for that same reason, but we can get a debit card, which should be give us everything we need.
Sean
Yeah.
Aaron
And I'll set us up emails at the hammerstone HQ Yeah. Email.
Sean
Yeah. There's so much shit to do. So much to do. Busy.
Aaron
Got so many. I imagine it's like finishing a house. Like if you were to build a house, like when you get to the very end, you're like, oh my god. There's still so much to do. It's like moving.
Mhmm. When you get all the big furniture out and you're like, hey. We're pretty close. And you look around and you're like, why?
Sean
Do the kitchen.
Aaron
Yeah. It's the worst. And I gotta get a new mic because my mic is 6 years old, so I'll do that today too.
Sean
You gotta finish your shed quarters.
Aaron
I gotta finish my shed quarters so that I can move out of this spare bedroom so that we can turn this into a nursery. So that
Sean
we can sleep out there.
Aaron
Yeah. So we can have That'd
Sean
be the only place you can get any sleep.
Aaron
Five people live in this 2 bedroom house. So 2 bedroom plus a shed house. So, yeah, tons to do. Not enough time to do it. But at least we're starting a podcast.
So now now we have now we have one more thing to do.
Sean
Alright, dude. Let's, let's wrap it up there. I feel like we're good to go.
Aaron
Okay.