The Robot Factory

Jonathan and Caleb discuss the new domain name and maximizing acquisition value.

Show Notes

Jonathan and Caleb share the new domain that they purchased for the real estate product and discuss how writing good code could increase the acquisition price.

[00:37] Costco will answer your questions
[03:12] We bought the domain OpenHouse.social
[04:56] Can we charge more for the app if the code is good?
[09:30] How do we generate images dynamically
[14:28] A landing page for OpenHouse.social
[17:08] What should our landing page look like
[19:14] Next time, our friend Vann comes on the show

The Product: OpenHouse.social
Newsletter: factory.twostoryrobot.com
Twitter: @twostoryrobot

Creators & Guests

Host
Caleb Sharp
Full-stack developer at Two Story Robot
Host
Jonathan Bowers (he/him)
Founder of Two Story Robot. Developer turned entrepreneur.

What is The Robot Factory?

Follow along as we attempt to build and sell a SaaS company. A build in public behind the scenes journey of a small software agency, Two Story Robot, trying something new.

Jonathan: What have we done
since last we chatted nothing.

Caleb: uh, nothing.

I did actually.

Oh, wait.

No, that was a different project.

Jonathan: You rewrote it to
run in a different environment

by thinking of something else?

Caleb: I am thinking it's something else.

Jonathan: This is The Robot Factory,
a podcast where we record ourselves

building an app to try and sell it.

We're going to try and get
acquired zero to acquired.

I'm Jonathan Bowers,

Caleb: and I'm Caleb Sharp.

Jonathan: I wanted to share something with
you just real quick before we get going.

just got a phone call from Costco.

Caleb: Costco called you.

They have your number

Jonathan: cost Costco.

I got a phone call from Costco.

I filled out their.

Feedback form.

I often do.

So if they, if you go to Costco
and you find, oh, this thing that

I used to buy isn't here anymore.

And I like it and I miss it.

I write the little feedback
form at the, at the exit.

So I went to do that the
other week or the other day.

And I didn't feel like writing it down.

They had a big banner that says
like, just do this on the app.

It was like, ah, sweet.

But I was kind of in a hurry.

So I figured I'd do it later.

So I did it last night.

I filled it out last night.

I said, Hey, this thing that you used
to have, you don't carry anymore.

This particular flavor of
this thing, they had the other

flavors, it's a protein drink.

And I said, I really miss the other

flavors.

The please bring it

back.

And he called me today to say he had
been in touch with his buying team

and they have taste tested a different
brand, and that will be making its

way into the store at the end of May.

And it's a better value.

And I think it's better tasting.

So

Caleb: Hoo.

Wait, who called you?

Like Mr.

Costco?

Jonathan: Costco called

Caleb: head of Costco.

Jonathan: Somebody at
the Kamloops warehouse

called and said, yeah, I, but he, he
had called their buying team and sort of

chased down the request and said, oh yeah,
they've, they've got, they've got they've

got a replacement product coming in.

Uh, look for it at the end of May.

So I'm super excited.

One that I get to have caramel flavored
protein drink again, and possibly

cheaper, but also that they just do that

Caleb: Yeah.

Not, not even the fact that they took
your request, but the fact that they

like called you specifically to say that

Jonathan: Yeah.

So I actually think that this is,
this is a hidden secret that people

don't re don't know at Costco.

And I don't know that it is
true necessarily, but my, in

my experience, when you fill
those things out, Stuff happens.

Like I know I filled it out once
before and because I don't remember

what the product was, but they
weren't offering it anymore.

It was, I couldn't find it on the shelves.

And then I fill it out and, you know, a
month, maybe six weeks later it's back.

And this was way before COVID and
supply shortages and sort of the

expected, expected, empty shelves of
things and, and it's happened regularly.

So, and I know.

We know some folks who've worked at
Costco and they, they, they do take

those feedback forms quite seriously.

So as a pro tip, if you're finding you're
missing stuff in Costco, just fill out,

just fill out the little feedback form.

It's it's

Caleb: I didn't even
know that form existed.

Jonathan: It was great.

Caleb: That's interesting.

Jonathan: anyways.

I wanted to share that.

Just cause it literally just
happened and I was so excited to

tell someone so back to real estate
image thing we bought the domain

OpenHouse.social

yes.

And

we've launched it.

Yeah, there was a, there was
a brief hiatus and then all of

a sudden everything is done.

yeah.

What, why?

Oh, you were working on another

Caleb: Yeah.

Yeah.

There was a gap between the last,
the last chunk of effort on it.

And then.

Jonathan: yeah.

So we've, we've actually taken a,
what has it been two or three weeks

since the last time we recorded.

And in that time, very little has been
done up until yesterday or the day before,

Caleb: Yep.

Basically,

Jonathan: I think what I want to
do is, cause you said yesterday,

let's let's launch this.

It's good enough to launch.

It's not good enough.

I don't think to charge any money for it.

Maybe it is.

It's kind of terrible.

Caleb: I argue that it's
not good enough to be free.

Jonathan: it's not good enough to

be

Caleb: not going to have to be
free, but it's good enough to charge

money for, I think people have
higher expectations of free things.

Jonathan: really?

Caleb: Yeah.

I think if someone comes across a
free tool and it's broken, they're

going to be, they just won't use it.

Whereas if they're paying for
it, they'll tell us that it's

broken and then we can fix it.

Jonathan: Oh, interesting.

So are you suggesting that we don't
launch a free thing at all and

instead, just go straight to charging
money for this pile of garbage?

Caleb: I think, yeah, for like
a really low price, like, like a

dollar, $2 a month or something,

Jonathan: Uh, I don't
know about that, but.

Caleb: $3, $4,

Jonathan: there's,

Caleb: three and a half.

Jonathan: the way and credit card
transactions work is you get 30 cents.

It's ch you get charged 30
cents for the transaction,

Caleb: Can we, they have to
send a physical check in them.

Jonathan: okay.

So we'll ask for checks in the

Caleb: Yeah.

Or, or wire transfers?

Jonathan: Yeah, so, I have been
following some more folks in the

Microacquire ecosystem the founder.

I cannot, I can't think of his name.

I got to look it up.

Hang on, hang on,

Andrew uh, Gazdecki, I'm not sure how to
say his last name Gazdecki I follow him.

He's the founder of Microacquire and
he retweets lots of folks who are doing

interesting things on the platform.

And he tweeted about this,
this guy who had bought an app.

It wasn't a, like, it didn't
sound like it was a very big app.

Oh, clearly it wasn't.

Cause he bought it when it
was making about 400 to 500

monthly recurring revenue.

Caleb: It's huge.

Jonathan: Yeah.

I mean, it's not like it's not
life-changing, but it's like a big,

it's a decent, it's a decent number.

And he paid however much he paid, I don't
remember what he paid for for this app.

He acquired this app.

And then when he started to look at the
code, the back end, he realized that all

the whole bunch of stuff needed to change.

Like it just didn't, it
wasn't going to work.

He was changing countries for one thing
which meant changing Stripe Stuff.

And as soon as he did that, he went to
zero, $0 in monthly recurring revenue.

So it's like build it all back up,
but he was doing a whole bunch of

development cleanup work on the back end.

And I thought it was interesting because
like, I don't know, did he get a discount

because it was such a terrible app.

And can that be improved?

Like if we, if we build it in a
way that isn't awful or isn't, you

know, doesn't need a ton of changes.

Would that increase the price of the, of
like the, the purchase price of this app.

So I'm interested in that.

I kind of want to reach out to the guy
and just sort of ask them and tell them

what we're doing and not, not because
we want to sell him this app, but just

like understand his process a little bit.

And just see, just see what he's doing.

Because one of the things that I want to
do with this is, is include if possible.

You know, as like an option to the
sale of this app, that we also have a

full-stack development team that could
help integrate it with whatever, whatever

thing that the acquirer wants to integrate
it with or make changes like they may,

they may acquire it and they're like,
this is awesome, but we actually need to

do a bunch of extra work that we didn't
anticipate, or didn't like, didn't, didn't

think of, or didn't want didn't want.

And they may want to do that.

And so maybe can we list this
app on Mircoacquire and try to

generate some additional consulting
revenue for our agency work?

And so, I don't know.

I mean, this guy, this guy that, that.

But I was following on Twitter, just
sort of looking through his tweets.

He is a developer, so I don't think
he's the right customer in that sense,

but I'm kind of wanting to get his
thoughts because it's interesting.

It's interesting to see on the
other end, or to see like, as

a, as an external observer, that
somebody has bought an, bought a

business through micro require and.

Kind of destroyed it, like of brought
it down to $0, but already he still had,

he said he still had some customers that
were like pretty pretty understanding.

And so we're just kind of waiting
around, but not all of them, they

didn't all wait around for him
to fix whatever he needed to fix.

And just see, it just
seems like an interest.

I don't know, like maybe there's an
opportunity there as part of this process

is make sure that it's something that's,
that is acquirable and easy to deal with.

No, we're being kind of particular about
how we, how we build it and how we deploy

it so that we don't have to, like, there's
not super hard to disentangle from some

of the other stuff we have going on.

So that theoretically we can just like
send somebody some login information

maybe, and they can get access to it and
just have it, like have it, I don't know.

Caleb: It's probably a good idea.

I don't know how that's something
you can market towards potential

purchasers or make it, I don't know.

Cause I feel like that should increase
the value of it, but you can't, you

can't just say also it's implemented
really goodly, so it costs more money.

Jonathan: Well, I don't know.

I mean, I like, that's why I wanna,
I wanna maybe message this guy and

ask him, did he know he was getting
into a, not a great code base and

that's that came into negotiation.

Like there's some due diligence that
goes around with acquiring a business.

You don't just sort of, somebody
says, Hey, or here's the.

It's X number of dollars and you go,
I will pay that to please without

like doing some kind of investigation
and understanding of what's going on,

what are you going to get with it?

Right.

Like there's gotta be some
kind of due diligence.

And so I just wonder if if that
factored into the price at all.

I mean, because he's spending
a lot of time dealing with it.

It is his own time.

So, you know how on, I guess,
how he values his time, but there

must be some, some metric there.

He would have said like, I would
have paid a little bit more if I

didn't have to do all this work.

Caleb: Yeah, or paid a little bit less
because he had to do all this work.

Jonathan: Yeah.

Do you want to talk about the
implementation a little bit?

I know we said we were going to try and
not be like super nerdy about it, but I

don't, I don't know who our audiences.

So, um, let's talk about a little
bit how it is built, how, what

are we doing to make it so that
it is going to be something that

could be acquired by someone else?

And it wouldn't be too, too much work
to, to change and make modifications.

Caleb: Well, it's, it's all self-contained
and in a single Docker image, I

think it's been a couple of weeks.

So theoretically, any platform
that you can just deploy a Docker

image to you can just run the app.

I think the only third party
service that it depends on his

Supabase for authentication.

But because it's only using that
for authentication right now, it

might use it for some other things.

But theoretically, that's also easy
to transfer over to someone else.

They do actually say if you want to
transfer to contact Supabase, but

it means it's probably possible.

That's that's it.

And then just sending
the source code, which

Jonathan: But even like, even like we've,
we've not really worked with these,

this particular way, we're deploying it.

So we're also deploying it on
something called Fly, Fly.io,

which is a, a hosting platform.

That is relatively new, kind of neat.

Caleb: isn't it super new?

It's like a few months old.

Jonathan: I don't know.

It's it's new ish.

Caleb: is new.

Jonathan: new, yeah, it's

Caleb: Yeah.

I mean, it's pretty sweet cause you, cause
it can just deploy Docker files and you

don't need like any other configuration
really, or like environment setup.

So.

Jonathan: We are going to be using
more database stuff though, right?

Because we, we eventually will need to
have more than just account information

Caleb: Probably.

Jonathan: Like we were just talking about
the ability to persist real estate agents,

at least their name, probably logo,
maybe the face picture of their face.

Things like.

Caleb: Yeah, well, Supabase
is basically just Postgres.

So it's already at database.

So things like name like
that, that can all be stored.

Uh the images I think Supabase
has a way to upload images.

I think it just uses S3.

But we can also just use S3,
which is also easy to transfer.

Jonathan: Right.

And I don't know.

I mean, so much of this is totally new.

We don't, we don't even know what is
going to be a pain and what is not going

to be a pain, but I think sticking with
using Supabase's stuff like just use their

stuff and then let them worry about it.

Caleb: Yeah, well, that was sort of
the, that was part of the motivation

of using something like Supabase.

I think normally we, for our other
projects, we're more likely to

default to kind of in-house things
or tools that we host ourselves.

But in this case, one of the benefits
of using a third party tool or service

is that usually it is really easy
to just switch the control of it to

someone else without having to change
anything really, which is kind of.

Jonathan: Yeah.

Cool.

So are you anything about the way
you're writing it in the backend?

Like the, the code itself that
is worth noting or discuss?

I know it's pretty rough at the moment.

Like we're kinda throwing slapping
stuff together and hoping for

the best, for the most part.

But it's.

So problematic that we're gonna have
to go back and redo a bunch of stuff.

Caleb: Oh, no, I don't think anything's
no, I don't think anything's problematic.

I don't think, I think it's, it's
pretty, I don't think it's that

slapped together at this point.

I mean, there's so there's like a bunch of
front end tests there's end to end tests.

There's unit tests.

It's written in TypeScript, which might
make it easier if other developers need to

work on it, it's not a huge application.

So maybe it doesn't really
affect things, but like there's

like validation on API routes.

Stuff like that.

So it should be hard to break.

Maybe I'm hoping.

I don't know.

I haven't really tried to break it.

It actually was really easy to break
until I added some other validations.

So

Jonathan: Oh, right.

Cause I found it, uh, I found a big
image and I uploaded it and I crashed it.

Caleb: it just crashed
everything didn't even restart.

So I just put a cap on the
images and that's fine.

Jonathan: Yeah, that feels like not a
great solution, because I can imagine

that images that real estate agents
might upload might be large ish.

Caleb: probably, I, I put a conservative
limit of like a megabyte for now.

Cause I didn't want to bother
having to restart the server.

I also added a little thing so that
it should restart if it crashes.

it was mostly cost driven.

I think it's costing us like $2
a month or something right now.

Jonathan: Yeah.

We do want to scale it up too
much to handle 12, 12 Meg files

Caleb: Well, yeah, that's
another benefits of fly is.

You can just scale it up by like
clicking a different number from a

drop down to give it more memory.

Jonathan: But that also
increases the cost.

Caleb: yeah, yeah.

Jonathan: So I still want to
do a landing page for this.

Um, is that something
that you want to build?

Caleb: I'll build a landing page.

I don't think it'll look good.

Not I.

I don't think it's about one.

I think it's about ability.

Jonathan: Oh, okay.

Caleb: I think if, if I make the
landing page, I don't think anyone

will be very excited about it.

But you did, you made a good point
about the landing page because you

opened up the app and it's just a
login screen with like no title.

Jonathan: Yeah.

No context at

Caleb: It's just logged in and like, okay.

Jonathan: your, give us an email and
a password and we'll go from there.

Caleb: Let's see what happens.

Jonathan: what w would it, would it make
sense for the landing page to be part of

the part of the app that you've built?

Or should we use something else?

Like some other kind of
tool to make a landing?

Because I would like, I would like the
landing page to be somewhat functional

so that you could try out the app
right from there and generate an image.

so that to me makes me think that it
should be part of the part of the app.

Caleb: probably it's.

Yeah.

I think trying to use a separate
tool for the landing page might just

be more, more pain than it's worth,

Jonathan: Got it.

Caleb: it's not like reading
static HTML is really that hard.

Jonathan: Yeah.

Caleb: So

Jonathan: So maybe we
can ask Steve for a logo.

from there, I feel like I could
design an okay landing page for us.

I don't think that would take that long.

He just designed it and Figma,
and then you can take it and turn

it into, turn it into a webpage.

I just, I don't want to do the.

Caleb: No.

I very briefly started
sketching some things out and

I like, nah, this is too hard.

Jonathan: Steve is, uh, Steve
is the designer on our team.

He's, he's, he's relatively new.

He only started less than a month ago.

but he's interested in, he, I asked
him if he, how long he would, if

he would be able to come up with.

An image, like a generated image, like
a better designed to generate an image.

So he was going to give that a go,
but we haven't checked in, we have

a meeting on Monday to check in.

So I'll see if he's, if he's progressed
or if he's just busy with other things.

I told them it was optional.

Caleb: I'm excited for that.

Some of his, his illustrations
are just amazing.

Jonathan: Yeah.

Caleb: know.

Jonathan: We're building
a game right now and.

It's uh, it's it's in the ranching world.

And so it's super fun.

Uh, he's got these two different
styles that are just really,

really cool cows, cute cows.

Caleb: yeah,

Jonathan: What do you
want it to look like?

What's the, what's the tone
that you want it to have?

Caleb: I don't know.

I was trying to figure that out.

Jonathan: is kind of quite kind of
funnish cause it's an, it's not a.com.

It's a.social, which I'm not
even sure we're using that.

Right.

Like, I don't know if, if,
if dot socials are meant for

Caleb: I hope it doesn't have some, like
a horrible connotation or something.

Jonathan: Oh no, that we didn't think of.

Oh, shoot.

Uh, I don't think so.

I don't know.

Um, certainly wasn't our intent,
but like what, what's the tone?

Like what kind of, what kind of, I
don't know, imagery do we want to use.

Caleb: I don't know a realtor
it's fun realtors don't seem,

Jonathan: I think some of them are fun.

I was, I've been paying attention to
the bus seat advertisements lately,

and some of them feel very like
cliparty, some of them look kind of

nice and, none of them have like there's
definitely not a cartoonishness to it.

And I'd say nothing is like ultra modern.

Like if I look at some of the
tools and landing pages or some of

the landing pages for tools that
we might use, they are beautiful,

but in a very modern kind of way.

And I'm not sure if that's the right
way to go for real estate agents.

I don't know.

Caleb: I don't know.

I feel like a lot of realtors,
their brand seem very premium

with like gold text gold on black.

Jonathan: Yeah.

Yeah.

Yeah.

Okay.

So you think ours should have like
some not, maybe not quite so overt, but

maybe something like that, like borrow
some of those, some of those ideals.

Caleb: maybe try to seem high class,

Jonathan: High class.

Okay.

Caleb: maybe.

I don't know.

Jonathan: I don't know if I can do that

Caleb: But then there's also, because
I think there's also a whole class

of realtors that are like cool
realtors that are like your friend.

Jonathan: Yeah.

Oh, my goodness.

So maybe, I mean, that is the brand
of the realtor, not us, right?

Like that's their brand.

That's not necessarily our

Caleb: Yeah.

But I think, I don't know.

I actually have no idea, but
I feel like as a realtor.

That's like the world you're in of your
own brand and other people's brands.

So you're kind of used to that

Jonathan: What if, Hey, I have an idea.

What if next time we record, I invite
my friend Vann to come on and record

with us and we'll just watch him use
the app and get his feedback real time.

Would that be fun?

Caleb: would be fun.

Jonathan: Ah, okay.

That's and that's motivating for me to go
on like get in touch with them and let

him know.

Caleb: yeah.

Even if, even if the app actually
turns out to be horrible and he

hates it, at least we'll have
hopefully a good podcast episode

Jonathan: Yeah.

Okay.

I

Caleb: some learnings.

Jonathan: Okay.

I just thought of that.

So I'm going to, yeah,
I'll, I'll reach out.

I'll reach out to my friend Vann De Marco.

He's a relatively new real
estate agent in Vancouver.

I'll see if he wants to come
on and give his thoughts.

Um, Just like real time.

Like we won't even, we won't even give
him a heads up as to what's going on.

I mean, I'll tell them a heads up,
like, this is what we're going to do.

We're going to record you.

And cause it gets your response,
but I'm not going to share

any screenshots ahead of time.

Awesome.

So maybe by next week, we'll
have an interview with a

real live real estate agent.

Caleb: For real, real, realator,

Jonathan: A real realtor.

Caleb: real,

Jonathan: you've been
listening to The Robot Factory.

We'll tune in next week.

See ya soon.

Caleb: Yep.

Bye.

Jonathan: Bye.

We need a better sign off of that.

You say, you say we've, you've been
listening to The Robot Factory.

You sign off.

Caleb: You've been listening
to The Robot Factory starring

Jonathan Bowers and Caleb Sharp.

Jonathan: Woo.

Nicely done.

Caleb: Thank you.

Like who was that?

Jonathan: That's Caleb.

Caleb's done the, doing the outro now.