WEBVTT

NOTE
This file was generated by Descript 

00:00:05.000 --> 00:00:06.030
CJ: What's up, Colin?

00:00:06.030 --> 00:00:06.539
How's it going?

00:00:06.539 --> 00:00:06.710
What's

00:00:06.829 --> 00:00:08.259
Colin: Hey, how's it going, CJ?

00:00:08.319 --> 00:00:09.409
We are back.

00:00:09.479 --> 00:00:10.419
Build and learn.

00:00:11.140 --> 00:00:11.939
How's your week looking?

00:00:12.864 --> 00:00:13.384
CJ: Pretty good.

00:00:13.734 --> 00:00:17.427
It looks like you dropped in a
link to an exciting announcement.

00:00:17.527 --> 00:00:18.777
What's what's the deal?

00:00:19.137 --> 00:00:22.667
Colin: it looks like you're
wearing a celebration t shirt, but

00:00:22.707 --> 00:00:23.217
CJ: Yes.

00:00:23.697 --> 00:00:28.157
Colin: CJ is wearing his postman
shirt today probably from some sort

00:00:28.157 --> 00:00:30.377
of DevRel collaboration or events.

00:00:30.427 --> 00:00:35.717
But my former startup Orbit appears
to have been acquired by postman.

00:00:35.717 --> 00:00:37.817
So congrats to the team over there.

00:00:39.382 --> 00:00:42.812
And it sounds like they're going
to be working on the Postman API

00:00:42.832 --> 00:00:47.612
network kind of more shifting gears
towards Postman's developer community

00:00:47.612 --> 00:00:49.222
of APIs and things like that.

00:00:49.302 --> 00:00:50.522
But long time coming.

00:00:50.522 --> 00:00:55.132
So kudos to the team and Josh and
Patrick for leading that effort.

00:00:57.537 --> 00:01:02.597
CJ: Yeah, it's it's been an interesting
couple of years for Orbit, for sure.

00:01:02.707 --> 00:01:07.027
And yeah, it's good to see that
everyone landed at a pretty cool spot.

00:01:07.027 --> 00:01:08.447
I, I like Postman a lot.

00:01:08.447 --> 00:01:10.737
I've been using it way more recently.

00:01:11.347 --> 00:01:17.247
And yeah, I think I have been surprised at
how much it's increased my productivity.

00:01:17.247 --> 00:01:23.387
And I think like a big part of it is just
like, staying organized with collections

00:01:23.397 --> 00:01:24.917
for all the different API integrations.

00:01:24.917 --> 00:01:29.477
And then under that, like having
folders that automatically sync and

00:01:29.477 --> 00:01:30.757
then having different environments.

00:01:30.767 --> 00:01:33.207
So you got like your production
environment, your local environment and

00:01:33.217 --> 00:01:39.507
variables and writing, like, I don't
actually use the tests feature of postman

00:01:39.507 --> 00:01:44.987
for for testing, but I use it for like
saving and writing variables that were

00:01:44.987 --> 00:01:46.657
the result of like a previous request.

00:01:46.667 --> 00:01:51.417
So you can say like, yeah, with
Twilio, maybe you make an API call.

00:01:51.587 --> 00:01:56.627
That creates a conversation and in
that response, Jason, you want to save

00:01:56.627 --> 00:02:00.447
off the conversation ID in a variable,
like a postman variable that you can

00:02:00.447 --> 00:02:02.467
then use in other requests later.

00:02:03.047 --> 00:02:04.957
So yeah, I've been, I've been loving it.

00:02:04.997 --> 00:02:10.367
I think for a while I jumped between
insomnia and a couple other different

00:02:10.367 --> 00:02:16.187
rest clients, but have you, yeah, have
you been a postman postman user for

00:02:16.262 --> 00:02:17.172
Colin: I've, I've,

00:02:17.172 --> 00:02:18.862
had an account for a long time.

00:02:18.962 --> 00:02:23.832
I've been using it more because we
have the API spec from discord that's

00:02:23.842 --> 00:02:26.092
feeding into the collection there.

00:02:26.972 --> 00:02:30.392
And I'm going to actually be at
post con at the end of this month.

00:02:30.392 --> 00:02:30.742
So.

00:02:31.417 --> 00:02:33.167
Probably right when
this episode comes out.

00:02:33.577 --> 00:02:37.637
So if you're going to be at post con
come find me, but yeah, we'll just be

00:02:37.637 --> 00:02:41.357
geeking out on API as I imagined at
post con and learning more about, you

00:02:41.357 --> 00:02:46.587
know, best practices around APIs, but
we've been, I think we have like 1.

00:02:46.587 --> 00:02:48.257
7 I guess, 1700.

00:02:48.572 --> 00:02:51.372
People who are subscribed to
updates to the API through Postman.

00:02:51.372 --> 00:02:56.512
That's kind of another feature as, as,
as we update the spec, it updates the

00:02:56.512 --> 00:03:01.072
collection, and if you're subscribed to
changes and you can see that downstream

00:03:01.072 --> 00:03:04.832
and we, we aren't using any of the
test suite things or like the runners.

00:03:04.832 --> 00:03:08.122
I've been really curious to
check out the runner feature and

00:03:08.122 --> 00:03:09.382
just see what else we can do.

00:03:09.892 --> 00:03:10.952
We have a bunch of different.

00:03:11.392 --> 00:03:14.382
Auth tokens and we need to
document those better in there.

00:03:14.382 --> 00:03:19.192
And sometimes specs are like the technical
thing, but not the how to use this thing.

00:03:19.602 --> 00:03:23.222
So we're trying to just figure out
how best to show that, make that

00:03:23.222 --> 00:03:27.302
show up in postman so that you
know what goes where and how to

00:03:27.302 --> 00:03:28.602
go get it and all of that stuff.

00:03:28.602 --> 00:03:29.102
So.

00:03:29.412 --> 00:03:31.432
Yeah, pretty cool.

00:03:31.592 --> 00:03:36.382
I use I use paw, which is, I guess now
also was acquired, I guess a few years

00:03:36.382 --> 00:03:42.002
ago, but it's the rapid API client
locally, but I only use it for myself.

00:03:42.042 --> 00:03:46.752
And I think the benefit of postman
is that like figma style multiplayer

00:03:46.762 --> 00:03:52.297
of like, you know, back when I
think figma has won the game on most

00:03:52.297 --> 00:03:53.567
things because it's multiplayer.

00:03:54.077 --> 00:03:58.797
What was the other one that was
really popular before figma sketch.

00:03:58.997 --> 00:03:59.487
Yeah.

00:04:00.007 --> 00:04:04.482
And You know, Figma kind of ate
their lunch because it just wasn't

00:04:04.482 --> 00:04:08.752
as multiplayer, and I'm sure Sketch
is today, but Postman's got that,

00:04:08.922 --> 00:04:12.572
that it's great for teams, so
having workspaces and all of that.

00:04:14.117 --> 00:04:14.507
CJ: Yeah.

00:04:14.957 --> 00:04:17.997
Did I read correctly that
orbit is basically going to

00:04:17.997 --> 00:04:20.507
shut down like the existing.

00:04:21.032 --> 00:04:21.472
Colin: It looks

00:04:21.472 --> 00:04:21.692
like

00:04:21.947 --> 00:04:24.037
CJ: yeah, orbit's closing down.

00:04:24.837 --> 00:04:27.877
They're pivoting, but I think
like there's, there's pretty good

00:04:27.877 --> 00:04:31.947
alignment between the audience
that orbit was going after and the

00:04:31.947 --> 00:04:33.507
audience that postman is serving.

00:04:33.557 --> 00:04:38.317
And so like basically just continuing
to grow developer communities, making it

00:04:38.317 --> 00:04:40.487
easier for people to connect with other.

00:04:40.487 --> 00:04:40.517
Yeah.

00:04:41.397 --> 00:04:42.917
Folks that are using your API,

00:04:43.762 --> 00:04:44.652
Colin: Yeah, and I

00:04:44.877 --> 00:04:45.157
CJ: to make a lot of,

00:04:45.392 --> 00:04:49.042
Colin: I just have what's in
Patrick's announcement email here.

00:04:49.042 --> 00:04:52.262
So I don't know anything beyond
the, the blog posts that are public,

00:04:52.292 --> 00:04:56.152
but yeah, the Orbit team will be
working on the Postman API network.

00:04:56.502 --> 00:05:00.752
If you're using Orbit, Orbit users
have 90 days to wind down export

00:05:00.752 --> 00:05:03.282
their data, so no more new data.

00:05:03.292 --> 00:05:05.482
There won't be new data
ingested and things like that.

00:05:05.482 --> 00:05:09.182
So, which there's a lot, there's
a lot of data flown through.

00:05:09.312 --> 00:05:10.902
I think we talked about it on the show.

00:05:11.112 --> 00:05:15.522
Some of the things that that I spoke
on at RailsConf around that whole

00:05:15.632 --> 00:05:19.882
network integration suite of how we
would integrate data and pull that in.

00:05:19.882 --> 00:05:22.362
I imagine they'll
probably use some of that.

00:05:22.392 --> 00:05:22.812
We'll see.

00:05:23.142 --> 00:05:23.772
It's pretty cool.

00:05:25.517 --> 00:05:30.547
CJ: it, it also like just taking a step
back and looking at this acquisition,

00:05:31.027 --> 00:05:36.147
it's another data point that building
a company around like lots of API

00:05:36.147 --> 00:05:39.467
integrations still does not seem to.

00:05:40.502 --> 00:05:42.552
Work like perfectly right.

00:05:42.552 --> 00:05:44.212
Like which is disappointing.

00:05:44.212 --> 00:05:46.552
Cause that's like the favorite
kind of thing that I like to build.

00:05:47.722 --> 00:05:48.822
So I don't know.

00:05:48.892 --> 00:05:53.942
It's what, do you have a sense of like
the trend there or the pattern there,

00:05:53.942 --> 00:05:57.692
or like things that people ought to
look out for if they want to go down

00:05:57.692 --> 00:06:02.622
the road of numerous or, you know,
building an API integration company,

00:06:02.702 --> 00:06:03.022
Colin: Yeah.

00:06:03.022 --> 00:06:06.682
I think, I think like you and I have more
experience than that, than the normal

00:06:06.712 --> 00:06:10.562
engineer, I think, or not the normal
engineer, but the, you know, the average

00:06:10.562 --> 00:06:14.142
engineer has probably dealt with some
APIs, but you and I have had to integrate

00:06:14.142 --> 00:06:16.832
with dozens and dozens in one app.

00:06:16.872 --> 00:06:17.202
Right.

00:06:17.202 --> 00:06:17.632
Okay.

00:06:18.197 --> 00:06:22.407
What I like about the acquisition is
that it's proving and showing that there

00:06:22.417 --> 00:06:27.277
are startups still being acquired by the
companies that are not the Microsoft's

00:06:27.277 --> 00:06:34.027
Googles, but that tier below that Postman
has a great user base, great community.

00:06:34.027 --> 00:06:36.547
They have the ability to buy companies.

00:06:36.987 --> 00:06:38.707
So things like that are great.

00:06:38.707 --> 00:06:41.267
Cloudflare has been buying a bunch
of companies, things like that.

00:06:41.267 --> 00:06:43.537
So it makes for a healthy ecosystem.

00:06:43.537 --> 00:06:46.517
If people are still wanting to start
something, I think, which is great.

00:06:47.647 --> 00:06:48.527
You're right.

00:06:48.812 --> 00:06:53.712
In that if you focus on the integrations,
you can spend all your time there.

00:06:54.212 --> 00:06:57.462
and lose sight of the problem
that you were trying to solve for

00:06:57.462 --> 00:06:58.832
the customer in the first place.

00:06:59.472 --> 00:07:05.012
And there's this long tail of integrations
that like, is the, the nth next

00:07:05.042 --> 00:07:09.752
integration really going to add product
market fit, or do you need to solve the

00:07:09.752 --> 00:07:14.732
problem for people who use one or two
of those integrations and just say like,

00:07:15.092 --> 00:07:17.612
yeah, we are the best tool for this.

00:07:18.142 --> 00:07:19.262
And I've thought about that.

00:07:19.262 --> 00:07:21.762
Like if I ever did build
co working software.

00:07:22.307 --> 00:07:26.067
I would say it's the best co working
software for Stripe users, period.

00:07:26.117 --> 00:07:30.317
Like, I would not want to touch
PayPal or any of the other

00:07:30.427 --> 00:07:32.117
hundred payment providers.

00:07:32.667 --> 00:07:35.667
And people will probably then give
you reviews of like, oh, they don't

00:07:35.667 --> 00:07:37.667
support X, so I'm not going to do it.

00:07:37.667 --> 00:07:40.707
And it's like, yeah, but it's just
a really, really long bridge to

00:07:40.727 --> 00:07:43.917
nowhere when you're integrating
every single thing under the sun.

00:07:45.167 --> 00:07:48.177
Because then you got to support
them all, maintain them all,

00:07:48.317 --> 00:07:49.717
answer questions on all of them.

00:07:49.727 --> 00:07:51.227
You got to learn them all really well.

00:07:52.712 --> 00:07:53.072
CJ: Mm hmm.

00:07:53.142 --> 00:07:54.372
Colin: that's kind of where
I'm thinking about it.

00:07:54.412 --> 00:07:58.472
I still love integrations and APIs
and all of that, but I do think

00:07:58.492 --> 00:08:02.212
quality over quantity is probably
the winning formula going forward.

00:08:03.462 --> 00:08:03.852
CJ: Mm hmm.

00:08:04.582 --> 00:08:04.852
Yeah.

00:08:04.852 --> 00:08:10.412
It also seems like at some point,
Orbit was encouraging people to

00:08:10.412 --> 00:08:12.812
build their own integrations, right?

00:08:12.812 --> 00:08:15.502
And just like use the Orbit API,
but build your own integration.

00:08:16.892 --> 00:08:22.607
I am struck by the fact
that like Zapier, Make.

00:08:22.847 --> 00:08:26.697
com you know, if this than that, like
these types of companies where it is

00:08:26.737 --> 00:08:31.627
purely like the integration platform
that those they're able to be successful.

00:08:32.497 --> 00:08:37.267
And I wonder if it's because they've
reached some sort of critical mass

00:08:37.287 --> 00:08:41.747
where they have enough integrations
where they can get people to use it.

00:08:41.747 --> 00:08:44.717
And then by people using
it, that encourages third

00:08:44.717 --> 00:08:45.837
parties to build their own.

00:08:46.677 --> 00:08:47.787
Apps like on top of it.

00:08:47.787 --> 00:08:53.707
And that just like creates a network
effect that continues to drive more

00:08:53.717 --> 00:08:56.277
integrations from third parties.

00:08:56.307 --> 00:08:56.707
I don't know.

00:08:56.717 --> 00:09:01.757
Like, how do you, yeah, basically,
how do you reach that that critical

00:09:02.007 --> 00:09:02.347
Colin: Yeah.

00:09:02.857 --> 00:09:03.677
CJ: to get people to use

00:09:03.817 --> 00:09:07.367
Colin: Well, and with Zapier,
like the Orbit Zap, we had to

00:09:07.367 --> 00:09:09.617
maintain it, not, but right.

00:09:09.617 --> 00:09:10.147
So like.

00:09:10.532 --> 00:09:13.862
They don't have to learn if someone
wants it, someone's going to

00:09:13.872 --> 00:09:16.952
build it and it doesn't have to
be that company that builds it.

00:09:17.012 --> 00:09:19.692
Sometimes, sometimes it
can be a third party dev.

00:09:20.382 --> 00:09:20.822
You're right.

00:09:20.842 --> 00:09:25.762
Make a lot of this is like user generated
or third party supported integrations,

00:09:25.762 --> 00:09:26.982
which come with their own issues.

00:09:27.787 --> 00:09:32.007
Right, like if you release a new feature
and then it's not in the third party

00:09:32.007 --> 00:09:36.567
thing then that can be harder and you
can't go make a third party go add a new

00:09:36.577 --> 00:09:39.767
feature or something Or maybe they don't
implement it the way you want them to

00:09:39.767 --> 00:09:44.237
or how you would do it make is a good
example There is another announcement

00:09:44.237 --> 00:09:48.377
that i'll share in in the show notes too,
which is that auto code is shutting down

00:09:48.987 --> 00:09:54.572
and They are one of these similar tools,
like API integrate with all the things,

00:09:54.572 --> 00:09:57.652
but it was also like kind of replete.

00:09:57.672 --> 00:10:01.502
Like you could write code in the browser
and do chat bots and things like that.

00:10:02.172 --> 00:10:06.492
And when you dig into it, it
was run by a very small team.

00:10:07.032 --> 00:10:08.832
I know about them because of discord.

00:10:08.832 --> 00:10:12.242
There's a lot of discord bots or
rather a lot of people learned how

00:10:12.242 --> 00:10:14.032
to build discord bots using this.

00:10:14.542 --> 00:10:17.832
And they even talked about
this on Twitter at auto code.

00:10:18.252 --> 00:10:22.742
A lot of people learned to use the
APIs and build bots here, but then they

00:10:22.812 --> 00:10:24.972
went, they graduated off of auto code.

00:10:25.052 --> 00:10:28.712
Like as soon as they were, they learned
it, they would go spin up their own

00:10:28.712 --> 00:10:31.552
Heroku or their own box somewhere, and
then they would have their own app.

00:10:32.062 --> 00:10:34.372
And the person who ran this.

00:10:34.617 --> 00:10:38.177
is going over to OpenAI because
there were a lot of GPT bots

00:10:38.177 --> 00:10:39.157
that were built with this.

00:10:39.537 --> 00:10:42.807
So, as far as I can see from the
announcement, AutoCode is going to get

00:10:42.807 --> 00:10:46.397
shut down but they have this really
cool project that's called Instant.

00:10:46.617 --> 00:10:51.377
dev that they run, so I'm curious
to see It's an open source thing.

00:10:51.387 --> 00:10:54.517
They basically have said, like, if you
want to take your auto code projects,

00:10:54.707 --> 00:10:56.207
you can spin them up with instant.

00:10:56.377 --> 00:11:00.847
dev on CloudFlare or wherever
you really want to host it.

00:11:01.467 --> 00:11:02.817
I don't know if it actually is CloudFlare.

00:11:03.217 --> 00:11:07.157
There's like a bunch of acquisitions
that I'm now kind of getting crossed

00:11:07.157 --> 00:11:10.347
in my head because the other one
that I'm kind of excited about,

00:11:10.347 --> 00:11:11.467
this is just the acquisition show.

00:11:12.057 --> 00:11:13.717
Is partykit.

00:11:13.777 --> 00:11:16.277
io is being acquired by CloudFlare.

00:11:16.957 --> 00:11:21.117
And this is like a really cool
way of adding multiplayer and

00:11:21.117 --> 00:11:22.727
collaboration, like, like y.

00:11:22.737 --> 00:11:26.787
js auto merging of documents and
things like Google Docs style.

00:11:27.227 --> 00:11:28.727
And if you go to partykit.

00:11:28.727 --> 00:11:31.437
io right now, CJ, you see my
cursor and I see your cursor.

00:11:31.917 --> 00:11:35.317
So this powers that like
Figma style multi thing.

00:11:35.317 --> 00:11:38.117
And I think if you hit slash,
it doesn't work on the website.

00:11:38.117 --> 00:11:38.137
Okay.

00:11:38.647 --> 00:11:42.057
But they had the ability to type and
then the, the typing would happen.

00:11:42.057 --> 00:11:44.697
And even in that background you
can see that the, the background

00:11:44.697 --> 00:11:46.977
is changing based on your cursor.

00:11:47.457 --> 00:11:51.847
So, this like multiplayer
state is handled by PartyKit.

00:11:52.017 --> 00:11:54.847
And so, they just got
acquired by Cloudflare.

00:11:55.227 --> 00:11:58.287
So like, there's a theme here of APIs.

00:11:59.727 --> 00:12:00.507
State.

00:12:01.557 --> 00:12:02.607
multiplayer.

00:12:02.737 --> 00:12:07.657
So if you're building something out there,
think about, you know, how you can build

00:12:07.657 --> 00:12:12.037
that like network that you plug into all
these other things, because maybe one

00:12:12.037 --> 00:12:16.817
day when you do want to get acquired,
you now have this like rich relationship

00:12:16.817 --> 00:12:22.167
with a bunch of companies that will be
like, Hey, like half of our, half of our

00:12:22.167 --> 00:12:23.667
users are coming from your tutorials.

00:12:23.667 --> 00:12:25.007
Maybe we should just buy you.

00:12:28.157 --> 00:12:28.827
CJ: Interesting.

00:12:29.747 --> 00:12:33.117
Yeah, I have, I've been really
impressed with how well Repl.

00:12:33.117 --> 00:12:41.117
it has been able to, like, go from
kind of a toy browser thing where you

00:12:41.117 --> 00:12:46.987
can write a little bit of code and run
it To like now they're pretty legit

00:12:46.987 --> 00:12:51.157
like hosting company that starts with
browser, like a browser editor that

00:12:51.157 --> 00:12:52.767
is multiplayer and collaborative.

00:12:52.857 --> 00:12:56.357
And yeah, I, they've been doing
a really, really good job.

00:12:56.357 --> 00:13:02.877
I think of just continuing to build
insanely fast and releasing features

00:13:02.907 --> 00:13:04.887
and like really, really fast.

00:13:04.987 --> 00:13:10.017
Especially for like younger and
newer junior devs, apparently like

00:13:10.367 --> 00:13:15.727
a lot of Audiences, folks who are
graduating from like scratch and they

00:13:15.727 --> 00:13:18.037
want to run something and they don't
want to set up their environment.

00:13:18.037 --> 00:13:21.157
And so they just throw it up
on replit and off to the races.

00:13:21.797 --> 00:13:23.657
So yeah, interesting to hear that.

00:13:24.177 --> 00:13:26.777
Autocode is shutting down
this party kit thing.

00:13:26.777 --> 00:13:32.157
I think I heard about this on a
syntax FM episode, but I never

00:13:32.157 --> 00:13:33.127
went and played around with it.

00:13:33.127 --> 00:13:33.717
It looks really

00:13:33.937 --> 00:13:38.787
Colin: think I first found it as a
way of adding a Stripe like customer

00:13:38.787 --> 00:13:44.947
satisfaction type thing to the bottom
of every docs page where you could

00:13:44.987 --> 00:13:49.137
technically do it with like a key value
stored anywhere, but you still need that.

00:13:49.137 --> 00:13:53.027
Like you click the thing and then
it updates the counter and it would

00:13:53.027 --> 00:13:55.977
actually update across to everyone
who was on the docs at the same time.

00:13:55.977 --> 00:13:59.357
And kind of like giving an
Instagram post, like a heart.

00:13:59.987 --> 00:14:03.457
Right, you can add that interaction and
the cool thing is if you're on the docks

00:14:03.457 --> 00:14:08.607
when someone likes it, you see the little
animation pop up and just a little bit

00:14:08.607 --> 00:14:12.717
of surprise and delight, but also just
like, if you're reading a thing and you're

00:14:12.717 --> 00:14:15.017
like, Oh, I'm getting a lot of value
out of this and then you see all these

00:14:15.027 --> 00:14:18.707
hearts pop like popping up, you might
also be inclined to click it as well.

00:14:21.477 --> 00:14:21.867
CJ: Yeah.

00:14:21.917 --> 00:14:26.147
This is all stuff too,
that you can achieve with,

00:14:27.567 --> 00:14:28.057
uh,

00:14:29.117 --> 00:14:29.797
Colin: Tell us more.

00:14:29.927 --> 00:14:31.447
CJ: and rails.

00:14:31.477 --> 00:14:32.067
Yeah.

00:14:32.117 --> 00:14:35.707
Like we've been learning
a ton about turbo.

00:14:36.332 --> 00:14:40.552
At craftwork and most of the team
comes from a react background.

00:14:40.562 --> 00:14:44.772
And so they want to make the
application like they have a lot

00:14:44.772 --> 00:14:48.152
of expectations around how the
application can be built in a very

00:14:48.632 --> 00:14:51.132
front end, like single page appy way.

00:14:51.162 --> 00:14:54.402
And so there's features that
we're adding that really.

00:14:54.802 --> 00:14:59.842
Would typically lend themselves
more to a react based application.

00:15:00.352 --> 00:15:04.742
But we have made it really, really
far with just hot wire and turbo

00:15:04.742 --> 00:15:06.112
streams and things like that.

00:15:06.112 --> 00:15:08.672
And so we have a lot of.

00:15:09.357 --> 00:15:14.727
A lot of pieces of the application now
that will make a request as a turbo

00:15:14.727 --> 00:15:19.047
stream to the server, the turbo stream
web components come back to the client,

00:15:19.057 --> 00:15:24.607
and then we'll update or replace or move
certain things on the page instead of

00:15:24.607 --> 00:15:30.777
reloading the entire page and an example
of that is as part of our messaging

00:15:30.777 --> 00:15:38.592
feature, if we receive a message from
a customer, It will go and like live

00:15:38.832 --> 00:15:43.452
up, like live broadcast and update
notification counters and things like

00:15:43.452 --> 00:15:46.362
that on anyone who's currently active.

00:15:46.882 --> 00:15:50.462
So yeah, like everything that you
kind of like know and love from a

00:15:50.462 --> 00:15:53.492
Slack application or discord, right.

00:15:53.522 --> 00:15:57.142
Marking something as unread and
telling you that it's unread through

00:15:57.332 --> 00:15:58.702
these turbo streams is pretty.

00:15:58.952 --> 00:15:59.562
Pretty sweet.

00:15:59.682 --> 00:16:01.442
Colin: Across multiple clients.

00:16:01.442 --> 00:16:04.912
If you're on, if you have a
desktop app, does Kraftwerk have

00:16:04.912 --> 00:16:06.572
or plan to have a desktop type?

00:16:07.867 --> 00:16:08.087
Or

00:16:08.097 --> 00:16:08.292
sorry,

00:16:08.292 --> 00:16:09.012
CJ: We call it crap.

00:16:09.012 --> 00:16:09.142
We're

00:16:09.307 --> 00:16:10.737
Colin: or I guess mobile rather.

00:16:11.292 --> 00:16:14.452
CJ: yeah, we do have, so we have
a react native app that is mobile,

00:16:14.462 --> 00:16:18.572
but we don't have any web sockets
integrations yet with that.

00:16:18.582 --> 00:16:27.192
So it's, it's on our mind and
we've got sort of the the cable.

00:16:27.532 --> 00:16:31.782
Action cable stuff working so we
can broadcast Jason when things

00:16:31.782 --> 00:16:33.452
are updating and then use that.

00:16:34.382 --> 00:16:37.902
You can kind of like listen on any
device for those broadcasts or any

00:16:37.902 --> 00:16:39.202
device that can run JavaScript.

00:16:39.242 --> 00:16:41.582
You can listen for those broadcasts
on certain channels and then

00:16:42.192 --> 00:16:43.802
update the UI based on those.

00:16:43.812 --> 00:16:48.222
So yeah, we've got a few little
hooks in place, but yeah, party

00:16:48.222 --> 00:16:49.862
kit maybe we need to build like.

00:16:50.167 --> 00:16:51.637
The turbo party kit.

00:16:52.087 --> 00:16:53.167
There's probably something like that.

00:16:53.167 --> 00:16:53.317
All right.

00:16:53.477 --> 00:16:53.717
I bet.

00:16:53.767 --> 00:16:57.607
Colin: I think the, the advantage
of party kit for like a static site

00:16:57.617 --> 00:16:59.867
generated site is there was no backend.

00:16:59.967 --> 00:17:00.277
Right.

00:17:00.297 --> 00:17:02.377
And so party kit is the backend.

00:17:02.377 --> 00:17:04.687
You are building your backend.

00:17:04.837 --> 00:17:08.007
And so I think you already
have what you need.

00:17:08.067 --> 00:17:11.917
There might be some patterns and some
cool, like if you look at their examples,

00:17:12.357 --> 00:17:13.687
you can be like, how would we build this?

00:17:14.152 --> 00:17:18.142
In rails with turbo, and I think that
would be the equivalent, but you know,

00:17:18.162 --> 00:17:21.572
with a lot of people doing thing and
on all these like static deployed

00:17:21.572 --> 00:17:25.342
sites and cloudflare and all that,
oftentimes you don't want to, you

00:17:25.342 --> 00:17:27.262
know, mind doing some of this stuff.

00:17:27.682 --> 00:17:32.122
I think they're more intense stuff was the
YJS, the like, we're going to both edit

00:17:32.122 --> 00:17:36.452
the same sentence and there's going to be
a merge and a diff and who's going to win.

00:17:36.462 --> 00:17:36.482
Yeah.

00:17:36.887 --> 00:17:39.057
Those kinds of things are painful to do.

00:17:39.057 --> 00:17:43.827
So sometimes it's nice to just let
Yjs or PartyKit or the integration

00:17:43.827 --> 00:17:44.987
between both handle that.

00:17:45.737 --> 00:17:46.207
So,

00:17:47.292 --> 00:17:47.732
CJ: Got it.

00:17:47.802 --> 00:17:48.142
Okay.

00:17:48.142 --> 00:17:49.412
This makes a lot of sense.

00:17:49.737 --> 00:17:52.457
Colin: I could also be getting some
of this wrong, but that's, that's

00:17:52.457 --> 00:17:54.287
my interpretation of PartyKit.

00:17:55.002 --> 00:17:55.492
CJ: okay.

00:17:56.472 --> 00:17:56.802
Yeah.

00:17:56.802 --> 00:17:59.262
It seems like you do have
to have like for Yjs.

00:17:59.262 --> 00:18:01.012
It's expecting that you have some server.

00:18:01.512 --> 00:18:06.142
So maybe there's like a, a rails
version where you implement the,

00:18:06.397 --> 00:18:07.977
Colin: and then you have a Yjs front end.

00:18:08.907 --> 00:18:10.977
You can build your own
Google sheets, Google docs.

00:18:11.562 --> 00:18:16.312
CJ: Yes, which we've talked about, we've
rebuilt so many things at craftwork.

00:18:16.362 --> 00:18:18.402
It's like, okay what, what's next?

00:18:18.432 --> 00:18:19.492
What are we going to do next?

00:18:19.572 --> 00:18:24.332
I think next is calendaring, which
is funny because I know you've got

00:18:24.332 --> 00:18:25.692
some more updates about the calendar.

00:18:26.172 --> 00:18:30.332
One, one thing before we move on from
party kit, I noticed that TL draw is

00:18:30.332 --> 00:18:34.662
one of their kind of like Late, like
logos that they have is in terms of

00:18:34.662 --> 00:18:37.032
like, who's using party kit and TL draw.

00:18:37.072 --> 00:18:42.472
com is the site that had that
really epic demo where you can put

00:18:42.472 --> 00:18:46.682
in your open AI key and then you
can just tell it like generate a

00:18:46.682 --> 00:18:48.252
game that does blah, blah, blah.

00:18:48.252 --> 00:18:50.102
And then it'll just spit out a drawing.

00:18:50.602 --> 00:18:51.042
Colin: I see.

00:18:51.042 --> 00:18:54.682
Yeah, I'm assuming I can share this
project and then I bet both of our

00:18:54.682 --> 00:18:56.282
cursors would show up on TLDraw.

00:18:56.292 --> 00:19:00.942
So, you know, most apps, we
kind of expect that these days.

00:19:00.952 --> 00:19:04.782
Figma is, I don't know if Figma is the one
that really moved the needle on that, but

00:19:04.782 --> 00:19:06.522
it's the one that comes to mind the most.

00:19:07.522 --> 00:19:12.312
In terms of like everyone should just
be able to join and see things party kit

00:19:12.322 --> 00:19:15.352
has a cool little demo that's just called
cursor party And that's the thing that

00:19:15.352 --> 00:19:19.392
powers all the cursors on your screen
I'm working on bringing that into discord

00:19:19.392 --> 00:19:23.422
just as an example app But it's unclear
like what's going to happen with party

00:19:23.422 --> 00:19:29.512
kit as part of the acquisition So i'm
waiting to see where that lands first So,

00:19:29.997 --> 00:19:30.397
CJ: Got it.

00:19:30.657 --> 00:19:31.157
Got it.

00:19:31.777 --> 00:19:32.337
Very cool.

00:19:32.947 --> 00:19:33.177
Let's

00:19:33.192 --> 00:19:34.552
Colin: What are you doing with calendars

00:19:35.927 --> 00:19:38.667
CJ: yeah, so we're, we're just
now starting to figure out like

00:19:39.017 --> 00:19:44.097
how to algorithmically schedule
crews and painters onto projects.

00:19:44.477 --> 00:19:48.817
So as the crew continues to grow,
like, I don't know, I can't remember

00:19:49.357 --> 00:19:50.812
how big, but let's just say.

00:19:51.462 --> 00:19:56.732
Once we get to 50 plus painters it becomes
really challenging for a single person

00:19:56.732 --> 00:20:02.022
to keep in their head, like who's out
sick, who's on PTO, who can hang drywall,

00:20:02.022 --> 00:20:05.802
who can, you know, who, who knows how to
work the pressure washer, who knows how

00:20:05.802 --> 00:20:08.542
to handle asbestos, et cetera, et cetera.

00:20:08.572 --> 00:20:09.082
And then.

00:20:10.512 --> 00:20:12.732
matching that up with projects.

00:20:13.092 --> 00:20:16.222
So like maybe there's a project
we want to send the A team and we

00:20:16.222 --> 00:20:20.262
want to make sure that they have
like an epic experience with a very

00:20:20.262 --> 00:20:22.562
specific crew or painter or whatever.

00:20:23.562 --> 00:20:28.282
So we're trying to build out like
these different features that you can

00:20:28.282 --> 00:20:35.842
attach to a like a painter or in, Even
down to like leveling them, marking

00:20:35.842 --> 00:20:42.222
up their skills, having a bio avatars,
like a bunch of statistics about them.

00:20:42.242 --> 00:20:46.952
And then on the other side, like,
how do we figure out based on what

00:20:46.952 --> 00:20:50.112
we know about a project, what are
going to be the skills that are

00:20:50.112 --> 00:20:51.802
required to execute on this project?

00:20:51.802 --> 00:20:54.442
Like from the estimate, can we tell.

00:20:54.612 --> 00:20:58.552
This is going to need a pressure washer,
or this is going to need to have one

00:20:58.722 --> 00:21:03.342
of those tools that like vacuum cleans
the popcorn ceilings off or something.

00:21:03.392 --> 00:21:08.982
And then based on that, try to
algorithmically people to places.

00:21:10.132 --> 00:21:12.402
So gnarly calendar problem.

00:21:12.662 --> 00:21:15.012
But we'll see, it should be fun.

00:21:15.752 --> 00:21:16.262
Colin: Nice.

00:21:16.332 --> 00:21:18.802
CJ: What's going on with yeah, what's
going on with the conference room

00:21:18.802 --> 00:21:20.572
booking stuff at the collective.

00:21:20.862 --> 00:21:25.612
Colin: So I played around with trying to
build some of this with open AI and just

00:21:25.612 --> 00:21:26.982
sitting down and just banging it out.

00:21:26.992 --> 00:21:29.032
And it's just, it's doable.

00:21:29.072 --> 00:21:31.152
The surface area is just immense.

00:21:31.692 --> 00:21:33.362
Like all the edge cases.

00:21:33.362 --> 00:21:35.772
And I don't want to solve for all
of them because it's just for us.

00:21:36.432 --> 00:21:39.422
But then I have been tinkering, as
I mentioned, like, do I build this

00:21:39.432 --> 00:21:42.452
so that I can just, like, put it out
there as a SaaS type thing that's

00:21:42.522 --> 00:21:47.592
just, add your rooms, add your iPads
to each room, and it goes, and there's

00:21:47.592 --> 00:21:51.662
no, it's not co working specific, you
could use it in a yoga studio, a gym.

00:21:52.567 --> 00:21:56.207
I still, I think, want to do that because
there's just like so many fun things in

00:21:56.207 --> 00:22:01.437
there, like, and like getting my hands on,
like, it would mostly run itself, I think.

00:22:01.787 --> 00:22:05.777
I could drop the link in some co working
groups that I'm in that they're always

00:22:05.777 --> 00:22:07.577
fighting over what software they use.

00:22:07.867 --> 00:22:10.217
There's enough gyms and yoga
studios that I think would pick it

00:22:10.217 --> 00:22:15.352
up organically, but Four days from
now is when ours stops working.

00:22:15.552 --> 00:22:21.212
So it's like, I have a lot of things
going on and part of me is just wondering

00:22:21.212 --> 00:22:25.082
if we just pull the trigger on paying
for it for another year, use it.

00:22:25.592 --> 00:22:29.292
I just checked it ends up
being about 125 a month.

00:22:29.322 --> 00:22:32.232
And that's where it's like,
it's, it's worth that obviously.

00:22:32.562 --> 00:22:37.582
So we'll probably just do that
and it'll give us another year.

00:22:38.172 --> 00:22:42.492
And I need to not wait until 11
months from now to revisit it.

00:22:43.642 --> 00:22:46.282
Which I don't think I will, because
I have a pretty good start of it.

00:22:46.392 --> 00:22:49.232
And it would just be like, it's
a React native app that runs a

00:22:49.232 --> 00:22:51.812
React, checks the Google APIs.

00:22:51.812 --> 00:22:55.772
And this is an example of, we
would only support the Google API.

00:22:55.832 --> 00:22:58.582
Like I'm not doing this
for Microsoft calendars and

00:22:59.527 --> 00:22:59.807
CJ: hmm.

00:23:00.102 --> 00:23:00.962
Colin: else is out there.

00:23:00.982 --> 00:23:03.572
No, I don't even know what
people are using anymore.

00:23:03.612 --> 00:23:05.762
But Yeah, so I think
that's where we're at.

00:23:05.762 --> 00:23:09.922
We'll probably just pull the trigger
on it, get it, get it set up again.

00:23:09.932 --> 00:23:12.282
I mean, it's still set up, so
we'll just keep everything working

00:23:12.282 --> 00:23:13.552
and then we can add people to it.

00:23:13.552 --> 00:23:16.522
And yeah, they're, like I mentioned in
our previous episode, they're really

00:23:16.522 --> 00:23:21.052
pushing this upsell of like having
people book desks before they come in.

00:23:21.062 --> 00:23:25.462
And so it's really designed for
this hybrid work environment type

00:23:25.462 --> 00:23:27.072
thing, which we're really not.

00:23:28.287 --> 00:23:31.507
So like the first screen you
log into on the mobile app is

00:23:31.527 --> 00:23:32.747
book your desk for the day.

00:23:33.167 --> 00:23:35.747
We have to teach everybody, like
go down here to the calendar,

00:23:35.977 --> 00:23:38.767
like the conference room page, and
then book your room and all that.

00:23:39.347 --> 00:23:40.687
So we'll just do that.

00:23:40.767 --> 00:23:44.557
I think that decision made commit to it.

00:23:44.677 --> 00:23:46.527
And yeah, we'll see
how it goes from there.

00:23:46.587 --> 00:23:50.767
We'll see if that whole like cow wind idea
from last episode becomes the thing and

00:23:51.627 --> 00:23:52.287
bake it in there.

00:23:53.982 --> 00:23:54.352
CJ: Yeah.

00:23:54.742 --> 00:23:58.442
Are there pretty good
support for calendaring?

00:23:58.787 --> 00:24:01.387
UI packages for react native on iPad.

00:24:02.317 --> 00:24:05.297
Colin: So I was just looking at
turning all the calendars that

00:24:05.297 --> 00:24:11.707
Tailwind UI has into actual, like,
they're beautiful, but they're static.

00:24:12.077 --> 00:24:15.907
And so you need to go in and
create all the hooks for moving

00:24:15.917 --> 00:24:17.387
events around on the screen.

00:24:18.047 --> 00:24:22.877
For mobile, it would be more of a
different UI of like, just tell us what

00:24:22.877 --> 00:24:24.687
day, we'll show you what's available.

00:24:24.697 --> 00:24:28.187
So it will be a little bit different
on phones, but I think most people

00:24:28.187 --> 00:24:29.797
would book through the website.

00:24:31.052 --> 00:24:35.242
Maybe we make like a slack thing
that lets you just like slash book.

00:24:35.262 --> 00:24:40.872
And we just launch us, launch a
temporary screen that you use.

00:24:40.872 --> 00:24:44.352
And then it knows who you are based
on your slack and all of that.

00:24:44.422 --> 00:24:44.662
But.

00:24:47.937 --> 00:24:48.407
CJ: Cool.

00:24:48.757 --> 00:24:49.617
That'd be awesome.

00:24:49.837 --> 00:24:56.727
And I, yeah, there's, there's been a
few things where recently we're moving

00:24:56.727 --> 00:25:00.817
off of services and that just creates
a lot of pressure to get something

00:25:00.967 --> 00:25:02.847
completed and shipped and out the door.

00:25:03.427 --> 00:25:04.507
We're shutting down.

00:25:04.967 --> 00:25:07.397
One of our communication channels.

00:25:07.927 --> 00:25:13.707
And so that was like, we have to have
like our new communication channel

00:25:13.717 --> 00:25:18.337
set up and running and like tested
and everyone moved over by X day.

00:25:18.907 --> 00:25:21.267
And it was a good forcing function.

00:25:21.307 --> 00:25:23.907
It's like, okay, like we've
got to hurry up and like, make

00:25:23.907 --> 00:25:25.797
sure this is live and working.

00:25:25.907 --> 00:25:26.247
Colin: It makes

00:25:26.247 --> 00:25:26.987
sense when it's your

00:25:27.027 --> 00:25:27.747
CJ: can be stressful.

00:25:27.907 --> 00:25:30.957
Colin: but for the co working
space It's like this needs to not

00:25:30.957 --> 00:25:33.427
take up more of my mental space

00:25:33.987 --> 00:25:35.307
CJ: Yes, absolutely.

00:25:35.427 --> 00:25:35.707
Yep.

00:25:35.747 --> 00:25:35.997
Yep.

00:25:36.007 --> 00:25:36.277
Yep.

00:25:36.357 --> 00:25:36.637
A hundred

00:25:36.717 --> 00:25:39.907
Colin: Which leads into just more of
a recommendation and we can talk about

00:25:39.907 --> 00:25:44.272
this more in depth in the future But
I was listening to a podcast where

00:25:44.492 --> 00:25:49.772
Where the guest was Cal Newport of
like deep work and digital minimalism.

00:25:50.342 --> 00:25:53.242
And they have a new book out
called slow productivity.

00:25:53.302 --> 00:25:58.072
And this is for anyone who feels like
there's just a lot going on right now.

00:25:58.072 --> 00:26:03.632
Like if you feel like your day is
dictated by Swiss cheese of meetings,

00:26:03.682 --> 00:26:09.627
pings, slacks and discords and text
messages and social media a lot of

00:26:09.627 --> 00:26:13.697
really refreshing takes and we'll, we'll
put a link to the podcast because it's

00:26:13.697 --> 00:26:15.847
like a really fast introduction to it.

00:26:16.347 --> 00:26:17.457
And more of an interview style.

00:26:17.457 --> 00:26:21.977
And then if you're on Spotify premium,
it's free as an audio book there.

00:26:21.977 --> 00:26:24.997
I've, I've started listening
to more books there and getting

00:26:24.997 --> 00:26:26.657
rid of my audible subscription.

00:26:27.947 --> 00:26:29.767
The subscription fatigue continues.

00:26:30.532 --> 00:26:34.272
But trying to consolidate that and
the big, the kind of the overarching

00:26:34.272 --> 00:26:37.442
theme is they actually are rooted
most of their stories and talking.

00:26:37.492 --> 00:26:41.562
They're not talking to, but referring
to the stories of, of people who

00:26:41.572 --> 00:26:44.442
have made these huge accomplishments
in their life, like Marie Curie

00:26:44.842 --> 00:26:47.192
Jane Austen, Benjamin Franklin.

00:26:47.202 --> 00:26:48.832
And it's like a lot of stuff's out there.

00:26:48.832 --> 00:26:50.952
Like you should have the same
schedule as Ben Franklin.

00:26:50.952 --> 00:26:52.842
And it's just like uber
productive schedule.

00:26:53.262 --> 00:26:57.782
His is this, alternate take where if you
zoomed in on any one day of their lives,

00:26:58.052 --> 00:26:59.722
you might catch them just at a park.

00:27:00.072 --> 00:27:04.072
The next day, they're just on a
walk and they're thinking about and

00:27:04.092 --> 00:27:08.472
observing and focusing on like this
problem that they've focused on for

00:27:08.472 --> 00:27:13.182
years in their head, but they're taking
vacations and they're living life.

00:27:13.757 --> 00:27:16.737
And then there's this intense
season where they publish, right?

00:27:16.737 --> 00:27:18.437
Or they create this thing.

00:27:18.447 --> 00:27:21.537
So like day to day, there's
not this hundred percent hustle

00:27:21.567 --> 00:27:22.877
culture and productivity.

00:27:23.307 --> 00:27:27.197
In fact, you have to take those
breaks to let things just run

00:27:27.197 --> 00:27:28.267
in that background thread.

00:27:28.867 --> 00:27:30.127
So really refreshing.

00:27:30.177 --> 00:27:35.067
There's a lot of tactical things of like
you work for a company and you might

00:27:35.067 --> 00:27:39.847
not be able to take off Fridays, but
here's how you can kind of simulate like,

00:27:40.177 --> 00:27:42.297
like blocking, tackling your schedule.

00:27:42.637 --> 00:27:47.677
If you can't use like the base camp
cycles thing of six weeks on and two

00:27:47.677 --> 00:27:51.757
weeks off, he's like, you could probably
work hard for six weeks and then coast

00:27:51.757 --> 00:27:55.017
for two weeks and people will remember
you for the six weeks and not the two

00:27:55.017 --> 00:27:56.927
weeks where you were slacking off.

00:27:56.927 --> 00:27:59.647
So a lot of really good tactical
things if you're looking for

00:27:59.647 --> 00:28:01.007
like, okay, that sounds great.

00:28:01.007 --> 00:28:02.087
How do I do this?

00:28:02.087 --> 00:28:03.697
How do I take time off?

00:28:04.097 --> 00:28:07.607
So it hit me right where I,
when I needed to hear it.

00:28:07.627 --> 00:28:10.287
So I was like, okay, let's go binge this.

00:28:11.562 --> 00:28:13.322
CJ: Yeah, I know you shared it.

00:28:13.322 --> 00:28:16.042
I haven't listened to it yet, but
I, I really want to get into it.

00:28:16.042 --> 00:28:18.322
Cause it also is like
perfect timing for me.

00:28:18.772 --> 00:28:25.192
I was just telling Mike this week
that like, I owe everyone something

00:28:25.192 --> 00:28:29.262
right now, like, you know, I, I've
like promised things to everyone

00:28:29.802 --> 00:28:31.442
and it's a tough spot to be in.

00:28:31.752 --> 00:28:35.632
So thankfully he jumped
in and helped a lot.

00:28:35.702 --> 00:28:37.012
Colin: That's a big part of it, right?

00:28:37.102 --> 00:28:40.972
Sometimes we, we, we care a little
too much and put it on ourselves.

00:28:40.972 --> 00:28:44.672
And so yeah, let's both finish,
let's listen to that podcast

00:28:44.672 --> 00:28:47.202
at least, and we can chat about
it more in depth in the future.

00:28:47.202 --> 00:28:50.802
And honestly, I would not be
surprised if we could get Cal

00:28:50.802 --> 00:28:52.302
Newport to come talk to us too.

00:28:52.372 --> 00:28:52.602
So

00:28:53.167 --> 00:28:53.687
CJ: Yeah.

00:28:53.837 --> 00:28:54.267
Be great.

00:28:54.422 --> 00:28:56.755
Colin: he's doing the book tour right now.

00:28:56.755 --> 00:28:57.718
So

00:28:57.912 --> 00:28:58.152
CJ: Yeah.

00:28:58.152 --> 00:28:59.292
Deep work was huge.

00:28:59.352 --> 00:28:59.792
So

00:29:00.232 --> 00:29:01.572
Colin: you're struggling
with it, definitely check it,

00:29:01.572 --> 00:29:01.772
out.

00:29:01.772 --> 00:29:04.572
I think the other thing you
want to talk about, make it all.

00:29:05.942 --> 00:29:06.382
CJ: Sure.

00:29:06.412 --> 00:29:10.132
I mean, this is, this goes back to the
integration stuff a little bit, like make.

00:29:10.342 --> 00:29:11.962
com similar to Zapier.

00:29:12.242 --> 00:29:13.902
It's just like another version.

00:29:14.302 --> 00:29:18.072
I was working with a client
who reached out for some.

00:29:18.492 --> 00:29:20.982
Questions about a Stripe
integration they were building.

00:29:21.022 --> 00:29:25.702
And they built like this really
sophisticated Stripe connect flow

00:29:26.922 --> 00:29:34.802
in make like entirely with like no
code click and set up HTTP calls

00:29:34.802 --> 00:29:40.632
and built like this giant series of
like 20 API calls to onboard like

00:29:40.632 --> 00:29:43.032
an indie person onto their platform.

00:29:43.092 --> 00:29:47.652
And so I was inspired to use it for some
nurture campaigns that we're going to do.

00:29:48.182 --> 00:29:54.232
And We've been looking at it with the team
just to set up like some simple triggers

00:29:54.272 --> 00:29:58.952
based on events that happen inside
of the Kraftwerk backend, basically.

00:29:59.122 --> 00:30:03.322
And then some simple end points
where you can fetch information about

00:30:03.452 --> 00:30:07.462
customers to know whether or not
you should we should message them.

00:30:07.687 --> 00:30:12.977
And then you can build like some
surprisingly sophisticated workflows

00:30:13.037 --> 00:30:17.597
directly and make one thing that I've
like, that I like about Zapier that

00:30:17.597 --> 00:30:20.257
I haven't been able to figure out and
make I'm sure it's possible is that

00:30:20.657 --> 00:30:25.737
is using timers, like, okay, you get
this trigger, wait a day, check to

00:30:25.737 --> 00:30:30.797
see if you can send them a message, if
so, send the message, and then start

00:30:30.827 --> 00:30:32.797
another timer that lasts however long.

00:30:33.247 --> 00:30:36.447
And it's kind of a
pattern that I've noticed.

00:30:37.712 --> 00:30:39.432
At lots of different
companies that I've worked at.

00:30:39.432 --> 00:30:41.472
And maybe this is like a
potential startup somewhere.

00:30:42.262 --> 00:30:43.442
Someone can take the idea.

00:30:43.962 --> 00:30:50.932
The problem is there is some event
that's happening or some major thing

00:30:50.932 --> 00:30:53.352
that's happening and you want to trigger.

00:30:53.892 --> 00:30:58.702
Automations that are time
based that surround that event.

00:30:59.122 --> 00:31:02.082
So in our case, we're going
to have a paint project.

00:31:02.362 --> 00:31:06.702
And two days before the project
happens, we want to send an email.

00:31:06.732 --> 00:31:10.372
That's like, Hey, we're coming in two
days, one hour before the start time

00:31:10.372 --> 00:31:13.012
on the first day, we want to send a,
Hey, here's the crew that's coming.

00:31:13.022 --> 00:31:15.112
Here's a picture of the crew, whatever.

00:31:15.767 --> 00:31:19.067
During the event, every single day, we
want to send like these daily updates.

00:31:19.217 --> 00:31:23.327
After the event, we want to send a
request for reviews, very similar

00:31:23.327 --> 00:31:28.017
to in vacation rentals, where you
have a booking that's coming up

00:31:28.017 --> 00:31:29.257
and you want to message the guest.

00:31:29.687 --> 00:31:32.527
And you'll say like, Hey guest,
here's the wifi password.

00:31:32.527 --> 00:31:34.497
And here's the like lock code.

00:31:34.957 --> 00:31:37.557
And then after they check in, you
want to say, Hey, how's it going?

00:31:37.557 --> 00:31:38.417
Do you need anything?

00:31:38.847 --> 00:31:41.937
And after they check out similarly,
you want to say, Hey, can you send a.

00:31:42.217 --> 00:31:45.817
Send us a review or like, you
know any feedback about your stay.

00:31:46.267 --> 00:31:48.037
So these like I don't know.

00:31:48.037 --> 00:31:51.337
I feel like there's, there's a
platform probably where you can build

00:31:52.017 --> 00:31:56.367
just a series of events that happen
around a start date and end date.

00:31:56.457 --> 00:32:00.117
And those can act as like a template
that will fire off triggers that

00:32:00.117 --> 00:32:01.827
happen at all those different points.

00:32:02.467 --> 00:32:05.617
Colin: Because the edge cases are
what happens if we move it out a day.

00:32:05.617 --> 00:32:08.407
If we cancel, we don't want
the other things to happen.

00:32:08.417 --> 00:32:13.087
Like if it's downstream, if someone
isn't going to be home to let in the

00:32:13.087 --> 00:32:16.937
crew, so it needs to shift by hours,
but then it can't be on a weekend.

00:32:16.937 --> 00:32:20.907
Like there's so many little things
where it's like, actually, if my house

00:32:20.907 --> 00:32:24.177
is being painted on Friday and Monday,
I probably do want the Saturday email.

00:32:24.577 --> 00:32:28.882
But if the job ends on Friday,
Maybe all the emails go out on

00:32:28.882 --> 00:32:30.732
Friday or maybe it's still Saturday.

00:32:30.732 --> 00:32:36.002
And I see this with e commerce, less
like subscriptions to like, I, I do

00:32:36.002 --> 00:32:38.842
a subscription box for food delivery.

00:32:38.842 --> 00:32:43.062
And like, I have to pick my meals on a
certain day and sometimes I'm not going

00:32:43.062 --> 00:32:45.022
to be here on a Tuesday, so I have to.

00:32:45.262 --> 00:32:46.842
change it to a different day.

00:32:47.472 --> 00:32:50.612
And I can only imagine, I mean, that
one's a little bit simpler cause we're not

00:32:50.622 --> 00:32:53.962
trying to coordinate people's, like you
were mentioning all those calendars too.

00:32:53.972 --> 00:32:58.882
Like now do we even have the crew
available to do those things?

00:32:59.512 --> 00:32:59.842
Yeah.

00:32:59.872 --> 00:33:01.832
I wonder if there is a
service out there for that.

00:33:02.442 --> 00:33:06.112
Immediately I start thinking about,
cause I think sidekick has this

00:33:06.112 --> 00:33:11.472
concept of like groups of tasks and
so you could cancel the entire group.

00:33:11.992 --> 00:33:15.562
And you can schedule them too,
but then you got to make sure

00:33:15.562 --> 00:33:16.912
you get your time zones, right?

00:33:17.382 --> 00:33:19.872
There's so many things that can
go wrong and if you did everything

00:33:19.872 --> 00:33:23.552
relatively then it kind of works
But time zones will still be there

00:33:25.347 --> 00:33:31.257
CJ: Yeah, we are using sidekicks
like scheduling for some stuff, like

00:33:31.257 --> 00:33:32.697
you can send a scheduled message.

00:33:33.237 --> 00:33:38.487
And we're using it for like debouncing a
couple of things and I don't know, we've

00:33:38.487 --> 00:33:42.737
got like a couple of features in there,
but yeah, maybe we should look into that.

00:33:43.317 --> 00:33:46.457
I like that idea of like, okay, as
soon as a project is scheduled and

00:33:46.457 --> 00:33:50.617
locked in, then we just like schedule
a template that has like series of.

00:33:51.322 --> 00:33:52.142
Jobs.

00:33:52.452 --> 00:33:57.322
And at any point you can just like
cancel the whole group and then, or

00:33:57.322 --> 00:33:59.982
like update the entire group, basically
just like delete them all and then

00:33:59.992 --> 00:34:01.522
generate them again or something.

00:34:01.712 --> 00:34:02.052
Colin: Yeah.

00:34:02.442 --> 00:34:03.582
CJ: yeah, that's a good idea.

00:34:03.642 --> 00:34:09.752
We built it basically from scratch using
DJ celery, like the Django Cron job tool

00:34:09.872 --> 00:34:13.182
and a bunch of database calls at my VR.

00:34:13.192 --> 00:34:13.472
But

00:34:13.902 --> 00:34:14.482
Colin: that's more of

00:34:14.482 --> 00:34:14.672
like

00:34:14.672 --> 00:34:16.442
a polling and should I send something?

00:34:16.442 --> 00:34:17.352
Should I send something?

00:34:17.852 --> 00:34:22.772
I really like the evented way of doing
this, but then there's a lot that

00:34:22.772 --> 00:34:23.702
could go wrong too.

00:34:23.712 --> 00:34:27.992
So you almost have to event and
then verify that this should still

00:34:27.992 --> 00:34:30.422
be sent before you send anything.

00:34:30.662 --> 00:34:32.002
Like, am I still valid?

00:34:33.692 --> 00:34:38.372
CJ: Yeah, the way that we built it there
was like, we built the polling, like the,

00:34:38.492 --> 00:34:40.672
we built the event, the eventing on top

00:34:40.682 --> 00:34:41.262
Colin: Mm hmm.

00:34:41.712 --> 00:34:44.532
CJ: So like we had a job
that ran like every minute

00:34:44.542 --> 00:34:45.322
Colin: Event emitter.

00:34:45.442 --> 00:34:45.752
Yeah.

00:34:45.792 --> 00:34:46.212
CJ: would check.

00:34:46.642 --> 00:34:47.442
Yeah, exactly.

00:34:47.452 --> 00:34:50.792
It would check the database, like,
and then based on the statuses of

00:34:50.792 --> 00:34:55.072
different things and the timelines
of things, it would just fire events.

00:34:55.532 --> 00:34:55.832
Yep.

00:34:55.902 --> 00:34:57.352
And then those events were.

00:34:57.892 --> 00:35:01.632
Then everywhere else in the entire
application, you can build it as like,

00:35:01.672 --> 00:35:06.682
just like a subscriber or consumer of all
the events and say like, Oh, you know,

00:35:06.722 --> 00:35:11.442
this happened, let me go fire off these
emails or Slack messages or whatever

00:35:11.807 --> 00:35:12.267
Colin: Nice.

00:35:13.022 --> 00:35:13.502
CJ: later on.

00:35:13.682 --> 00:35:14.012
Yeah.

00:35:14.487 --> 00:35:14.757
Colin: Yeah.

00:35:14.757 --> 00:35:16.777
These are the things they
don't teach in bootcamps.

00:35:17.982 --> 00:35:18.352
CJ: Yes.

00:35:19.177 --> 00:35:23.107
Colin: These are the things
that only experience can can do.

00:35:23.107 --> 00:35:27.847
But I think these are like kind
of fun questions for like more

00:35:27.847 --> 00:35:29.267
real world interview questions.

00:35:29.267 --> 00:35:32.947
I would think like, Hey, you need
to send an email when a job is done.

00:35:32.947 --> 00:35:34.497
Like, what are the ways you could do it?

00:35:34.537 --> 00:35:35.617
What are the trade offs?

00:35:36.177 --> 00:35:36.747
I like that.

00:35:39.962 --> 00:35:40.262
CJ: Yep.

00:35:40.332 --> 00:35:41.092
And then what happens?

00:35:41.092 --> 00:35:41.312
Yeah.

00:35:41.332 --> 00:35:43.092
What happens when it moves and yeah.

00:35:43.627 --> 00:35:44.507
Colin: I think that's much better

00:35:44.507 --> 00:35:45.117
than like,

00:35:45.237 --> 00:35:48.367
you know, reverse this binary tree
that you'll never do in this job ever.

00:35:49.662 --> 00:35:50.132
CJ: right.

00:35:50.332 --> 00:35:50.732
Yeah.

00:35:50.812 --> 00:35:51.132
Yeah.

00:35:51.977 --> 00:35:54.977
Colin: Proof to me that you've written,
that you've written all the leak

00:35:54.977 --> 00:35:56.637
code problems and all that stuff.

00:35:57.912 --> 00:35:58.162
CJ: Yeah.

00:35:58.802 --> 00:36:01.632
Speaking of leak code,
you're learning game engines.

00:36:01.652 --> 00:36:02.232
What's going on with

00:36:02.337 --> 00:36:02.747
Colin: Yeah.

00:36:02.747 --> 00:36:06.067
So for work, I'm trying to figure
out, we have a good sense of which

00:36:06.077 --> 00:36:07.727
game engines are most popular.

00:36:08.072 --> 00:36:11.612
With game developers, but then you
always have those, again, the long tail

00:36:11.612 --> 00:36:13.762
of game and, you know, just like APIs.

00:36:14.732 --> 00:36:18.922
And so I'm trying to decide
how we're gonna do integration,

00:36:18.932 --> 00:36:21.372
like, tutorials, mostly.

00:36:21.432 --> 00:36:26.142
We're not, do we create like a starter
for Unity, a starter for PlayCanvas?

00:36:26.152 --> 00:36:28.352
There's a lot of these HTML5 ones.

00:36:29.077 --> 00:36:31.437
Play canvas kaboom, things like that.

00:36:31.437 --> 00:36:35.057
So just looking to kind of make it
easier for people to get started.

00:36:35.087 --> 00:36:39.147
We released the docs at GDC and then
it's been fun to watch in discord.

00:36:39.147 --> 00:36:42.647
Like a lot of people just figuring it
out and figuring out what they can do.

00:36:42.647 --> 00:36:46.067
And I'm going to be taking all of
that and compiling it into the next

00:36:46.067 --> 00:36:49.887
series of tutorials of like, yeah,
we forgot to tell you how to do this,

00:36:49.887 --> 00:36:51.077
even though it's just right there.

00:36:51.097 --> 00:36:53.007
Like it's in, it's in the SDK.

00:36:53.327 --> 00:36:56.217
People have figured it out, but
we could do a tutorial around it.

00:36:56.217 --> 00:36:56.437
Yeah.

00:36:56.707 --> 00:36:58.967
I'm excited to do a bunch
of video content around it.

00:36:59.337 --> 00:37:04.457
So part of that is learning Unity
because Unity requires not only our

00:37:04.457 --> 00:37:09.517
SDK, but you also have to drop something
into Unity to talk back and forth and

00:37:09.537 --> 00:37:14.457
almost actually event, you have to omit
the events from discord into Unity,

00:37:14.467 --> 00:37:18.147
into your game and then catch them and
then respond to them and vice versa.

00:37:18.177 --> 00:37:20.957
So we don't currently give you that.

00:37:21.067 --> 00:37:25.907
And I'm trying to think through like, what
do we do in our Unity games that we can.

00:37:26.312 --> 00:37:27.532
Kind of open source.

00:37:27.982 --> 00:37:30.872
And then we want to talk, like,
we're going to talk to unity too

00:37:30.872 --> 00:37:32.842
and say, Hey, dev rel over unity.

00:37:32.842 --> 00:37:36.962
Like, what do we want to do together so
that they can maintain the unity piece?

00:37:36.962 --> 00:37:38.312
We can maintain the discord piece.

00:37:38.322 --> 00:37:42.092
So I don't have to become, again, it's
this exact same problem with the API.

00:37:42.092 --> 00:37:45.032
It's like, we cannot be experts
in all of these all the time.

00:37:46.767 --> 00:37:50.577
Maybe this is where some of our partners
like we have some of our partner

00:37:50.717 --> 00:37:56.687
activities are built in play canvas
Cocos there's there's there's a lot out

00:37:56.687 --> 00:38:01.657
there good dough It was cool at GDC to
like go and see what people are using

00:38:01.657 --> 00:38:05.467
for all these different things, too But
yeah, mostly just having fun with it.

00:38:05.477 --> 00:38:10.627
My first unity game is a cube that spins
in 3d space That's it's all it does

00:38:10.667 --> 00:38:15.327
but it's a it's a start I think the
goal is to like every person who joins

00:38:15.702 --> 00:38:18.822
Should get their own cube and we'll
just see if we can get that to run.

00:38:19.262 --> 00:38:23.932
And then you run into the party kit
problem of, now CJ's cube moves, how do

00:38:23.932 --> 00:38:27.132
we tell the other cubes that CJ has moved?

00:38:27.232 --> 00:38:27.412
CJ: Mm Hmm.

00:38:29.292 --> 00:38:32.072
Colin: turns out all these problems
are the same at the end of the day.

00:38:33.182 --> 00:38:33.512
CJ: Yep.

00:38:33.802 --> 00:38:34.222
Yep.

00:38:34.912 --> 00:38:35.262
Yeah.

00:38:35.282 --> 00:38:36.332
We're putting boxes.

00:38:36.762 --> 00:38:39.752
Usually we're putting boxes on
the page, but you put a cube on

00:38:39.772 --> 00:38:41.352
Colin: true, 3D boxes.

00:38:41.472 --> 00:38:42.482
CJ: this is the future.

00:38:42.667 --> 00:38:45.057
Colin: cameras, I mean that is
the biggest difference, right?

00:38:45.057 --> 00:38:47.757
It's like you're like rendering
cameras and then moving the camera

00:38:47.757 --> 00:38:52.477
versus moving the cube yeah, it's
it's fun at the end of the day.

00:38:52.597 --> 00:38:53.927
We're getting to make some games.

00:38:53.927 --> 00:38:55.187
So I think that's gonna be fun

00:38:56.922 --> 00:39:00.962
CJ: What a cool opportunity to, to just
learn lots of different game engines.

00:39:00.962 --> 00:39:04.912
Like I, I assume you'll come away with
just like if nothing else, like a hello

00:39:04.972 --> 00:39:08.232
world level understanding of all the
different game engines and like how to,

00:39:08.422 --> 00:39:12.302
you know, from supporting people and
answering questions and building tutorials

00:39:12.302 --> 00:39:14.242
and demos, like what a cool opportunity.

00:39:14.302 --> 00:39:18.612
Colin: I won't steal Shae's thunder, but
she's working on a really cool series

00:39:18.642 --> 00:39:23.812
as she's the other dev rel at discord
Around gaming so that's all I'll say for

00:39:23.812 --> 00:39:29.912
now, but for the actual Like tutorials,
I'm trying to decide like it feels

00:39:29.912 --> 00:39:31.602
like it falls under my job description.

00:39:31.622 --> 00:39:35.777
So I'm trying to figure out like Does
it make sense for me as DevRel at

00:39:35.777 --> 00:39:39.937
Discord to be releasing like a little
tutorial or video on each of these?

00:39:40.437 --> 00:39:45.397
Or do I go maybe stream on my own
and, you know, in my own time and

00:39:45.397 --> 00:39:49.257
do the Colin learns all the game
engines, you know, late night

00:39:49.257 --> 00:39:51.517
edition and do it off, off work time.

00:39:51.517 --> 00:39:55.307
So, yeah, maybe a little bit of both.

00:39:55.337 --> 00:39:55.727
We'll see.

00:39:56.647 --> 00:39:57.007
CJ: Yep.

00:39:58.747 --> 00:40:01.507
Opportunity to strike a balance
and and also, like, network

00:40:01.507 --> 00:40:03.187
and connect with other teams.

00:40:03.257 --> 00:40:03.927
That'll be cool.

00:40:04.157 --> 00:40:04.407
Colin: Yeah.

00:40:04.407 --> 00:40:07.607
This is the how do you avoid burnout
when you're chronically online?

00:40:09.397 --> 00:40:09.727
CJ: yeah.

00:40:09.967 --> 00:40:10.227
Yeah.

00:40:10.367 --> 00:40:11.107
Exactly.

00:40:11.387 --> 00:40:11.727
Colin: cool.

00:40:12.067 --> 00:40:12.477
Awesome.

00:40:13.629 --> 00:40:14.369
CJ: Good episode.

00:40:14.509 --> 00:40:15.399
Let's wrap it there.

00:40:16.019 --> 00:40:16.699
Colin: Sounds good.

00:40:16.759 --> 00:40:18.969
Where can people find notes for the show?

00:40:20.079 --> 00:40:20.339
CJ: yeah.

00:40:20.349 --> 00:40:22.149
Head on over to buildandlearn.

00:40:22.149 --> 00:40:24.839
dev to check out the links and
resources that we mentioned.

00:40:25.524 --> 00:40:30.814
And yeah, if you're feeling generous, why
don't you head over to your podcast player

00:40:30.844 --> 00:40:33.274
of choice and drop in a five star review.

00:40:33.654 --> 00:40:36.634
And if you leave a review, let us
know let us know how we're doing.

00:40:36.984 --> 00:40:38.064
Give us some feedback.

00:40:38.124 --> 00:40:39.114
We'd love to hear from you.

00:40:39.674 --> 00:40:45.834
And yeah, we are just over 40 episodes
now, so we have been pretty consistent.

00:40:46.284 --> 00:40:46.874
It feels good.

00:40:47.299 --> 00:40:47.919
Colin: 1 percent

00:40:47.954 --> 00:40:48.334
CJ: yeah, I guess.

00:40:48.334 --> 00:40:51.086
And yeah, until next time

00:40:51.086 --> 00:40:52.056
Colin: Alright, we'll see you next time.

00:40:53.501 --> 00:40:54.061
CJ: bye friends.