A podcast about software development and developing ourselves as software engineers. Hosted by CJ Avilla and Colin Loretz.
cj_1_09-27-2024_130432: What's up, Colin?
How is it going in your world?
colin_1_09-27-2024_100432: Pretty good.
Welcome back to Build Learn.
I hear you were in my neck of the woods
cj_1_09-27-2024_130432: I was
like right down the street and
I'm sorry for not hooking up.
We had like just an insane
amount of work to do.
And yeah, we, our town in North Lake
Tahoe . They're like doing a multi year
project to move how the municipal water
line is hooked up from the back of the
property to the front of the property.
So they can like probably do
easier maintenance from the road.
You can just cut into the road,
fix the water lines instead of
having to go on to everybody's
property and schedule when you're.
interrupting homeowners to go
in and make changes and stuff.
It was also weird too, because the
meter was at the back of the property.
So every once in a while someone
from the PUD would like just go
into your backyard and be walking
around in your yard, which was weird.
So now they'll have all
the meters at the front.
but that meant that either we paid,
we would pay like a contractor, like
between eight and 12, 000 to come
and install it for us or install
it ourselves and do the work.
And my dad is super familiar
with all this stuff.
He went and just downloaded all
the permitting and inspections and
requirements and documentation.
And then, rented the equipment.
And so I just showed up and was the
work, like the manual labor for digging.
so we dug a couple of trenches.
They had the, I think the frost line
in Tahoe is like 40 inches below grade.
So they were super deep trenches.
and we used an excavator.
So we got like a mini excavator that
we went and dug like 20 plus foot,
lines, down like four feet basically.
And.
For my house, it had to go
underneath a sewer line.
So that was gnarly, like
just realizing how much you have
to dig by hand when you're going
around existing services or rocks or
tree branches or things like that.
so yeah, it was very much get up
at six in the morning, dig all
day, even if it was pouring rain.
And then we got to the point where, we
got, my house and his house completely
dug, ready to go for inspection.
And then you have to wait 72
hours for the first inspection.
Then they do the inspection and tell
you like, okay, yeah, it looks fine.
It's not going to freeze.
And we approve this connection or
whatever to the municipal thing.
And then.
You have to basically bury everything.
And then you have another
inspection that you have to call in.
That takes another 72 hours to wait.
So
colin_1_09-27-2024_100432: Oh boy.
Nice.
cj_1_09-27-2024_130432: like dig a
ditch, punch a hole underneath the
foundation, pull up the waterline from
underneath the house and hook it up to
the new, like where the old main came in.
And then.
That also involves like removing
an old deck and like taking apart
a fence and changing all like
a whole bunch of landscaping.
And so it was quite a project.
thankfully my brother came up and, my
sister's boyfriend, Chris came up and
just, they were, they were ready to work.
So we got it all done in about seven days.
And then we had like our last inspection
and the mains just after I left.
a big lift, but we ended up
saving probably like 20 grand.
I think it was worth it.
colin_1_09-27-2024_100432: Nice.
You get to travel and see some family and
roll up your sleeves and get away from the
computer and
cj_1_09-27-2024_130432: Yes.
So I spent a little, like in the
morning I went down to Java hut and
sat at the beach for a bit just to
enjoy a few minutes here and there.
And one night we did go
to Garwoods for dinner.
Incidentally, we bumped into Eric Holder,
former U S attorney general at Garwoods.
It was like, Whoa, Hey,
colin_1_09-27-2024_100432: Garwoods.
That's, I haven't
thought about that place.
We have a trip coming up next weekend,
like a guy's trip to Tahoe just to we
usually plan a trip every year with some
college friends and, and we try to go
somewhere else, but in a pinch, we're
like, let's just look at what's at Tahoe.
we've been thinking about where to
book a dinner, like a nicer dinner.
And, we usually do like Lone
Eagle Grill for near incline, but.
I don't know.
I think our weights might be a
good way to switch it up this year.
It's a little bit of a drive
from incline, but worth it.
cj_1_09-27-2024_130432: Yeah, I think
King's Beach also has Caliente, which
is another restaurant by the same folks,
and they have I don't know, they have a
An interesting kind of like, theme, each
of them has, these like really funny
drink menus that are based on, like
slurpee machine, alcoholic beverages.
So Garwoods has goodies and then,
Caliente, I forget what theirs is,
but I know Garwoods is all rum based.
And then Caliente, I think is
all tequila based, super fun.
But
colin_1_09-27-2024_100432: bar
of America as part of that.
And then there's one in Southlake as well.
I can't remember the name of that one.
cj_1_09-27-2024_130432: yeah, I
think there's actually I don't know.
The last time I checked there were
seven or eight and I think one just
opened in Legends recently in Sparks.
colin_1_09-27-2024_100432: The water bar.
cj_1_09-27-2024_130432: Yeah,
the other I guess like the other
recommendations I'd make to on in North
Lake and even in West Shore is Jake's
in the lake, which is like killer.
You sit out the marina.
and then on West Shore, if you go
to Sunnyside, that one is amazing.
Amazing.
yeah.
So do you usually go, is it like a weekend
thing or you go for just a couple of days?
colin_1_09-27-2024_100432:
Just the weekends.
some of us are still here.
Some of us are elsewhere.
So it's a little bit easier
to, Paul, I run to Tahoe and,
we've got some aspirations for
a little bit of a longer trip.
Like we, like right now
is literally Oktoberfest.
I think it's a big lift to get us to
all go to Germany, but maybe next year.
We'll see.
cj_1_09-27-2024_130432: so yeah,
while I was gone, there was a
whole bunch of drama that happened.
Apparently, I don't know if I was like
living under a rock and I bumped into
someone and they were like, have you heard
about what's going on with WordPress?
I'm like, what WordPress drama?
Like
colin_1_09-27-2024_100432: Yeah.
so I will try to explain
this really quickly.
It is definitely drama.
It's hard to watch because, it's I think
you and I are both very familiar with
the Rails community and the Laravel
community and WordPress has its own
community and I very much owe a lot of my
early career to WordPress and to Rails.
I kind of bounce between the two.
and And the community is super important.
And what, I think that the tricky
thing with all of these is that
they're like open source platforms
with some commercialization of you
have hosts, you have plugins, you
have theming, you have all this stuff
that people could spend money on.
You have agencies who are building
and, billing out time and materials for
building someone a website on WordPress.
You have WooCommerce, trying
to go up against Shopify.
Like it's just this whole ecosystem.
And.
It took me a minute to fully understand
because like there's a lot of
complexity in how WordPress works.
And we maybe can tease this out
into another episode of you have the
WordPress projects, org, you have
the WordPress foundation, you have
automatic, which is fully run by Matt.
And they've raised VC and
all sorts of other things.
You have woo, which I think is owned
by automatic and automatic has been
buying up some other things as well.
and like, where do all those lines cross?
Where, what are the boundaries?
So this all started with
Matt basically saying that.
WP Engine misuses WordPress and they
like disabled, like version history
on posts just to save money because
like they don't want to have all this
versioning of all the posts on WP Engine
and he basically wrote a blog post
calling WP Engine a cancer to WordPress.
Which,
we'll post some links, I'll post a link
to the WordPress Drama Explained article
from TechCrunch but they basically then
did a cease and desist to Mullenweg and
to automatic to withdraw their comments.
And they basically were like, I guess
in his article, they also called out,
Matt calls out that the WP engine is
misusing the WP brand and that WP engine
is not distinguishable from WordPress.
And that, they're not allowed.
A lot of legal online legal scholars
have dug through and like it specifically
calls out in the WordPress foundation
that WP is not covered by the
cj_1_09-27-2024_130432: Oof.
colin_1_09-27-2024_100432: framework.
and you have a million plugins that
are called WP this WP that, you have
plugins, you have themes, you have theme
marketplaces that use the WP brand, like
as instead of WordPress, And this one's
an interesting one, because I've been a
WP Engine customer for a really long time.
We used it at Strava.
We were very high paying customers at
Strava, and they were one of the best.
They still, I would still say
they're the best WordPress hosts.
So a lot of people are like, we don't
know which side to choose in this.
but it only ramped up from there.
So Matt basically took it.
Said that he was going to go nuclear
scorched earth, against them unless
they agreed to pay, essentially
like a license, for the trademark
and a percentage of revenue.
fast forward, they basically said
no, I guess some other drama has come
out in that, in WooCommerce, when
things go through Stripe, there's some
sort of Stripe partner ID that Woo
uses to actually make a percentage
of revenue off of all the Stripes.
Purchases that happen on WooCommerce.
it turns out, WP Engine has their
own partner ID and they swapped
it out for theirs instead of Woo.
that means Automattic isn't making
any money on any of the purchases
on WooCommerce through WP Engine.
Which no one really knew, I
think, that was happening,
even on the Automattic side.
but then WordPress blocked, All
access to plugins on wordpress.
com to WP Engine customers.
so it's gotten pretty silly.
It makes Matt and
automatic look really bad.
In my opinion, I think some people
think WP Engine is the bad guy here.
But it's fully in their right to
take this open source software and
offer very specific bespoke hosting.
And I think in some of the language
that Matt uses, it gets pretty brutal.
Like he calls it like, I'll have to find
the actual link, but he does call it
like some sort of like bastardization
fork of WordPress, which You're
in your right to fork WordPress.
WordPress itself existed
and came off of a fork.
the WordPress does follow
GPL too, I believe.
And it's not MIT licensed.
So there are, limitations and
there are things you need to do.
it's you're supposed to contribute back.
You can't, I'm not super familiar with
all the legalities of it, but it is not
like a full car launch, like MIT license.
So there are some rules around
it, but when you're running like
40 percent of the internet, this
is a bad look to your community
cj_1_09-27-2024_130432: it's wild to see
how many sites are running WordPress.
my, my personal blog was on WordPress
for many years and it's just such an
easy, like CRM, if all you want as a
blog or like a news situation, it's so
easy to get up and running, but the,
this whole story actually also reminds
me of the rails world talk that I did.
David just gave.
And so we'll talk about that next time.
But like this whole, there's definitely
like this trend of framework or open
source, system maintainers that now want
to try to make a viable path forward
that doesn't necessarily depend on VC.
And so how do you commercialize?
Or have some sort of like open
source thing that if people want,
they can run it on their own.
But also, you can make
a business out of it.
And it's really interesting
watching how everyone is like
taking different approaches to this
from, 37 signals doing their thing.
Trying to build products and ship them
and do their once, once, situation
versus Laravel launching their
own, like Laravel hosting versus
colin_1_09-27-2024_100432:
and raising money.
cj_1_09-27-2024_130432: yeah.
And raising tons of funding and you
look at Vercel and what's going on with
the next JS ecosystem and then just
gobbling up a whole bunch of JavaScript,
Like giant JavaScript maintainers
and frameworks and becoming the host
and provider for those packages.
It's really interesting.
and it's unfortunate that they're
fighting and that there isn't like
a, smooth way to go about this.
It's interesting too, because.
The open source maintainer, I think
probably feels like, Hey, I gave you
a gift, I gave you this giant gift.
Why aren't you being more friendly or
whatever, if you're a business that's
making so much money off of this, I
think I heard too, that one of the, one
of the points of contention was that
the investors in WP engine, like one
of the investors, like never gave any
money to the WordPress foundation or
something like that, like there was no
money flowing back into the open source,
I don't know how I feel about that.
I don't think it should be required
in any regard, but I also think, Hey,
if your entire business is built on
this open source thing, like maybe it
would be a good idea to help support
and sponsor the maintainer so that
they can have a sustainable future.
It is, yeah, it is a messy for sure.
colin_1_09-27-2024_100432: and I
think that was the criticisms was,
Oh, is this mean the automatics
not in a good financial spot?
Matt's of course we are.
It's not about that.
And I do feel it's similar where
you have DHH and Rails and Matt
and WordPress, both of them.
Rails is not, is not David.
And
WordPress is not Matt.
Do Matt and DHH work on
their respective projects?
Absolutely.
But, they are not monoliths unto
themselves, and I think, when we get into
it in the Railsworld keynote, you can see,
just because Dave doesn't like something,
he's gonna go scorch earth and destroy it,
and that's what Matt is doing here, too.
The language is clearly
didn't go by a PR team.
Take your CEO off of, off the
blog post publishing button.
We get it.
You made the publishing button.
So it's a really weird thing.
It's just like someone woke up
on the wrong side of the bed,
had a little too much coffee.
And I get it.
there
are times when people will get under
my skin and I'm like, okay, this is the
snarky version of the response back.
Now let's write the less snarky version.
and, But you're a representative
of all of that community.
And I think some people have been
grappling with that in the DHH side.
I look at Laravel and I'm like, I wish
like I was part of the Laravel community.
Like it's pretty sweet over there.
do they have issues?
Sure.
Like whatever.
But, I think Silverlake is
actually a private equity firm
that I think now owns WP Engine.
And so the, that criticism
of, they like maybe.
contribute 40 hours of time back
to WordPress a week, like one,
one person's time a week, which
I think is, it's not nothing.
but then the idea that you're
going to block access to, so
anyone who was a WP engine customer
could not install W wordpress.
org plugins, which is like
where you go get plugins from.
someone then wrote a Cloudflare
worker to proxy traffic around.
And Matt starts attacking this person,
this developer, like, why are you
helping the private equity firms?
And then the same guy goes back,
like, why are you doing this at all?
And then I think WP Engine went and just
wrote their own cloud player proxy around
it too.
you're just, it's a shell game,
you're moving the goal posts.
If it really does come down to
this, Stripe thing, I have a
feeling it has more to do with that.
And they're just trying to, pound
the table a little bit and make
it sound scary, but WP Engine can
go toe to toe, I think, with them,
so it'll be interesting to watch.
I also, I'm like, I could never go back
to WordPress, personally, just because
some of the things that they've done, it
feels like it's time for a new WordPress.
it does.
Unfortunately, you have 40 percent
of the internet running on it, and so
what does a new WordPress look like?
we have things like Statimatic, Satamic?
Yeah.
cj_1_09-27-2024_130432:
statin, yeah, statin, yeah.
Yeah,
colin_1_09-27-2024_100432: On Laravel,
and there's been a lot of talk about how
there isn't like an equivalent in Rails.
and so that's been piquing my interest.
I haven't used Statimix,
so I want to pull it up.
I know Justin Jackson's
a fan of it and others.
yeah, that's the drama and
the update in the CMS world.
cj_1_09-27-2024_130432: I guess one final
thought is that it reminds me of all
the drama that happened with Reddit too.
It's in a similar vein where like
Reddit shut off developer access.
And I think that was them like setting
up a moat and protecting themselves
from, like LLMs coming and just like
hammering them to pull content out.
But it definitely feels in a similar
vein where There are certain companies
are making moves that are, yeah,
changing the landscape and how, yeah,
how major pieces of the internet
are working, which is interesting.
colin_1_09-27-2024_100432: and I
think the thing that we'll talk
about more in the Rails world keynote
is it's almost oh, anyone can make
money with this, but don't make too
much money because that's our job.
And what 37 signals wants
to make lots of money.
But if you're out there trying to
be a pass for rails, can't do that.
Cause you should just be running.
You should be running rails
on a computer under your desk.
And you have to do one man framework.
Like everything has to be under
your desk and no, I don't want that.
I want Heroku of 2012
is what I really want.
I don't want Heroku of today,
but same with WordPress.
Oh.
How dare they make more money or who
knows if they make more money, but how
dare they be successful, and use WP.
If it was called WordPress engine,
cj_1_09-27-2024_130432: Yeah.
colin_1_09-27-2024_100432: go to town.
But, yeah, it's, it starts to
become a power struggle for sure.
And, I'm going to follow along because
I used to be a part of the community.
So I'll report back.
cj_1_09-27-2024_130432: Nice.
Yeah.
Okay.
That's our tease for next episode.
We're going to talk about Rails 8 and
all of our takeaways from Rails world
next time we'll save that for you.
But,
colin_1_09-27-2024_100432: I would
love to go to rails world next year.
We'll have to find out
where the next one is.
cj_1_09-27-2024_130432: but before then,
what's, what's going on over at discord?
What are you working on building?
colin_1_09-27-2024_100432: Yeah.
So I think the funny thing about
all the things we just talked
about is this episode is going to
come out much time delayed, like
after words.
So maybe the WordPress thing
will have been solved by then.
but yesterday, which was probably
a few weeks ago yesterday, We now
made it so we talked about on the
show where you can build activities
in discord so you can bring like Web
based games web based experiences to
discord and they run inside of discord
So we yesterday made it available so
that anyone can play Like publish.
We took everything out
of developer preview.
we made it so that anyone could take
their activity public and make it
discoverable and make it so other
servers can install it and play it.
so if people are building games and
they want to get eyeballs, there's
a really good posts that I think I'm
a lot like we can share in the show
notes, where you can see the kinds of
traffic that some of these games are
getting on launch to the point where
like we, if you really want to test
your infrastructure, Running your game
and be like, Oh, I have this like small
delay in my queue, my queuing system.
Like you're, it's going to be a big
delay when you hit discord scale traffic.
there's a really good blog posts from
battle tabs that we'll put in the
show notes, when they launched their
activity and the traffic that they saw.
And we had to take them out of
discovery so that they could.
Slow down the traffic and recover.
And, those we're just a game developer
and we want to work for ourselves.
And you're like, you're checking your
cues in the middle of the night to
make sure nothing's falling over.
yeah.
cj_1_09-27-2024_130432: that's awesome.
I think that's, it's got to
feel good to see so many things
launched so successfully to, That
scale of audience and like the
audience is actually using it.
so that's got to feel exciting.
Very cool.
colin_1_09-27-2024_100432: Yeah.
And I think as game devs, they often will
build a thing in the, building anything.
You want people to see
it, use it, play it.
And it's if you have to go to my
website and download my game or play
my game on my, on itch or, watch it on
Twitch, or whatever these things are.
It's not quite the same as there's
lots of people who want to play
things, or have things to do.
on my end, it was a lot of docs,
a lot of okay, what does it
mean when we push this button?
what can people do?
What can't people do?
There's, thankfully we're not shipping
CDs, so anything that we got wrong,
or is still in flux, we can go update
all of that, but we, we made some new
markdown components for this one, so
I've been getting some, doing some MDX
stuff, and yeah, just trying to figure
out, I guess the biggest call out there
is that, We have been trying to like
iteratively upgrade our developer docs
instead of doing one big redesign,
rebuilds, launch this big thing.
It's Hey, all the headings
have weird padding.
Let's just change it in one PR.
And like tomorrow the docs are
gonna look slightly different.
And then the next day we'll ship
another thing rather than doing
this really big, huge project that
almost becomes like too big to fail.
yeah.
cj_1_09-27-2024_130432: Like
when you launched, what would
you say is like the main.
incentive that devs had
to get their game up.
colin_1_09-27-2024_100432: So I think
we heard a lot of people like we have
everything under developer preview And
I think a lot of people just didn't
know like we with that you couldn't
add like in app purchases You couldn't
you didn't know where people are gonna
find your game because we didn't have
docs around What is discovery and
distribution and monetization look like
because if you're a game producer and
you're like do we want to make this bet?
You want to know what you can do.
And so if you're a partner with us and
you're a studio and you've been able
to talk to us, then you get that info.
But if you are an indie game
developer or just someone who
hasn't talked to us yet, it's a,
another level of just yes, when you
and then we have those case studies of
people who have, built games with us
during developer preview and, they've
had to go up and down with us on breaking
changes and all the things during
developer preview and they were willing
to do that with us, whereas with the
open platform, we hope for a lot less
breaking changes now that we're public
with it and, and just being able to say,
you can bring your game to where we have
Players and eyeballs and all of that.
cj_1_09-27-2024_130432: It sounds
like you've got killer discovery too.
And that this, because you just
launched it, it might be like a very
awesome time to go get something up
in the store just because like it's
early days for that sort of app store.
Almost if you can get something up
and launch it right now, then, you
probably have a short window before.
It's flooded with flashlight
apps or something.
Actually.
Yeah.
is there like a review process?
do you have to look at all of the
games that are being submitted
to see does this meet discords,
colin_1_09-27-2024_100432: We don't.
So you can, you do have to do identity
verification and then you have to
fill out all of your description
and your images and all that stuff.
but once you get through all of
that, it's technically discoverable.
It doesn't mean it's
going to be at the top.
It means it's now able to
be played in those places.
And if you wanted to do your own marketing
campaign and get it to the, as it rises
through the algorithm and stuff, and
then we do collections similar to Apple
does on their front of their app store.
So we can highlight certain things that
we think are like rising stars or, as
we see them, things like that, but we
don't do an actual review process, so we
don't actually know all the things that.
people might necessarily be building.
Whereas before this moment, we
did know what all the things were
because you had to come talk to us.
cj_1_09-27-2024_130432: do you,
are there games that if someone's
listening right now and they're like,
Oh yeah, I really want to make a game.
and put it up just to see, is there
a game that you have in mind that's
like entry level, probably like
simple game mechanics that you think
would be a good one to start with?
colin_1_09-27-2024_100432: Yeah,
it's a little tricky because the
platform is really geared towards
multiplayer, but we have a lot of
really good like solo plus type things.
Like the one that I think a lot of people
really love right now is it's called Farm
Merge Valley and it's like Farmville.
and so you mostly play by yourself, but
then you visit other people's farms.
So it's, there's some Animal
Crossing type things there.
I would say any of the, party games that
you love, if you can what I learned in
this process is that game mechanics are
not Like, trademarkable, copyrightable,
enforceable, you just, the art is, the
name, the words, all that stuff is.
you can go out and, if you really
love a certain board game mechanic,
make it uniquely yours, but
technically the mechanics itself are
not something, you can copy those.
party games, Would be a good one to look
at if there's something you really like.
definitely having that, we give you
the SDK to pull in okay, another
person joined, what does it look
like to play chess with two people,
but then a third person joins?
so anything that you can think of a game,
what experience would you want for that?
I think it doesn't have to be a game.
what does pairing look as
an activity in discord?
I don't think we know yet.
I think.
I don't know, like it'd be really
interesting to see, multiple
cursors running around like
tuple style, for editing code.
We have one called whiteboard that
is similar to a fig jam type thing.
So
it doesn't have to be a game.
It could be any shared
canvas, that you can render.
maybe something around music would be
really like creating music together.
We have a few music activities.
Music's hard because you gotta get
rights and all that stuff, but what
does it look like to have, a sequencer
and a bunch of beat machines and,
drum machines and stuff like that?
cj_1_09-27-2024_130432: In the like
environment that you actually build the
game in is like the browser or yeah.
are you building it with
something like unity or
colin_1_09-27-2024_100432: yeah.
you can.
cj_1_09-27-2024_130432: Okay.
colin_1_09-27-2024_100432: so anything
that's web targetable, so if you can
bring Unity 6 is coming out, next month
and it's very web focused with Unity
6, whereas with Unity 5, you had to do
a lot of hoops, make it smaller, make
it run faster, be more performing,
because you are running in an iframe
inside of Discord, so you also, it's,
you don't have as many resources as if
you were running your own app, because
you're running inside of Discord.
And inside of an iframe, which is
then being served up by your server.
so you're not, shuffling
all of your, assets to us.
We're not, compiling them into
the app or anything like that.
it is very much if you can build a
web, game or web experience, you do
have to then hook into all the right
hooks to launch it inside of discord.
but then it's cool because then you
see CJ is playing, chess in the park.
and then you can join right from that.
So that, I think that's the other
one is that like you see your friends
playing stuff and you literally just
click and jump in, which is nice.
cj_1_09-27-2024_130432: I don't know
the right term for it, but in discord,
there's like different organizations
or whatever on the left hand side.
Is that I, when I joined them, I
call them a discord, like a discord.
Like I'm joining the
rails discord or whatever.
Is that like the use the
term used internally or no
colin_1_09-27-2024_100432: so
this has some funny history to it.
They're called servers, publicly,
to users, which comes with a lot
of baggage because people think of
servers as, a computer, or, right?
In the API, they're called guilds.
And so that is also a distinction where
it's I'll often use the word guilds, but
then publicly in the docs, technically
we go back and forth between when to
use server and when to use guilds.
I think it was, the attempt was
to get away from gaming only.
And now we actually have a lot more
like guilds specific features and
things too, like for gaming guilds too.
So there's a lot of I think, D H H is
video that we'll talk about next week.
naming things is hard.
cj_1_09-27-2024_130432: So when you
publish a game, do people, does it like,
is it tied to a guild or is there a
sec separate section of discord where
you like install the activities or
how do you like find the activities?
colin_1_09-27-2024_100432: Yeah,
so before, like probably about six
months ago when you built an app,
which was like a bot inside of us, you
could, it was only tied to a server.
we have since launched
user installable apps.
So now you can have a to do list or
a reminder app or a calendar app, or
honestly, even more like MidJourney
now is a user installable app.
So you used to have to go to
MidJourney server to use MidJourney.
Now you can use MidJourney anywhere.
If you install it on your user account,
you can take it with you to any server.
You can also install it
into your own server.
So you can do either one.
And activities, Can also be either one,
but they're mostly user installable,
so you can launch them from any
server, so I could, unless the server
says no activities are allowed here.
there's a permission set there.
so if I go play, Chef Showdown
in your server, and you see me
playing it, you can jump into it.
And then now that you know about it,
you might go to the Rails Discord,
and if they allow activities,
you can launch it there as well.
Now that you know about it.
No, there's a little bit
of a viral loop there.
cj_1_09-27-2024_130432: Yeah, that's cool.
I like that.
Yeah.
I think because you can monetize
that makes it so attractive.
And I think a lot of people will
want to go out and build stuff.
and because it's in an iframe,
it seems super flexible.
Like you could just build whatever you
want on your own site, dump it in an
iframe and then make sure you got the game
mechanics, And the payment stuff, It's
colin_1_09-27-2024_100432: yeah,
I mean, the DevRel side of this is that
we're trying to think like how do we
make people successful like quickly and
it's not the same as these like time
to first hello world or time to sending
an email in SendGrid because you like
I have to draw the rest of the owl.
You have to integrate and then
you have to build a whole game.
So and the more that I look at
how even simple games are built,
like it's just, it is a marvel.
I've been playing, Star Wars
Unlimited, which is Star Wars
flavor of Magic the Gathering.
And I was starting to think
through, what it would take to
code that, and it's pretty intense.
And then you also have to animate,
and have cards, and graphics, and
all this stuff, but some cards can do
certain things on certain turns, and
it's just like a whole, Wow, to build,
and that's not to build like an FPS
shooter or a top down adventure game.
game devs, it's amazing to me that
they're always having such a hard
time in the game dev industry.
Because, it is impressive
to pull off building a game.
I don't care who you are.
cj_1_09-27-2024_130432: Especially those
like really high fidelity games that
are animated and whatever, I remember
thinking about like 2048 or, like
Sudoku or these really simple ones,
that don't have tons of graphics and
sounds and like, all like very tricky,
interactive, Multiplayer fight scenes
or anything like, no sort of war, no
yeah, no really complex game mechanic.
colin_1_09-27-2024_100432: Sudoku
would be a good one to build.
I don't know if we have a Sudoku one yet.
cj_1_09-27-2024_130432: those are the
games that I actually love the most.
The ones that are just like very
simple game mechanic that lets you
shut off that part of your brain.
And the reason I like them is
because I can listen to a book,
like an audio book or a podcast
or something while I'm playing it.
and yeah, I don't know.
it might be interesting to,
to do, but trying to figure
out how to make it multiplayer
colin_1_09-27-2024_100432:
what I was gonna say, yeah.
You could just do leaderboards,
but I don't know if it's, Sudoku's
not really that kind of game.
but yeah, like that's a great example.
What does a, the game mechanics of
Sudoku plus multiplayer look like?
But also, how do you also make
it fun for one person, still?
So is it Sudoku?
Is it Sudoku Clash?
you and another person are trying to
beat, fill it out as fast as possible.
Problem is, it's like a
thing you come back to.
it's like a crossword puzzle.
So, do you do it all in one sitting?
Do you save state?
All that stuff.
cj_1_09-27-2024_130432: another one
that comes to mind is like type racer.
I really want my kids
to be able to type fast.
And so I've tried so
hard to get them to type.
That was like the first multiplayer
game I think I ever built.
It was like an experiment in WebSockets,
like back in when WebSockets were
like a brand new thing, I was like,
Oh, it would be so cool to build
a multiplayer type racer game.
And now they just use, there's a million
apps and websites for them to learn that.
But that might be another
cool one that's embedded.
and then you can get you could probably
do in app purchases for customize my
vehicle or, like I want, custom skins or
give me a turbo boost button where I can
like at the end of the game, just hold
control delete or something that like
just leads me to the end or whatever, like
colin_1_09-27-2024_100432: Oh, man.
Yeah.
this reminds me of like math
blasters to some math games.
cj_1_09-27-2024_130432: totally.
Yeah, that's another one.
We just started last.
one of my sons is doing, they're
doing these quizzes in class now,
where they have to do multiplication,
like how fast can you do this giant
sheet of multiplication things?
And so we're, we were like looking
on iPhone for just some simple, like
little apps that let you practice
multiplication and, There are so
many that have in app purchases.
I was like, what is this?
This is just a flashcard like thing.
Like, I don't know.
Yeah, that, that might be another fun one.
Like race multiplication or something.
colin_1_09-27-2024_100432: everyone's
trying to, it's back to the making money.
Everyone's trying to be
sustainable with their thing.
cj_1_09-27-2024_130432: Yes.
Yes, totally.
cool.
congrats on the launch.
That's pretty sweet.
Very cool.
colin_1_09-27-2024_100432: What is,
what are you working on over there?
cj_1_09-27-2024_130432: we want to
nurture customers who are, basically
not responding when they reach
out and, or they've fallen into,
I don't know, some sort of state
where we just wanna kinda reach out
to them without very much effort.
'cause there's a lot of customers
that will reach out, get an
estimate, and then just ghost us.
But we wanna make sure that
we're following up and such.
And a lot of that can be automated.
There's tons and tons of
platforms that do this.
we've looked at, things
like braise and segment.
Lindsay actually works at a company
that does this to enter iterable.
And all of these are like great for
customer messaging, but, we even set
up a Zapier and we found that at the
end of the day, we want to be able to.
Build the sequence of messaging, but then
also take actions on our own database
or be able to automate different things
like, okay, now create a task for the
sales executive or transition the project
from this status to this status, or,
okay, now it's time to send this email
to request colors or place this order
or generate this review or whatever.
So we wanted a little bit deeper
integration than what we were
finding from these adaptations.
Out of the box solution.
So now we're starting to plan out
basically our own Zapier, like a
workflow automation engine where
we'll build our own like library
of, actions that you can take.
And then a suite of triggers, just
a small, like group of triggers that
can happen when customers take certain
actions or we take certain actions.
And then, yeah, just it's been fun
kind of thinking through what does that
look like and how do you build it in
a way that's not too generic, that's
like confusing, but also not, too
constrained so that we can build out
whatever workflows we might, encounter.
So that's been fun to start thinking
about, but, yeah, I don't know.
Have you used any workflow automation
things that you're super into?
colin_1_09-27-2024_100432: so I've used
iterable that we use that at Strava.
What else I've used Zapier, obviously.
I've also tried to build my own.
That was cloud snap.
I think I understand the issue you're
running into, That you want like
Zapier can't reach into your database.
I guess you.
You could make an endpoint for it.
I think the same thing happens.
I've been listening to bootstrap
web and, they've Jordan's been
working on Rosie and it's answering.
The phone for you, AI as like
service providers, mostly,
painters, plumbers, whatever.
Right.
Um, but they constantly, it's Oh, I
just want you to book this appointment.
they're like, I want you to
check on the status of our order.
It's we don't.
People want that reach into our database
and either move a thing, check on
the status of a thing, send a thing,
create tasks, like what you're saying.
and I don't know if I've
seen anyone really do that.
all of these do this, like even the open
AI and all these different companies are
like rabbit and all these, it's Oh, watch
this cool demo of this one use case.
And you're like, what
about this other use case?
Oh no, we're not going to show you that.
So it's as soon as we get into the real
world, a lot of these, Don't pan out.
but I think that was also
a downfall of CloudSnap.
we thought it was too
simple and didn't do enough.
And then, we went towards the developer
approach of, what does it look like
to give, like for this tool that
you guys are thinking about, Is it
for, Developers to build out these
workflows or is it, do you want an
end user to build out these workflows?
cj_1_09-27-2024_130432: The idea would
be an end user can build them out.
Like initially I think we'll probably
build them just cause the UI will be,
clunky I expect because it'll be so like
customized, but I think ultimately the
idea is to make it like Zapier or make.
com where you can drag and drop
nodes and then those can, flow
into one or many other nodes and
then you can have, conditional
logic and repeating and delays and.
but yeah, there's those two layers, right?
as a developer who wants to add a
new action or like a new activity
that you can do within the framework,
we'll have to figure out how we want
to expose that and then as the end
user, what is your experience for
Defining what data is flowing from
the previous node into your node.
And then how do you decide whether or
not you're actually going to take action?
it's tricky.
colin_1_09-27-2024_100432: Yeah.
That sounds like a whole
company right there, CJ.
cj_1_09-27-2024_130432: Yeah,
we keep rebuilding giant
pieces of other companies.
but yeah, hopefully the longterm is
We might have a person who's full job,
full time jobs, sit down and go through
every single customer journey and
workflow and optimize it and AB test it.
And like, is this messaging performing
well or should we change it?
So it's more clear or
colin_1_09-27-2024_100432: Yeah.
It's your last mile problem, right?
Every, all the work has been done.
They got this quote, they did
all the things to get the quote
and then they just disappear.
And so if one person can be their whole
job to like, how do we close more?
it's like a weird.
It's I'm sure there's a word for it,
but it's like a follow up salesperson.
cj_1_09-27-2024_130432: yeah, it's like
an, almost like an automated, yeah.
Like, sales development representative
colin_1_09-27-2024_100432:
success management,
engagement specialists, yeah.
cj_1_09-27-2024_130432: But even like
after the project is done, like following
up to ask for a review and or, like
trying to sell again later down the road.
colin_1_09-27-2024_100432: If that
person can then also go in and
optimize the path, they're like, okay,
we learned that this doesn't work.
Versus, in companies I've had to be
in, I've had to go interview all the
people doing the work to figure out
what they're doing, and I'm like, why
do you do this every time by hand?
you're, this person is doing, It's
working over here, but they're
also sending a handwritten text and
email, and this other person's not.
And this person's getting ghosted more
often, this person's closing more things.
Does that mean, was it the customers
in particular, was it because they were
doing that hand, Which also means, if
you automate it, is it going to have
the same effect as if it came from them?
Can you make it look
like it came from them?
Is it obvious that it's generated?
All of that stuff.
cj_1_09-27-2024_130432: right.
Yeah, it's interesting.
and I think we're gonna we're
getting pretty close to just
letting AI do some of this.
But then yeah, how do you expose them?
As tools or whatever, like what's the way
that you actually give this to people?
I don't know.
We'll see.
colin_1_09-27-2024_100432: Yeah.
I think Jordan was coming up against this,
do you tell them up front that I am AI?
Because it's going to get to this point
where it's going to be so good that
I've been on calls where I'm like, I'm
not sure if this is a human or not.
cj_1_09-27-2024_130432: Yeah
colin_1_09-27-2024_100432: so
do you be up front with it?
Does it change the outcome?
Does it matter?
Do you want to talk to a human?
sometimes I don't want to talk to a
human, so I'm happy that it's a bot.
As long as it's, responsive and like
you can interrupt it and move to
the next thing and stuff like that.
cj_1_09-27-2024_130432: Have
you ever have you heard of
replicate this site replicate.
com?
colin_1_09-27-2024_100432: Pull it
up.
I have not.
cj_1_09-27-2024_130432: Okay, so the
first time I heard about this, was a
while ago and I played around with it
a little bit and it didn't work how I
expected, but I heard about it again
when I was listening to the Peter
Levels interview on Lex Friedman.
And this is like the thing that, like
the tool that he uses behind photo AI.
And so they let you host and run models.
And then they also have
a bunch that you can run.
And so something I was trying to figure
out is if we spun up our own models
for things, can we run them somewhere
more affordably than if we just keep
using the open AI and anthropic APIs?
but I also based on something
that we talked about before, it
was like, Hey, let's figure out
how to like actually train stuff.
so I'm going to send
you this photo in Slack.
so this is so funny.
so I trained a model.
On replicate with my face.
And I was like, show a picture
of CJ sitting next to Lake Tahoe.
so maybe we'll put this in the notes,
but, it was, surprisingly straightforward.
They actually have a web based thing
where you can upload a zip file too.
but I thought it was going to be like
way harder to do, but you basically
just get a bunch of images, make
sure they're roughly the right size.
And then.
you have to come up with a, some sort of
special token or word that represents the
thing that you're trying to teach the AI.
I think part of the issue that
I ran, like there's gotta be
like a million optimizations.
I basically just took 10 photos of
myself and dumped them in there and said,
this is a picture of CJ doing this is
a picture of CJ doing that or whatever,
and then this is what it spit out when
I said, give me a new picture of CJ,
colin_1_09-27-2024_100432: did
you train it on what sitting
next to Lake Tahoe looks like
cj_1_09-27-2024_130432: no, it knew that.
colin_1_09-27-2024_100432: Okay.
Because
it's clearly, I think it's been
trained on lots of women sitting
on the edge of Lake Tahoe.
With, I had to zoom in, but with
an engagement ring, potentially?
cj_1_09-27-2024_130432: maybe,
colin_1_09-27-2024_100432: that's
just like a sunspot, but like the,
like you see your ring finger?
cj_1_09-27-2024_130432:
definitely didn't properly.
It, I think my ring finger
has four knuckles maybe,
colin_1_09-27-2024_100432: Yeah,
and we know AI is not as good at
hands, and it did hands, you have
five fingers, so that's good.
cj_1_09-27-2024_130432: it definitely
didn't train on how hairy I am.
That's for sure.
This person is like, is a
hairless younger version of
colin_1_09-27-2024_100432: Yeah, you
have no pores in this photo.
cj_1_09-27-2024_130432: no.
Yeah, it's so good.
It's so funny.
colin_1_09-27-2024_100432: Amazing.
this out.
cj_1_09-27-2024_130432:
yeah, play around with it.
they've got a couple of different
models that you can throw images at.
And then, I also took a bunch of our
like craftwork professional photography
that we did and all of the ones that were
like, these are all rooms that are pink.
And then I took my pink, I got a
picture of my room that was gray.
And I was like, Paint the walls pink and
funny, like it just only did the trim.
It only got like the window frames pink.
So there's definitely a lot to be learned.
I think there's like stuff around
masking and like trying to figure out,
if you upload a picture of a face,
like actually just make everything
that's not the face black, remove the
background and do all this pre processing.
So lots more to learn, but, a little bit
of progress towards learning how to train
our own models, which is like super fun.
colin_1_09-27-2024_100432: yeah.
I haven't gotten into this yet.
We'll tease this.
We have, thankfully we have so many future
episodes to talk about, but I've been
working with the Gmail API to pull down
my email, and the more I look at it, I
don't necessarily think I need, AI models.
I just need, random tree
forests, math stuff, right?
And yes, I could throw all of it.
at an AI.
But what it feels like is that like AI is
almost I think people are really obsessed
with it because you don't have to do as
much to get the answers that you want.
Whereas with these ML models that we've
been using for tens of years now, you
have to do a lot of math and a lot
of work to get the answers that you
want and a lot of training and tagging
and data labeling and all this stuff.
But it sounds like you, To get
really good answers, you need
to do that too in the AI models.
And then they're just
really expensive to run.
Whereas once I tune around emails,
like there's a set, there's a lot of
parameters in an email, but once I get
the full set, there's not really like new.
special things in email that
we're going to be surprised by.
so I'm curious to see how much I can
get away with without having to use a
model, but I want to look at replicate
a little bit to see what else I could
do around, like, you know, what was the
Japanese restaurant I went to last year?
Things like that.
Like how much of that Do I,
can I use, do I need to train
every single email on that?
There's going to be levels
of some people are not going
to want their emails trained.
And so it'd be, it'll
have to be a local model.
I don't want to send someone's
emails or mine to open AI.
That's not going to happen.
yeah.
So we'll have to chat more
AI stuff in the future, but,
cj_1_09-27-2024_130432: Totally.
colin_1_09-27-2024_100432: yeah,
cj_1_09-27-2024_130432: Yeah.
Fun stuff.
Fun stuff.
Let's leave it there.
Thanks for listening.
yeah, if you want to head
over to buildandlearn.
dev, that's where you can find links
to all the resources and stuff we
talked about in the show notes.
And, yeah, I guess
we'll see you next time.
colin_1_09-27-2024_100432: All right.
Bye friends.