The Robot Factory

Caleb and Jonathan chat about some last changes before launching OpenHouse.social

Show Notes

Caleb and Jonathan talk about how satisfying it is to watch our animated image of the OpenHouse.social app working and other less important things, like a working billing system.

[00:16] Maybe we are waiting too long to launch anything
[04:08] We have a few of our Mom's subscribed to the newsletter 👋🏼
[05:07] OpenHouse.social is now live but how do we build an audience
[07:23] We made a cool interactive animation for our landing page
[09:15] Is this a bad time to launch a real estate tool?
[10:12] Cover art for the podcast
[11:27] We can't even take anyones money if they wanted to pay us
[21:47] How can we get some paid users?


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

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

Follow Jonathan: @thejonotron
Follow Caleb: @calebissharp


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: This is the robot factory.

It's a podcast where we record
ourselves building some new software

to see if we can sell the whole thing.

Get it acquired.

, I'm Jonathan Bowers.

Caleb: And I'm Caleb Sharp.

Jonathan: It's been a little
while since last week recorded.

What have we done?

Caleb: yeah, a few things, quite
a few things, too many things.

One might even say

Jonathan: I wouldn't say
too many things really well.

Okay.

I think, I think we probably waited
too long before trying to launch

a thing, so yeah, maybe too many

Caleb: Yeah.

Maybe, maybe too many things we
should have done these things earlier.

Jonathan: Yes.

So we took too long to do the things
we did and maybe did too many of the

things because we probably could have
launched without, without some of

the stuff we've tried to launch with.

Although arguably I'd say, we
kind of needed all of it, so

let me just negate everything.

I just said.

Caleb: Agree and disagree.

Jonathan: Oh, let's agree and disagree.

Okay.

What, but, but give, give a little recap.

What have we done so far?

Caleb: um, well I wrote some of it down
cause I'm going to forget some things

and I probably already did, but, um, we
don't, it was, I wouldn't call it that.

Um, it's four bullet points.

We talked with a real
estate agent, unnamed.

We made the landing page.

I don't actually know if we
talked about it last time.

I couldn't remember, but

Jonathan: I think we did talk about,
uh, making a landing page and because

we were going to try and launch it,
and then we got a little carried away

with some of the fanciness of one of

the things we tried to do.

Caleb: So that was finished
and it's deployed now.

Uh, I also did S I redesigned the word
not redesigned, but reimplemented, we

have a new design for the generated
images that look a little nicer

Jonathan: Yes, that

Caleb: designed by me.

Jonathan: yeah.

Um, so I finally gotten around to
editing the podcast and we talk

about that for like three episodes
where like, oh, it looks ugly.

Let's redesign it.

It looks ugly.

Let's redesign it.

And that was the task at
the end of each episode

Caleb: It really was probably
the most important thing that we

should have done it somehow it
ended up on the bottom of the pile.

Jonathan: It.

I was actually surprised when I, when
you deployed the landing page and I went

into play with it and was like, oh, this
is still, this is still Caleb's design.

Caleb: Yeah.

Maybe I just didn't want
to let it go so fast.

Jonathan: It is.

It is, uh, you know, your
first child is always one that

you don't want to sacrifice,

Caleb: Yeah, so there's that.

And then also the account page.

I just, I have worked on this before, but
I cleaned it up and merged some stuff in

and just opened a pull request for that.

Uh, and then I also worked on some
of the podcasts music, although I

kind of got sidetracked a little bit

Jonathan: Oh, you mean, what do you mean?

You got sidetracked a

little bit.

Did you get pulled down
into a dark hole of, synth?

Caleb: yeah, I got pulled down into
a dark hole of, of synth wave and

I don't think it is going to end up
being the final photo, but it was fun.

Jonathan: Oh, w why not?

Why don't you think it
will be the final product?

Caleb: well, I don't know.

I would dramatically affect
the tone of the podcast.

It would make it much.

We'd have to wear sunglasses from.

Jonathan: oh, I don't run up.

Yeah.

I kind of don't want to be that about it.

Like, I don't

want chauch.

Caleb: no, I don't think that.

I think, I mean, our podcast
will become edgy, but in like a

no edgy is not the right word.

What is the right word?

Intense maybe.

No, not hip.

Definitely intense.

Jonathan: Oh, okay.

I don't want that.

Is it?

So we had thought, we thought we
might maybe put it up to a vote

to S to let, like, let people
decide what the music's going to be

Caleb: I thought that was a good idea.

But later I was thinking that why
don't we don't have any listeners,

so I don't know who's going to vote.

Jonathan: no, but we have
some people subscribed.

So we've launched, we've launched,
um, the newsletter for this podcast.

So not, not for the OpenHouse.Social,
which we also have to do.

I've got to, I've got to.

Tie that altogether.

Um, but we've launched, uh, like a
preview of the, of the newsletter.

So we've got a few subscribers there.

Um, some moms not my mom though.

Caleb: Yeah.

Jonathan: Yeah.

Your mom.

Caleb: my mom's

Jonathan: Chris's mom.

Um, hi Caleb and Chris's mom.

Hi,

Caleb: thank you for hopefully listen.

Well, I don't know.

Jonathan: I, who knows if they'll listen?

Yeah.

Well we'll seven this
episode in particular.

yeah, and then some,
some, some folks don't.

which is cool.

So there's some

Caleb: a good

Jonathan: subscribed.

Yup.

And, and I don't know.

I think it'd be kinda neat if they voted.

I don't know.

Maybe that's just like, you know, you
know, sometimes when, when you, when

you go to like a friend's house or a
party or something, and some guy is

like, Hey, everybody, let's do this.

This will be so cool.

And you just think, Nope,
that's not, that's not going to

be that fun and you're right.

It isn't that fun.

Um, that might be the case here.

Caleb: Yeah, well, it's not like we get
end up in a worse position than before.

Cause right now we have no opinions on it.

And if we end up with no opinions
on it, again, nothing's really

Jonathan: That's true.

OpenHouse.Social is live, there's,
like I said, there's a couple

of things that I want to add.

I really want to have some way of,
potential customers like signing, like

not just signing up for the app, but like
signing up to be, informed about things.

And I kind of, I don't, I mean, one of
the, one of the things that I've been

reading a little bit is sort of, you
know, building an audience and, and, you

know, trying to not launch to crickets,
And so I want to try and figure out some

kind of a, like some kind of a value to
provide to subscribers, to a newsletter.

So how, like what would real estate
agents or potential users of this product

of OpenHouse.Social find valuable?

can I give them value through the
newsletter to create that larger audience?

I have some ideas.

Um, like one of the things I was thinking
about was, just like sharing Canva tips.

I don't know.

or

Caleb: know any Canva tips?

Jonathan: but I can probably figure
some out, I can learn stuff pretty

quickly and like, I've not Canva.

I did go into try and use canvas
because I was going to generate a,

a social media image with it and
kind of felt a little overwhelmed.

And so I didn't, I didn't end up using it.

I just went and did it myself.

Um, but I, I could probably
come up with some things, but I

just like, yeah, I don't know.

I don't know.

What's valuable and I kinda want to
talk, I want to talk with more real

estate agents and ask them, like, what
would be interesting to hear about.

Caleb: maybe we could, we could hire
someone who actually works in the real

estate space to just like give us some, I
feel like social media tips for realtors

could get fit

Jonathan: someone to do that.

Caleb: I just mean that.

Cause I don't know if we have the
time to figure out how to, I don't,

I don't know what to do on social
media is going to help sell a house.

And I don't think

that's something we
could figure out quick.

Jonathan: maybe what it needs to be
is I just like go and start rounding

up some, some tips, like I don't
have to, I don't have to do the work.

I can

just curate

Caleb: don't even really
have to be a good tips.

they should be useful and correct,

Jonathan: yeah.

So not like dark

Caleb: but they don't have
to be like groundbreaking.

Jonathan: yeah, no, it doesn't
have to be groundbreaking.

Anyway, so yeah, there's a few more
things to do to the landing page.

There's one thing in particular
that we like, I really love

about the landing page.

I think it's the coolest thing.

Uh, and that's the
animation that you made.

we are thinking we've both looked at it
and, but potentially a listener has not.

So what.

Caleb: Well, so, oh, this is going to
be hard cause I know one will live.

You can see in what the
generated images look like.

Okay.

So it's.

The generated image has like
the background an image.

And it's got the text of like
the price and the address and

like the real estate agents face.

And these are all kind of elements.

So this there's this, uh, thing on
the landing page where it's that,

but it's like three dimensional
and all those pieces are those like

layers are kind of like, it's like,
it's like an exploded view of it.

And then when you hover over it,
cause it's all like HTML and CSS.

It like animates to the
flat version on hover.

Jonathan: And it's very,
it's very satisfying.

I love it.

Caleb: Yeah.

It just like, it all clicks
into place when it rotates.

It is nice.

Yeah.

It's kind of like, it's like an exploded,
like diagram of machinery or something.

Jonathan: yeah.

Yeah, it was super it's super cool.

Uh, I hope we get some
feedback on it, but.

Who knows.

I mean, everybody that I've showed
it to was like, yeah, this is cool.

Um, and some people like, okay, whatever.

Caleb: Yeah,

Jonathan: Caleb made this.

Yeah.

I don't know.

Caleb: uh, it's one of those things
that maybe it's hard to appreciate.

Jonathan: The other thing you mentioned,
uh, we did talk with a real estate agent,

or I'm not sure if that's the right term.

I mean, he is a real estate agent.

Yes.

But he also runs a firm of
many real estate agents and,

uh, we had a great chat.

So he, he, you know, he
definitely likes the idea.

He's not quite in a place where he wants
it yet, which was a bit disappointing.

I'll be honest.

Um, but he had some good feedback and he
kind of, he kind of pointed out some other

businesses to go and look at people who
are doing, content services where they're

creating content for real estate agents.

And so there might be some interesting
conversations to have there.

he also shared that the market is
not in a great place right now.

So maybe this is like the worst
time to launch a thing like this

because the real estate market
seems to be retracting a bit.

I know anecdotally I've heard
that, houses, at least in our

neighborhood, aren't, aren't
going for asking price anymore.

And they're certainly not being,
they're not in a bidding war on them.

So I don't know.

Maybe.

The end the end times.

And I don't know.

I mean, I don't know if this, if this
is a good time or if this is a bad

time, because like, it feels like it
could be a bad time to launch something

like this, because if the market is
recoiling, I doubt real estate agents

are sort of flush with excess cash and,
you know, looking to spend stuff, but

maybe, maybe this is enough of a time
savings that it saves, it saves money.

I have no idea.

Like, can you, save some cash by
not, you know, not spending with

your design agency quite as much,
and do some of this yourself.

Caleb: Yeah, it goes either way.

I think

Jonathan: Oh, uh, I want to go peek
at, okay, so we've got some cover art

Caleb: this isn't.

Technically something we need
to do for open house stuff.

Social.

I don't know if the relationship
between the podcast and OpenHouse.social

very intertwined at this point when
one can't exist without the other.

Jonathan: yeah, we've got The Robot
Factory, which is this podcast, which is,

right now talking about, OpenHouse.Social.

Although we've got another product that
we working on that we also, we also beat,

we beat OpenHouse.social revenue with.

So there's that.

Um, but we'll, we'll talk
about that another day.

We're trying to launch a
bunch of stuff at once.

It's, it's probably
like hugely distracting.

Um, and then, so the designer
on our team, Steve, he loves to

doodle and loves to illustrate.

And so he's come up with some examples
of some, uh, podcast cover art that, uh,

both Caleb and I are looking at right now.

Interesting.

I like these.

I think there's some, some
of these that are worth, um,

worth exploring a little bit.

Um, I'm not going to be done editing
the podcast and time to actually,

uh, to actually utilize this yet.

So we've got some time, um, yeah,
I've only edited episodes one and two.

anyways, how are you,
how were you feeling?

What, what do we need to do?

I mean, I kinda hinted at some
of the things we need to do next,

which is add this, mailing list.

Caleb: I'm not actually too sure at
this point because the account stuff,

I don't know, I got a lot done today.

Uh, maybe related hacker
news was down today.

So I've had a very

Jonathan: Oh, why are they
also on, are they on Rogers?

Does

Caleb: No, I think

Jonathan: by Rogers.

Caleb: thing.

They had like a, they
had a disk fail failed.

You're like yesterday or a
couple of days ago and they

switched the fail over server.

And then that the fail
over server went down.

Jonathan: Oh, whoops.

The daisies.

Whoops.

Caleb: to Rogers though,

Jonathan: Um, okay, so
you had a productive day.

Caleb: too productive.

maybe some just like clean up of
the account page and styling, but

a lot, I think, I think all the
functionalities is actually there.

Jonathan: Heaven forbid, someone
who wants to pay us for this,

uh, how would we handle that?

Caleb: Good question.

I didn't even think about that.

Jonathan: Like it's so one of
the, so we have, we have a couple

of other things that we've been,
uh, we've been working on it.

So we've, I've got a coup a few
Stripe accounts that I've created.

it's, it's really easy to just
sort of manually send an invoice.

Um, so we could do that.

And then is there a, is there a way to.

Like eventually we want this
kind of all automated, right.

So that we don't have to, we don't
have to intervene if somebody

wants to use the software.

But at the moment when we don't have
really a way of, like, we just don't

have any other options, like there's no
way for someone to, to start using it

and pay us in a way that's automatic.

does Supabase the back end or the
dashboard or whatever, does it allow

us to go in and flip switches or flip
toggles on user accounts or something?

Um, because if we could do that, then we
could, then we could just send invoices to

people manually or create a payment link.

And then I don't know.

Caleb: yeah, I don't
think they're Supabase.

We'd have to use like Stripe or something.

Jonathan: Well, no, I know, but
like, so Stripe handles the payment.

So we'd use Stripe to, to send
the invoice and accept the credit

card and do all that, all the
Stripe things that Stripe does.

But then like if we were building
this, you know, maybe for a customer

who, who wanted to integrate
Stripe payments, we would integrate

it directly within the app.

And then the app would make a,
make a call to Stripe and say, Hey,

get this guy's credit card number.

And then it collects it and then it
tells us, oh yeah, we charged it.

And we've got that.

Um, but manually, like we don't,
I don't want to build any of that.

Caleb: Oh,

Jonathan: It seems like too much work.

Can I just, cause I can
just send an invoice.

I can go into Stripe and
be like, I need to send it.

I need to create a customer
account for, um, for Caleb's mom.

Hi Sarah send, send Caleb's mom and
invoice and then as soon as she pays,

I'll just, I'll just like, oh, let's
go and flip the switch on her account.

Uh, is that something that we could

do?

Caleb: what you mean.

I, well, kind of how it's set up
right now is if you have an account,

that means you're paying for it.

Jonathan: Hmm.

Okay.

Caleb: free users just
don't have an account.

It's not like there's two
tiers of an account account.

Is the.

Jonathan: So how can we, can we make it
so that we can't let anyone in without

Caleb: Well, I think we could,
I think there's two steps.

We turn off signing up

because that, yeah.

And then either just like manually
create accounts when people sign up

or I think probably we'd have like
a web hook or something with Stripe

that would like call our API to
just trigger an account creation.

And then it would like
send an email with like,

Jonathan: So

automated is what she's
saying, make it automatic.

I mean, we could probably, we could
probably do some no-code thing.

Like I can probably integrate something

together with

Caleb: think it has to be no code,

Jonathan: No, but

Caleb: cause we still need the
web hook handler on the API.

Jonathan: uh, not necessarily, because if
the, if, if so, make.com is like Zapier,

you can just connect tools together.

And if it connects Supabase databases,
and if it can connect to that and

I can flip a switch, then we can.

Caleb: Hmm,

Jonathan: I know

you sprinkle your nose
at that because you're a

developer and

Caleb: aye.

Aye.

Jonathan: to no-code.

Caleb: Aye.

I just don't think that's less,
like, it's not very complicated

to just have like a web hook

Jonathan: right.

Okay.

So let me, let me ask you this then.

How long would it take to integrate
payments into our existing, uh, Assuming I

go and set up the Stripe account and have
the products and all that set up, which,

which I don't think would take long.

Caleb: I've never worked with
Stripe before, so I can give a

very confident estimate of one day.

Cause I think it's

Jonathan: a very confident

Caleb: that we don't, we don't
want, like, I guess no, it

would just be a link to Stripe.

Okay.

Maybe two days.

Jonathan: Um, so we can, we can host
the payment page and everything we

need, like invoice the, like everything
that the user interacts with about

giving credit card information.

We can host that entirely on Stripe.

Um, and then all, all we
would need to do is yeah.

Set up, set up something to tell
it, OpenHouse.Social, that there's

a new user here and they've

Caleb: Yeah, I think it's
pretty straight forward.

Supabase does have these like
functions so we can, might even

be able to just do it there.

I don't know.

They're kind of in beta and I don't
know if they support that exact thing.

I think if we use Stripe's, UI

Jonathan: okay.

Caleb: should be pretty easy.

It'd be cool.

Cause I don't, cause I
haven't done that before.

Jonathan: Okay.

Is that a, is that worth doing right now?

Because we don't.

I mean, when I, like, I think it's
more important to get some, get

some audience and people like trying
it out and giving some feedback.

Um, so I would much rather spend effort
trying to find potential customers

then to try and turn those potential
customers into actual customers.

Caleb: I don't think I'm particularly
good at customer discovery.

I think my time would be better
spent implementing the payment

stuff, especially because

the

Jonathan: Fair, Fair, enough.

But is there other tasks that
we could, we could do, like,

for example, um, I know that.

Uh, the one customer that we had talked
with or potential customer, the guy that

we just sort of mentioned about hoping to
have him on the podcast to just, you know,

His agency or his company is
very brand like very branded.

And so they, they almost
certainly would want a different

template than what we have.

So we need to have some way of
supporting other, other templates because

right now we just have one, right?

Like we just have the one thing,
it can generate one type of image.

so I like maybe that's
where we want to go.

But even that feels like, again, that's
something that somebody will pay for,

not they get for free, although, okay.

Here's, here's an idea.

What if, what if, um, for free?

So if we anticipate that we are
going to hook everything up with

Stripe, then we don't need to have.

free users not have accounts.

We could have them have accounts.

And then just as soon as they
pay, they get, they get like

premium version or something.

Right.

Um, cause if we're doing all the work of
hooking it all up, then we can restrict

access to some features to be paid only
like uploading your logo or w whatever

other features we may come up with.

And also supply them with
custom templates, right?

That's a, that's a paid feature.

can we make the free account, allow
them to change some of the, some of the

settings of the template, because right
now we've got a very specific color choice

in the, like the way, the way that the,
that template works is there's like a band

of color that sort of semi-transparent
and then this other, other.

Like outline.

That's also, it's kind of a rainbow color.

It's a gradient.

Can we let them change that for free
and sort of like maybe kind of hit

their brand, but still have, you know,
still have OpenHouse.Social little

Caleb: um, maybe cause
we have the watermark.

Yeah, maybe, but I mean, we're
letting them put their name on it.

Jonathan: I know, but like, I just
think that, the template that we have is

useful to evaluate, but not maybe useful
to like use and because it's, it's,

we've just made very specific choices
about it that I think won't work for.

But if we could make it so that like
I can at least make the blue that we

have in our logo, make it blue and
make, you know, make the, make the one

line blue and the other, the thicker
part, green or whatever, you know,

whatever brand colors that I have.

It still says OpenHouse.Social on it.

You gotta pay to remove that.

But

Caleb: yeah.

Having free and paid accounts,
uh, requires a bit more tweaking,

which is with how it's implemented.

It's kind of assumed right
now, if you have an account.

Well, it doesn't even really seem
that you're paying because there

are no payments, but it's it's yeah.

It's written in a way that
assuming that accounts will

Jonathan: Okay, well, maybe we just skip
that and just like, don't have, maybe we

don't have free accounts and you're right.

It's just, if you want
to use it, it's paid.

And if you, like, if you want
to try it, there's no free.

You just pay for two
weeks and it's this price.

Caleb: yeah, I mean, cause you
can cause from the landing page,

you can, you can generate images.

Jonathan: Yeah, that's true.

You can try it out.

You can see what it does.

Caleb: And I

Jonathan: But that's like,
it's not useful, I guess.

And so, yeah.

I don't know.

I don't know.

Maybe

it is, maybe it doesn't make sense.

Caleb: we can add like a
color picker to the try page.

I don't know, for me the biggest value
out of having an account, was that it

like kept those, like your name and your
logo and stuff, all that was stored.

So you don't have to enter it every

Jonathan: Oh, I think that's the biggest
value add at the moment, because.

Capable of anything else, but I think
that the real value later will be that

you get your, your special, um, Caleb's
real estate agency, custom designed

branded thing, which we probably will
end up like selling as a service, but,

Caleb: Yeah, but that doesn't exist yet.

So it's easier to add stuff to the paid
tier and then add stuff to the free tier.

Well for one, if they're
both very similar, then no

one's going to pay for it.

Cause it's like, well, it's
not that much different.

Jonathan: Yeah.

Caleb: I guess if, if no one
signs up, then maybe we have to

sweeten the deal a little bit.

Jonathan: yeah, so I think, so my, I
think my strategy though, is to, is to

convert to how to get paid users is to,
um, come up with custom designs for.

And it's like the first
few, just give them away.

Like, okay, Hey, you sign
up, you sign up for a year.

I'm going to throw in this
template that is matched to your

design, as close as I can get it.

Like let them, let them sort of tweak it
a bit, but, um, or do some revisions and

then embed that in for their account so
that when they log in, it's like, yeah,

this looks like Caleb's real estate agent.

Caleb: Yeah, I think that's a good idea.

Jonathan: So can we, so Coda, could
I do that, I guess, I guess, yeah.

Maybe that's the question.

If, if, uh, I go and find a real estate
agent to say, Hey, you want this?

He says, yeah, this is awesome.

Um, can you make it look like this?

can we do that?

Caleb: Almost it would require.

couple changes to the code, like
a couple of lines and then, well

actually making the template and then
just like manually sending like the

name of the template or something
to the user in the database for now.

Jonathan: Okay.

Let's let's see if we can do that.

Let's see if we.

I mean, we don't need to do that because
that's, that has some lead time that

we can just wait until we sell it
before we actually build that feature.

I don't know what to build.

What do you want to build?

we just don't build anything
and just focus on other stuff?

Caleb: Y, I don't know what
other stuff there's focus on.

Jonathan: No, like, like other projects?

Caleb: That's what I mean.

Jonathan: Yeah.

Caleb: Um, maybe I wanna do the pricing
thing or the payment can, cause I

don't think it'll take that long.

And I think, I think it'd be fun

Jonathan: Let's add, let's
add payments, then we'll add,

we'll add payment workflow.

Caleb: Cool.

Jonathan: and then only terms of
service and all that kind of stuff, but

Caleb: Oh yeah.

I guess, yeah, we can figure that out.

Jonathan: All right.

Anything else that you want to.

Caleb: Uh, Nope.

That's

Jonathan: Okay.

That's

everything

Caleb: It felt very packed.

Jonathan: it was packed.

Cool.

Well, I won't be here next.

To record.

So the listeners won't care cause it'll
just roll into the next episode, but uh,

I'm going to go do a race, Chris and I

are going to go race.

So

Caleb: Good luck with that.

I'm excited for it.

Jonathan: All right.

Well, thanks for listening
to The Robot Factory podcast.

We'll catch you next time.

I'm Jonathan Bowers.

Caleb: And I'm Caleb sharp

Jonathan: Bye

Caleb: peace.