WEBVTT

NOTE
This file was generated by Descript 

00:00:04.971 --> 00:00:06.171
Colin: Welcome to Build and Learn.

00:00:06.171 --> 00:00:07.161
My name is Colin.

00:00:07.821 --> 00:00:11.631
CJ: I'm cj and hey, we've
officially survived past that

00:00:11.631 --> 00:00:13.611
one year point for a podcast.

00:00:14.001 --> 00:00:14.691
We made it.

00:00:14.761 --> 00:00:20.431
Most podcasts don't make it one year,
and that's because of the podcast fade.

00:00:20.431 --> 00:00:21.361
The pod fade.

00:00:22.319 --> 00:00:25.109
Colin: I think, that this is one
of those like consistency things.

00:00:25.109 --> 00:00:27.859
This is the going to the gym, any habit.

00:00:28.529 --> 00:00:30.209
I have a newsletter, I have a blog.

00:00:30.749 --> 00:00:35.579
I don't keep them up to date as
much, but I like that we put this

00:00:35.579 --> 00:00:37.619
on the calendar and we get to chat.

00:00:37.619 --> 00:00:40.539
So especially now that we're not
in the same place anymore and it's

00:00:40.544 --> 00:00:42.309
still still something I wanna do.

00:00:42.309 --> 00:00:44.709
So I'm excited to hit that.

00:00:44.714 --> 00:00:48.839
And, and Transistor has this little fun
badge system that I think it's nice to

00:00:48.839 --> 00:00:50.849
just, when you log in to edit an episode.

00:00:51.629 --> 00:00:54.569
I just saw it was a year, I don't
think I would've noticed otherwise.

00:00:54.569 --> 00:00:57.329
So kudos to the team over there.

00:00:57.329 --> 00:01:01.499
Just a little fun, fun, surprise and
delight in the transistor product.

00:01:01.549 --> 00:01:05.009
CJ: Yeah, They've got like quite a few
little gamification things built in

00:01:05.459 --> 00:01:07.659
that are pretty neat for podcasters.

00:01:07.659 --> 00:01:12.039
So there's like lots of little badges
and things you can earn throughout.

00:01:12.099 --> 00:01:12.939
So it's pretty neat.

00:01:13.719 --> 00:01:14.979
What are you working on this week, Colin?

00:01:16.209 --> 00:01:18.699
Colin: I am still a
little bit in calendar.

00:01:18.699 --> 00:01:20.299
Hell it's been fun.

00:01:20.539 --> 00:01:24.229
If you listen to the last, I think
actually two episodes I've been

00:01:24.229 --> 00:01:29.039
talking about Google Calendar, APIs and
CloudFlare Workers and things like that.

00:01:29.039 --> 00:01:31.559
So still working on my
Google Calendar bot.

00:01:32.369 --> 00:01:32.939
It's been fun.

00:01:32.939 --> 00:01:35.969
I've learned a lot about CloudFlare.

00:01:35.969 --> 00:01:40.799
Like I, I had to like, kind of like when
you're working with Lambdas You make like

00:01:40.799 --> 00:01:42.389
different functions for different things.

00:01:42.449 --> 00:01:44.399
And I thought I had to
do that in CloudFlare.

00:01:44.909 --> 00:01:48.239
And so I had like six CloudFlare
workers and turns out you can just

00:01:48.239 --> 00:01:50.489
put them all in one CloudFlare worker.

00:01:50.519 --> 00:01:53.729
So that was the, the big
takeaway for this week.

00:01:53.779 --> 00:01:57.434
A lot easier to deploy and manage like
the same resources and stuff, so they

00:01:57.434 --> 00:02:02.744
all have access to the same database and
key value store and all that stuff to do.

00:02:03.049 --> 00:02:05.329
All the different crons that I have to do.

00:02:05.689 --> 00:02:08.899
If you've never worked with the API
before, like you can subscribe to a

00:02:08.899 --> 00:02:13.039
calendar's notifications, like new
event, edit event, delete event,

00:02:13.069 --> 00:02:19.099
canceled events, but it expires after
30 days, and so you have to renew the

00:02:19.104 --> 00:02:23.839
subscription on top of also catching
the events and dealing with those.

00:02:23.839 --> 00:02:28.399
So I, I had set it up as like a
subscription renewal worker and

00:02:28.404 --> 00:02:31.169
then a subscription like events.

00:02:31.359 --> 00:02:34.089
Like kind of route to catch
those web hooks and things.

00:02:34.089 --> 00:02:37.479
So yeah, just been playing around
with that, getting that going.

00:02:37.639 --> 00:02:41.209
It's quite satisfying to get my
first, like you have an upcoming event

00:02:41.329 --> 00:02:44.959
message where it wasn't just telling
me what I had for the day, but it

00:02:44.964 --> 00:02:48.709
was telling me like right before the
event that I had a meeting to get to.

00:02:48.709 --> 00:02:49.879
So that was kind of cool.

00:02:50.449 --> 00:02:51.259
CJ: That's awesome.

00:02:51.829 --> 00:02:56.119
So for the subscription renewal
bit can you, is it like you get

00:02:56.124 --> 00:02:58.969
a refresh token and then you just
use the refresh token to get like

00:02:58.969 --> 00:03:01.159
a new access key or something, or?

00:03:01.219 --> 00:03:02.059
Okay, got it.

00:03:02.734 --> 00:03:06.394
Colin: Yeah, and, and Google Auth doesn't
last very long anyway, so I had to

00:03:06.394 --> 00:03:08.084
build, refresh into the whole system.

00:03:08.284 --> 00:03:13.804
So I kind of made like a function
that gets their access token and

00:03:13.804 --> 00:03:17.749
if it's expired, Renews it so
you always have a fresh token.

00:03:18.239 --> 00:03:21.239
But I also don't wanna refresh
all the time just because you

00:03:21.239 --> 00:03:22.709
might be making multiple calls.

00:03:23.009 --> 00:03:29.649
So I usually, I, I do a try catch and
if it fails, For token, like in like

00:03:29.649 --> 00:03:32.139
Grant invalid, then I do a refresh.

00:03:32.569 --> 00:03:35.149
And this is one of those things that I
feel like I have to write over and over

00:03:35.149 --> 00:03:39.709
and over again and like, I think like
Stripe and others u like have that built

00:03:39.709 --> 00:03:41.539
into the SDKs and stuff these days.

00:03:41.539 --> 00:03:49.139
But I usually don't use SDKs and do a lot
of bear rest client stuff, so, or fetch.

00:03:49.864 --> 00:03:51.224
CJ: Yeah, I like that pattern.

00:03:51.224 --> 00:03:56.834
I know like a, I mean, for a lot of OAuth
APIs, They'll give you a refresh token.

00:03:56.894 --> 00:03:58.934
I mean, some of 'em don't
do the refresh thing.

00:03:58.934 --> 00:04:01.064
They're just like, here's an access
token that's available forever.

00:04:01.454 --> 00:04:04.634
Or like, if it gets revoked, then you just
like have to go through the flow again.

00:04:05.084 --> 00:04:08.774
And yeah, I think when you're, when
I was starting out, I definitely

00:04:08.834 --> 00:04:11.264
took the route of like, oh, I'm just
gonna refresh these every night.

00:04:11.444 --> 00:04:13.814
Like, I'm just gonna run cron
that goes through and re gives

00:04:13.814 --> 00:04:14.954
me new tokens every night.

00:04:14.954 --> 00:04:18.914
But yeah, I definitely find that it
can be, A little bit smoother to sort

00:04:18.914 --> 00:04:20.864
of like lazily refresh, like you said.

00:04:21.224 --> 00:04:23.024
Just like wait till you
actually need to use it.

00:04:23.024 --> 00:04:23.684
Try to use it.

00:04:23.684 --> 00:04:25.994
If it doesn't work, try to refresh it.

00:04:25.999 --> 00:04:26.954
Use the refreshed one.

00:04:26.954 --> 00:04:30.794
If that doesn't work, then you
like handle your errors gracefully.

00:04:30.854 --> 00:04:31.154
But

00:04:31.694 --> 00:04:34.664
Colin: It actually, I think it, it helps
clean up the code a little bit too.

00:04:34.669 --> 00:04:37.604
It makes it more reusable 'cause
you're gonna be calling it again

00:04:37.844 --> 00:04:41.234
after you refresh, you're gonna
make the same call you made before.

00:04:41.784 --> 00:04:44.484
So like when I'm prototyping, I don't
necessarily design it that way, and

00:04:44.484 --> 00:04:48.294
then it makes me like modularize
the code a little bit and try

00:04:48.294 --> 00:04:49.944
catch, and then call itself again.

00:04:50.764 --> 00:04:54.394
And I think Google's, they only last a
few hours, so you would want, you wouldn't

00:04:54.394 --> 00:04:57.904
wanna like, refresh every few hours if
you're not doing anything with that data.

00:04:58.474 --> 00:05:02.854
But yeah, that's, that's kind of
been in OAuth land and lots and lots

00:05:02.859 --> 00:05:04.294
and lots of practice makes perfect.

00:05:04.294 --> 00:05:04.864
I guess.

00:05:04.914 --> 00:05:06.054
CJ: Yep, totally.

00:05:06.559 --> 00:05:07.279
Colin: What are you working on?

00:05:07.899 --> 00:05:11.289
CJ: Well, a bunch of stuff, but let's see.

00:05:11.319 --> 00:05:14.079
So similar sort of AAU thing.

00:05:14.079 --> 00:05:19.029
We were, we're building a tool to ingest
a bunch of messages from this like

00:05:19.034 --> 00:05:20.739
chat client that we use called Podium.

00:05:21.069 --> 00:05:24.969
So we have like a web chat interface
where people can come to the website

00:05:24.969 --> 00:05:29.859
and text us and say, Hey, I want
certain rooms painted or walls painted.

00:05:29.864 --> 00:05:33.279
And this company podium has an a p I.

00:05:34.804 --> 00:05:37.324
For pulling out conversations.

00:05:37.564 --> 00:05:41.584
They do not have an a p i for listing
messages related to a conversation.

00:05:41.589 --> 00:05:44.134
So you like have to know the
idea of the specific message.

00:05:44.704 --> 00:05:47.764
So it was kind of a, it's been a
little bit of a research project

00:05:47.769 --> 00:05:49.714
this week to set up OAuth.

00:05:50.569 --> 00:05:53.839
And then, you know, try hitting
the a p i to see what we can get.

00:05:53.839 --> 00:05:58.279
And then ultimately we had to like submit
a support request to ask for the messages

00:05:58.279 --> 00:06:02.899
to be exported, which is fine for our
use case 'cause we want to, right now

00:06:02.899 --> 00:06:07.609
we're like working on building out some
data science-y things for a little bot.

00:06:07.999 --> 00:06:11.189
But yeah, in the future it would
be awesome to be able to just

00:06:11.189 --> 00:06:12.419
like list those messages out.

00:06:13.574 --> 00:06:19.894
Also working on building out and improving
like the UX for a bunch of pages in our.

00:06:20.709 --> 00:06:22.779
Our like operations tool.

00:06:23.199 --> 00:06:29.179
And this week I was adding some tab
views for like the project view.

00:06:29.179 --> 00:06:33.289
So if you're like in the sales team,
you look at the sales tab and it gives

00:06:33.294 --> 00:06:36.319
you everything you need to know about
the status, the sales status, and

00:06:36.769 --> 00:06:39.679
where the person is in the pipeline
and what the opportunity size is.

00:06:39.679 --> 00:06:41.359
And the partners are working
with their communication

00:06:41.359 --> 00:06:42.649
preferences and things like that.

00:06:43.009 --> 00:06:45.649
And then if you're on the operations
side or if you're on the paint

00:06:45.649 --> 00:06:47.329
crew, you see different views.

00:06:47.779 --> 00:06:53.269
And I was, I was like remembering
back to the bootstrap days where you

00:06:53.269 --> 00:06:57.619
could just sort of like drop in some
bootstrap tabs, add some, a little bit

00:06:57.619 --> 00:06:59.209
of JavaScript and you were good to go.

00:06:59.599 --> 00:07:03.324
And yeah, I mean there's, when you're
working in the front end with something

00:07:03.324 --> 00:07:06.444
like React, there's often like, you
know, some library you can just drop in.

00:07:06.954 --> 00:07:13.504
And when you're using Tailwind, it can be
really nice to just use the Tailwind ui.

00:07:14.309 --> 00:07:16.529
Things that come with React or view.

00:07:16.889 --> 00:07:21.059
And so that's what I was sort of
reaching for, but it doesn't fit

00:07:21.269 --> 00:07:24.299
nicely in the Rails ecosystem by
default, if you're using sort of

00:07:24.299 --> 00:07:27.089
just like the vanilla H T M L E R B.

00:07:27.209 --> 00:07:33.539
And so I found Chris Oliver built
a tailwind stimulus wrapper that

00:07:33.539 --> 00:07:35.099
has like a bunch of the components.

00:07:35.099 --> 00:07:40.269
So tabs was in there and was
able to drop that in and use it.

00:07:40.389 --> 00:07:42.699
Effectively, and so that, that like
worked out really, really well.

00:07:43.689 --> 00:07:44.049
yeah,

00:07:45.589 --> 00:07:48.619
Colin: I would not have thought
that would've been an issue, but

00:07:48.619 --> 00:07:50.899
I can see how that would come up.

00:07:52.149 --> 00:07:52.539
CJ: right.

00:07:52.544 --> 00:07:52.749
Yeah.

00:07:52.749 --> 00:07:54.014
It's like I don't know.

00:07:54.164 --> 00:07:58.074
I mean, tabs, you could pretty
simply build your own stimulus

00:07:58.079 --> 00:08:00.384
controller to just say like, I.

00:08:00.759 --> 00:08:04.839
Listen for clicks on these allies
and when that happens, remove the

00:08:04.839 --> 00:08:08.919
hidden class from the panel that
you want to display or whatever.

00:08:09.099 --> 00:08:13.989
So I think implementing tabs is
a pretty fun little like entry

00:08:14.079 --> 00:08:15.729
front end JavaScript problem to do.

00:08:15.759 --> 00:08:19.839
But when you're moving, I don't
know when, when I'm trying to be as

00:08:19.839 --> 00:08:22.149
productive as possible, I'm like,
I don't wanna reinvent this like

00:08:22.299 --> 00:08:24.759
Colin: No, especially with Tailwind,
like gives it to you and then

00:08:24.759 --> 00:08:26.109
you're like, I'm using Rails.

00:08:26.109 --> 00:08:27.639
I shouldn't be punished for this.

00:08:27.969 --> 00:08:28.539
CJ: Yeah.

00:08:28.599 --> 00:08:28.959
Yeah.

00:08:29.019 --> 00:08:29.829
So I

00:08:29.979 --> 00:08:31.269
Colin: another shout out for Chris.

00:08:31.599 --> 00:08:32.589
CJ: Yes, exactly.

00:08:32.589 --> 00:08:34.569
I, like, I am using so much of his stuff.

00:08:34.569 --> 00:08:35.289
It's crazy.

00:08:35.294 --> 00:08:37.989
Like the, our, our stack is
like, at least half of it is

00:08:37.989 --> 00:08:39.529
written by Chris, which I yeah.

00:08:39.534 --> 00:08:41.179
Hugely, hugely appreciate.

00:08:41.209 --> 00:08:43.914
If you if you haven't already and
you're a rails dev, go subscribe to

00:08:43.919 --> 00:08:45.744
Go Rails, just to like help Chris out.

00:08:46.509 --> 00:08:46.989
Colin: Totally.

00:08:47.349 --> 00:08:47.739
CJ: Yeah.

00:08:48.629 --> 00:08:49.139
But it's fun.

00:08:49.139 --> 00:08:49.499
I don't know.

00:08:49.499 --> 00:08:51.499
It's like using stimulus.

00:08:51.529 --> 00:08:54.499
I, I've really started to
like, enjoy using stimulus for

00:08:54.499 --> 00:08:55.669
a bunch of different things.

00:08:56.269 --> 00:09:00.469
Just even if it's as simple as
just showing and hiding forms or

00:09:00.969 --> 00:09:03.399
you know, little tiny interactions
that you need on a page.

00:09:03.404 --> 00:09:08.019
So popping modals or whatever, stimulus
is just so nice to just sprinkle in

00:09:08.559 --> 00:09:12.684
a tiny bit of JavaScript where you
need it, and then the rest is, You

00:09:12.684 --> 00:09:17.024
know, basically just server rendered
H T M L, which is is very nice, so.

00:09:17.234 --> 00:09:17.624
Colin: Yeah.

00:09:18.254 --> 00:09:18.434
Yeah.

00:09:18.434 --> 00:09:23.084
I actually haven't been touching Rails
front ends since Stimulus really was

00:09:23.089 --> 00:09:24.554
a thing like I've mostly been doing.

00:09:24.584 --> 00:09:26.594
When I was doing Rails, it
was mostly backend stuff.

00:09:27.279 --> 00:09:30.579
More APIs and a more OAuth
fund and stuff like that.

00:09:30.579 --> 00:09:33.639
So I, that's an area that's
like a blind spot for me.

00:09:33.639 --> 00:09:38.589
So I, I have seen a stimulus controller
and I was like, what is this thing?

00:09:39.049 --> 00:09:43.399
If you're coming from like a JavaScript
or like, it's, it's very interesting.

00:09:43.404 --> 00:09:49.899
But I could see how you need to like have
that glue between tailwind components

00:09:49.899 --> 00:09:51.519
and what Rails is doing under the hood.

00:09:53.379 --> 00:09:56.794
CJ: When you were at at orbit, what
was the front end for the Orbit app?

00:09:58.064 --> 00:10:01.214
Colin: We definitely had, it
was a, it was a lot of stimulus,

00:10:01.214 --> 00:10:04.444
like in our our filter view, like
that was all stimulus, I believe.

00:10:04.684 --> 00:10:07.984
So you could like add your filters for
like which member you're looking for.

00:10:08.414 --> 00:10:12.284
We had React components, but I
don't know when and where the,

00:10:12.524 --> 00:10:14.054
that's where like it gets fuzzy.

00:10:14.059 --> 00:10:17.414
Like we have React components, but
how, how you interact with them from

00:10:17.414 --> 00:10:21.494
the app I think was using stimulus
as, as the glue between this, if that

00:10:21.644 --> 00:10:22.124
CJ: Okay.

00:10:22.454 --> 00:10:23.084
That's cool.

00:10:23.444 --> 00:10:23.954
Interesting.

00:10:24.674 --> 00:10:30.254
Yeah, we, we do like our marketing site is
all built in next jss and we've been sort

00:10:30.259 --> 00:10:33.854
of exploring how do we bring some stuff.

00:10:34.259 --> 00:10:37.049
Like some React stuff and then just
sprinkle that around the app the

00:10:37.049 --> 00:10:38.489
same way that we are with Stimulus.

00:10:38.489 --> 00:10:41.669
But I, I haven't gotten
like too deep into that yet.

00:10:41.879 --> 00:10:42.809
So that'll

00:10:42.929 --> 00:10:46.349
Colin: Well, I, I bet tabs are easier
on the next JSS website, right?

00:10:46.769 --> 00:10:47.429
CJ: probably.

00:10:47.489 --> 00:10:47.759
Yeah.

00:10:47.759 --> 00:10:48.629
You just like drop in

00:10:48.659 --> 00:10:49.319
Colin: just JavaScript.

00:10:49.979 --> 00:10:54.119
CJ: Yeah, some actually, you could
probably just copy and paste the examples

00:10:54.119 --> 00:10:57.689
directly from Tailwind UI or Headless
UI or whatever, and it should just work.

00:10:57.749 --> 00:10:59.289
But Things like combo boxes.

00:10:59.289 --> 00:11:04.419
We have like a dropdown list where you can
add a specific paint color to a project.

00:11:04.809 --> 00:11:08.829
And in the combo box I wanted to show
like a little palette that has the

00:11:08.889 --> 00:11:12.609
hex, like a little circle that is
the hex color for the paint color.

00:11:12.849 --> 00:11:16.839
Then the name of the color, the
brand, and like its little code, so

00:11:16.839 --> 00:11:19.659
like the Sherwin Williams code or
the Benjamin Moore code or whatever,

00:11:19.659 --> 00:11:22.359
and building a like really rich.

00:11:22.884 --> 00:11:26.364
Each of the options really rich into
just like a select or dropdown box

00:11:26.784 --> 00:11:30.104
was made so much easier with with
these little tailwind components.

00:11:30.104 --> 00:11:33.494
I'd say, I dunno if you're using
rail stuff, go check out Chris's

00:11:33.674 --> 00:11:35.594
tailwind stimulus wrapper.

00:11:36.554 --> 00:11:38.864
We've also got sort of a
research project going on.

00:11:38.864 --> 00:11:43.124
We have I know I mentioned this
like podium tool that is where we

00:11:43.129 --> 00:11:47.354
have our chat widget, but eventually
we'd love to sort of centralize all

00:11:47.354 --> 00:11:48.644
of our communication, so we have.

00:11:49.319 --> 00:11:54.449
Phone calls, web chat, text message,
and then even other like social

00:11:54.449 --> 00:11:58.919
channels, all of that coming into
one source where we can like view

00:11:58.924 --> 00:12:00.659
all the past conversation history.

00:12:01.049 --> 00:12:06.369
And so I've been digging into Twilio
Flex, which is kind of like, It's

00:12:06.369 --> 00:12:11.229
almost like the support agent interface
that lets you say like as an agent.

00:12:11.229 --> 00:12:11.529
Yes.

00:12:11.529 --> 00:12:15.849
Right now I'm available and I'm online and
I can handle conversations or whatever,

00:12:16.179 --> 00:12:21.189
and then it will ring your phone or
it will, you'll get the web chat or

00:12:21.194 --> 00:12:23.919
you'll get the text message and you can
kind of like handle each conversation.

00:12:24.639 --> 00:12:30.539
And right now, The whole entire UI
is basically just dropped in as an an

00:12:30.539 --> 00:12:33.269
iframe and like into our application.

00:12:33.269 --> 00:12:37.629
And so over the next couple weeks
something that I want to play with a lot

00:12:37.634 --> 00:12:43.359
is like using the Twilio APIs to create
contacts and create conversations and

00:12:43.359 --> 00:12:46.959
start to like build mappings between like
what's in Twilio and what's in our system.

00:12:47.529 --> 00:12:49.329
Just to see if Twilio's the right answer.

00:12:49.329 --> 00:12:53.189
I don't actually know if that's the
way we're gonna go, but yeah, like

00:12:53.249 --> 00:12:58.259
Twilio, Intercom, any other sort of like
multi-channel communication platform?

00:12:58.749 --> 00:13:01.449
Curious if you've had, do
you have opinions or thoughts

00:13:01.449 --> 00:13:03.139
about things we should avoid?

00:13:03.829 --> 00:13:05.029
Things we should try?

00:13:05.119 --> 00:13:08.349
Is this anything you've
touched before in the past?

00:13:08.709 --> 00:13:09.069
Colin: Oh yeah.

00:13:09.069 --> 00:13:10.869
I've done a bunch of call center stuff.

00:13:10.869 --> 00:13:12.579
I would say avoid Salesforce.

00:13:12.819 --> 00:13:13.269
Yeah,

00:13:13.464 --> 00:13:13.914
CJ: That's right.

00:13:13.914 --> 00:13:14.034
I.

00:13:14.529 --> 00:13:15.159
Colin: Sorry.

00:13:15.159 --> 00:13:15.849
Salesforce.

00:13:15.849 --> 00:13:20.109
But you know, they have a lot of this
stuff built in, but like Twilio feels

00:13:20.109 --> 00:13:24.879
like a strong direction because you get
Ss M Ss, you get phone calls, you get

00:13:24.884 --> 00:13:29.619
the ability to do reminders and voice
reminders that are automated and all

00:13:29.619 --> 00:13:31.119
that stuff, which is really powerful.

00:13:31.169 --> 00:13:35.129
If you have multiple agents around the
world eventually, right, like people

00:13:35.129 --> 00:13:39.539
answering calls or texting or whatever,
then it's whatever one is enabled.

00:13:39.599 --> 00:13:45.059
Like a lot of the tools out there promise
that stuff, but it's like it's promised

00:13:45.059 --> 00:13:50.219
that you can go get a consultant to then
implement it, not out of the box, right?

00:13:50.219 --> 00:13:55.499
And whereas you guys are already using
the bare metal Twilio stuff, so like you

00:13:55.499 --> 00:13:57.149
might as well just extend off of that.

00:13:57.149 --> 00:13:59.909
I don't, does Intercom do
text and voice stuff these

00:14:00.014 --> 00:14:04.244
CJ: I am not sure I, so I've only looked,
yeah, the, I've only really looked into

00:14:04.274 --> 00:14:08.904
Twilio so far and we're kind of still
early in, in the research phase, but I.

00:14:09.474 --> 00:14:13.284
It's my understanding that
Intercom has fewer channels.

00:14:14.104 --> 00:14:18.244
But yeah, like I, I kind of also expected
that Twilio Flex would have a bit more.

00:14:19.489 --> 00:14:23.989
In terms of helping you connect
to your own c R m or like your own

00:14:23.989 --> 00:14:25.639
sort of like customer database.

00:14:26.119 --> 00:14:29.059
It really just has support
for a couple outta the box.

00:14:29.064 --> 00:14:33.799
I think it's Zendesk and maybe Salesforce,
where like those partners of Twilio have

00:14:33.804 --> 00:14:35.899
built integrations into Twilio Flex.

00:14:36.289 --> 00:14:41.149
And it seems like if you want your C
R M built into this, then you kinda

00:14:41.149 --> 00:14:45.799
like have to invent, reinvent all
of the a p I connections, which.

00:14:46.204 --> 00:14:49.444
At the end of the day, they're
giving you an interface which

00:14:49.444 --> 00:14:52.744
is much better than nothing, and
just having the raw APIs, but,

00:14:53.044 --> 00:14:56.314
Colin: Yeah, I mean, this is the tricky
classic build versus buy thing, right?

00:14:56.314 --> 00:15:00.154
It's like how close to the
bare metal do you go when what?

00:15:00.184 --> 00:15:01.804
What's your competitive advantage?

00:15:01.834 --> 00:15:02.194
Right?

00:15:02.194 --> 00:15:07.204
And we talked about this in last few
episodes in the past, but the tricky

00:15:07.204 --> 00:15:10.534
thing with that is like if you were to,
let's just say you, you, it sounds like

00:15:10.534 --> 00:15:12.784
you guys are building a C R M in a way.

00:15:14.044 --> 00:15:19.654
have infinite flexibility there versus
if you go use a Salesforce, you will

00:15:19.654 --> 00:15:22.954
constantly be running up against what
you're not allowed to do what you can do.

00:15:23.374 --> 00:15:25.534
Oh, we have to pay more
to have access to that.

00:15:25.564 --> 00:15:27.304
Oh, that seat doesn't
come with this thing.

00:15:27.304 --> 00:15:30.154
It's just, and like, Salesforce
is not the new thing.

00:15:30.204 --> 00:15:35.074
The whole what's old is new again around
designing like new startups around

00:15:35.074 --> 00:15:40.274
old concepts like  Paul Jarvis has his
analytics tool, which is very similar

00:15:40.274 --> 00:15:42.434
to the analytics tool called Mint.

00:15:42.434 --> 00:15:46.644
That was like, 2005, 2006
or something like that.

00:15:47.004 --> 00:15:50.514
And it was just better, simpler
analytics than Google Analytics.

00:15:50.544 --> 00:15:55.254
And Salesforce was the simpler
c r m against all these huge,

00:15:55.284 --> 00:15:56.954
you know kind of incumbents.

00:15:57.764 --> 00:16:02.624
Salesforce needs to be disrupted, like
most of the CRMs that I see today.

00:16:03.204 --> 00:16:06.294
Either live long enough to become
the villain and they become the

00:16:06.444 --> 00:16:08.214
big sales force that they are.

00:16:08.554 --> 00:16:09.604
Same for Intercom.

00:16:09.604 --> 00:16:12.634
Like I think Intercom will probably
get, you know, there'll be a new

00:16:12.634 --> 00:16:17.974
startup-y version of Intercom that is
simpler, cheaper, and they all end up

00:16:17.974 --> 00:16:21.304
going upstream to enterprise because
they took so much funding and that

00:16:21.304 --> 00:16:25.334
they have to Which is why I'm kind
of excited to see like the calm fund

00:16:25.334 --> 00:16:26.984
and tiny seed and stuff like that.

00:16:27.554 --> 00:16:29.894
Is that Salesforce would be a pain.

00:16:29.894 --> 00:16:31.574
So I would avoid that road.

00:16:31.634 --> 00:16:34.574
That's the long way of saying that,
I guess, but, you know, there's

00:16:34.579 --> 00:16:35.774
things you could learn from that.

00:16:35.774 --> 00:16:39.044
I, I think you guys are on the right
path with Twilio and I'd be interesting

00:16:39.044 --> 00:16:39.944
to see what you guys do with it.

00:16:40.589 --> 00:16:41.009
CJ: Cool.

00:16:41.399 --> 00:16:41.999
Yeah, it is.

00:16:42.089 --> 00:16:44.639
We are building some C R M features.

00:16:45.299 --> 00:16:49.919
But at the end of the day, we're kind
of just, the goal for this project is

00:16:49.919 --> 00:16:54.989
to centralize communication so that
we have a full and complete history

00:16:55.439 --> 00:16:59.619
and I mean, there's a bunch of gaps
and issues with our current setup.

00:16:59.619 --> 00:17:03.009
Like we're using Google Voice for some.

00:17:03.249 --> 00:17:07.329
Text message flows and like if
anyone reads the text message,

00:17:07.329 --> 00:17:10.299
then it shows as red and no one
else will know that it was red.

00:17:10.299 --> 00:17:13.629
Unless we're all being like
super vocal about like, Hey, I

00:17:13.629 --> 00:17:16.569
read the text from so and so, it
meant it said this, or whatever.

00:17:16.659 --> 00:17:19.549
So there's yeah, there's definitely gaps.

00:17:19.649 --> 00:17:21.864
But lots of opportunity
for us to centralize.

00:17:21.954 --> 00:17:22.404
Colin: I like that.

00:17:22.404 --> 00:17:26.454
So it's more a shared inbox,
multimodal instead of c r m, right?

00:17:26.454 --> 00:17:30.234
Like, yes, there's the who, but you're
not, I mean, you mentioned things

00:17:30.234 --> 00:17:34.044
like opportunities and deal flow
and like where they're at and stages

00:17:34.044 --> 00:17:38.904
and stuff and, but it's so specific,
like you would spend more time and

00:17:38.934 --> 00:17:43.644
money customizing like a real c r
m to do that than just using code.

00:17:44.179 --> 00:17:44.569
CJ: Right.

00:17:44.574 --> 00:17:44.779
Yeah.

00:17:44.779 --> 00:17:50.419
We're, we have like the coach built
process for sales already built

00:17:50.849 --> 00:17:55.079
for this small set of states that
we are, that we need and expect.

00:17:55.779 --> 00:17:58.989
And what's cool is that now we
can build whatever automations

00:17:58.989 --> 00:18:00.249
we want to on top of it.

00:18:00.279 --> 00:18:03.519
And whether we're using an a p I to
do some third party thing or we're

00:18:03.524 --> 00:18:05.049
building it ourselves, we can do that.

00:18:05.559 --> 00:18:09.819
So yeah, it kind of, it gives us
the flexibility to integrate or like

00:18:09.819 --> 00:18:11.649
solve problems however we want to.

00:18:12.339 --> 00:18:16.959
For instance, we don't have
integrations with a third party paint.

00:18:17.609 --> 00:18:22.749
Like manufacturer because apparently
it doesn't exist or like yeah.

00:18:22.749 --> 00:18:26.289
So there's not like an a p I
to like order paint from like

00:18:26.289 --> 00:18:28.539
Sherwin Williams or whatever, or
as far, as far as I understand.

00:18:28.539 --> 00:18:31.659
And so instead we communicate
directly to an account manager at

00:18:31.659 --> 00:18:33.279
a certain place, be a text message.

00:18:33.609 --> 00:18:37.299
And so like early versions of like
order management, just gonna be like

00:18:37.569 --> 00:18:40.509
build the text message that's gonna
be sent as like the order for the

00:18:40.509 --> 00:18:42.679
thing which is all stuff that we can.

00:18:43.129 --> 00:18:47.599
We can do because we have the flexibility
and we're in a position like that,

00:18:47.599 --> 00:18:49.069
we can build everything that we need.

00:18:49.549 --> 00:18:50.659
So yeah, I dunno.

00:18:50.779 --> 00:18:51.739
It's fun, it's exciting,

00:18:52.419 --> 00:18:54.939
Colin: yeah, like pulling back
from the specific use case.

00:18:54.939 --> 00:19:00.519
Do you, the thing that I wonder, do you
think a startup could build a C R M.

00:19:00.969 --> 00:19:03.099
I don't think the goal is to
become as big as Salesforce, like

00:19:03.099 --> 00:19:07.419
Salesforce is just insanely large,
but like to unseat Salesforce.

00:19:07.419 --> 00:19:09.519
Do you think that that is possible?

00:19:09.559 --> 00:19:11.659
CJ: I think, I definitely think so.

00:19:11.959 --> 00:19:16.489
And I think the way to do it is to
niche, like niche down and be like, okay,

00:19:16.489 --> 00:19:22.399
we're building a C R M for hairstylists
and it's gonna be like super, super

00:19:22.399 --> 00:19:27.139
specific to hair and then you end up with
squire or something like that, right?

00:19:27.139 --> 00:19:29.519
Like so yeah, I think it's

00:19:29.559 --> 00:19:31.299
Colin: The MINDBODY online type

00:19:31.369 --> 00:19:33.229
CJ: yes, yes, exactly.

00:19:33.249 --> 00:19:35.049
Colin: CrossFit Gym, c r m.

00:19:35.109 --> 00:19:35.349
Yeah.

00:19:35.479 --> 00:19:35.839
CJ: Yep.

00:19:36.439 --> 00:19:41.449
Yeah, I think the c r m, like c r m
features are just, those are kind of just

00:19:41.449 --> 00:19:46.649
features of a system that's purpose built
for a specific niche, and there's totally

00:19:46.649 --> 00:19:48.389
opportunity to go out and crush that.

00:19:48.389 --> 00:19:51.119
And I think a lot of people are kind
of expecting, they have like more

00:19:51.124 --> 00:19:54.719
expectations about software that they're
gonna buy to run their business, that

00:19:54.719 --> 00:19:58.529
it is already integrated with a bunch
of stuff like, They're gonna want stripe

00:19:58.529 --> 00:20:01.979
out the box and they're gonna want
customer messaging out the box and they're

00:20:01.979 --> 00:20:06.659
gonna want whatever, some, some sort
of reminders in the Slack integration,

00:20:06.689 --> 00:20:08.434
discord integration and whatever,

00:20:09.034 --> 00:20:12.184
Colin: So like the, the Salesforce
a p i costs money, right?

00:20:12.184 --> 00:20:16.054
You have to be on a certain plan to
have access to it, and then if you

00:20:16.059 --> 00:20:19.504
want to customize it, you have to use
their like lightning and visual force

00:20:19.509 --> 00:20:24.514
and like a subset of Java and like
there's just all these headaches there.

00:20:24.514 --> 00:20:27.664
So it would be under, if anyone
has not used Salesforce, like the

00:20:28.024 --> 00:20:30.819
admin screen is, Millions of pages.

00:20:30.819 --> 00:20:34.749
Like it's, you open these toggles,
probably not millions, it's hyperbole,

00:20:34.754 --> 00:20:38.349
but you know, you open a toggle and
then there's like 10 more toggles.

00:20:38.349 --> 00:20:42.529
Then you open those toggles and there's
like, you like hunt around for these

00:20:42.534 --> 00:20:46.459
things and they, they've added so many
features for every use case that you

00:20:46.459 --> 00:20:50.179
have to hire consultants, which is
what one of the jobs I used to have.

00:20:50.619 --> 00:20:53.679
Just to implement it and then you're
not necessarily happy that you're

00:20:53.679 --> 00:20:57.009
paying a fortune for Salesforce
and then a fortune to someone to

00:20:57.009 --> 00:20:58.599
make it do what you want it to do.

00:20:58.629 --> 00:21:02.169
So it's the c r m one is one that has
rolled around my head for a really

00:21:02.174 --> 00:21:05.829
long time, but it just feels, you know,
it's similar to the past where like

00:21:05.829 --> 00:21:08.709
if you don't have a lot of funding,
a lot of companies won't trust it.

00:21:09.154 --> 00:21:13.324
Because the funding is a signal that
you're gonna be around in some, some

00:21:13.324 --> 00:21:15.964
people's eyes once the funding dries up.

00:21:15.964 --> 00:21:19.954
You may not be around if you aren't a
sustainable business, but I think like

00:21:19.954 --> 00:21:21.964
37 signals used to have high rise.

00:21:21.964 --> 00:21:25.114
But that was like kind of
like a Fisher-Price version

00:21:25.114 --> 00:21:26.404
of a C R M in my mind.

00:21:26.404 --> 00:21:30.484
Like it worked, but it was
like a glorified calendar book.

00:21:30.484 --> 00:21:32.374
It wasn't really like a A C R M.

00:21:33.204 --> 00:21:37.824
CJ: I think in terms of like customer
support and sales, like really basic

00:21:37.824 --> 00:21:42.939
stuff for startups, there's definitely an
opportunity to do something like, Maybe

00:21:42.939 --> 00:21:47.739
not as intense as Salesforce, but maybe
closer to something like Zendesk where

00:21:47.739 --> 00:21:52.329
you could build a Zendesk competitor
with some Twilio APIs and Jumpstart

00:21:52.329 --> 00:21:59.319
Pro and like a few smart things and a
really nice design and a low, low price.

00:21:59.324 --> 00:22:01.689
And I think, you know, early
startups would be like, hell yeah.

00:22:01.719 --> 00:22:02.169
Like,

00:22:02.264 --> 00:22:04.094
Colin: Yeah, the linear of Zendesk

00:22:04.359 --> 00:22:06.339
CJ: Yes, yes, yes, exactly.

00:22:06.429 --> 00:22:07.299
That's just like,

00:22:07.574 --> 00:22:09.344
Colin: these are free
startup ideas for everybody

00:22:09.459 --> 00:22:10.149
CJ: Yeah, exactly.

00:22:11.439 --> 00:22:11.589
Yeah.

00:22:11.589 --> 00:22:14.109
If you're following along at home,
I, you know, so like as I was going

00:22:14.109 --> 00:22:18.489
through the the thought process of
Twilio and how I might integrate it and

00:22:18.489 --> 00:22:20.109
everything, I was like, oh, you know what?

00:22:20.114 --> 00:22:23.889
I think I might record this as a
video because there's enough, like

00:22:23.889 --> 00:22:27.129
off the beaten path stuff that I
need to, like, try and experiment

00:22:27.129 --> 00:22:28.269
with to see if it'll work.

00:22:28.709 --> 00:22:30.359
So if folks are interested in.

00:22:30.734 --> 00:22:34.544
Watching a probably a series because it'll
take a while to figure that stuff out.

00:22:34.964 --> 00:22:36.164
Like let us know.

00:22:36.434 --> 00:22:40.994
Also, going back to the pod fade
concept that we were talking

00:22:40.994 --> 00:22:42.254
about earlier, man, it is.

00:22:42.839 --> 00:22:45.329
Really, really hard to put
out content consistently.

00:22:45.719 --> 00:22:47.459
I know you and I, we took a break.

00:22:47.819 --> 00:22:51.479
I haven't put out any videos on my
own channel for like six months.

00:22:51.869 --> 00:22:56.619
I know that my former team at
Stripe is like slowly sort of

00:22:57.069 --> 00:23:00.699
they don't foresee a ton more
content coming out on that channel.

00:23:00.699 --> 00:23:03.609
So there is just, it
is, it is really hard.

00:23:03.609 --> 00:23:05.709
I was talking to Aaron Koble from.

00:23:06.109 --> 00:23:07.639
Webflow earlier today.

00:23:07.639 --> 00:23:10.549
He's also like slowed down on
content for his own channel.

00:23:10.549 --> 00:23:14.889
I think a lot of people are just finding
it really, really hard and The point

00:23:14.894 --> 00:23:19.839
that you made about falling to the level
of your systems, I thought was kind of

00:23:19.839 --> 00:23:25.449
interesting, especially because when,
when I think about my blog and my like

00:23:25.449 --> 00:23:29.019
YouTube channel and your newsletter and
your blog and things like that, right?

00:23:29.019 --> 00:23:32.799
Like those were only held
accountable to ourselves, right?

00:23:33.504 --> 00:23:37.284
At least with this podcast, you and I are
both sort of accountable to each other

00:23:37.284 --> 00:23:40.524
that like, okay, yeah, I'm gonna show
up today even if I don't want to do it

00:23:40.524 --> 00:23:43.614
because I wanna hang out with Colin and I
want this to be successful and whatever.

00:23:44.034 --> 00:23:45.654
And so there's a little bit more pressure.

00:23:45.659 --> 00:23:49.074
And I think this is probably
also it's part of the system,

00:23:49.074 --> 00:23:50.424
it's part of accountability.

00:23:50.429 --> 00:23:55.344
It's part of part of the reason too that
I think YC invests in companies that have

00:23:55.554 --> 00:24:01.039
two or more founders because it really
gives you like other people to lean on

00:24:01.039 --> 00:24:05.269
and other people to kind of like hold
you accountable for just showing up.

00:24:05.419 --> 00:24:05.839
So,

00:24:06.834 --> 00:24:09.984
Colin: It's funny you say that
because I don't, did, did you see

00:24:09.984 --> 00:24:12.954
the conversation going around about
whether or not you should have

00:24:12.954 --> 00:24:14.874
co-founders or not on Twitter this week?

00:24:15.594 --> 00:24:18.654
On Yeah, it was of all people.

00:24:18.699 --> 00:24:23.039
It was the product person from
Twitter Esther Crawford, who was

00:24:23.039 --> 00:24:25.709
saying that of her Angel investments.

00:24:25.709 --> 00:24:29.249
The ones that have gone to Zero the
fastest have been ones with co-founders

00:24:29.249 --> 00:24:30.869
where they have a co-founder dispute.

00:24:31.379 --> 00:24:34.259
And I will say like, yes, those are real.

00:24:34.264 --> 00:24:37.979
Like you, when you're starting a company
with someone, like you should not take

00:24:37.979 --> 00:24:39.479
that lightly, especially if you take.

00:24:40.084 --> 00:24:41.124
Investment, right?

00:24:41.124 --> 00:24:48.084
Because you are now not just accountable
to your co-founder who is in weird way,

00:24:48.084 --> 00:24:51.714
you're gonna spend more time with them
than your actual partner in some cases.

00:24:52.584 --> 00:24:56.184
You also are now beholden to your
stakeholders and then eventually,

00:24:56.184 --> 00:24:57.474
hopefully your customers.

00:24:57.474 --> 00:24:59.364
There's just so much involved there.

00:24:59.364 --> 00:25:03.104
And so I know YC really likes to
have founders who are like first

00:25:03.104 --> 00:25:07.184
time outta school, three people who
went to the same school together, but

00:25:07.184 --> 00:25:09.944
like they really haven't seen life.

00:25:10.319 --> 00:25:14.879
You know, enough of life experience
to to do it well and you know, usually

00:25:14.879 --> 00:25:17.789
you see, I think like even with Uber
and Travis Kanick and some of these

00:25:17.789 --> 00:25:21.959
others, like it, it was not, Uber
was not his first rodeo by any means.

00:25:21.959 --> 00:25:25.619
There were a lot of missteps along the
way and I think they had their share

00:25:25.624 --> 00:25:28.019
of founder, you know, drama as well.

00:25:28.019 --> 00:25:30.209
So it's always interesting to see that.

00:25:30.749 --> 00:25:32.939
Thing of like doing a startup by yourself.

00:25:32.939 --> 00:25:34.019
There's just a lot to do.

00:25:34.019 --> 00:25:38.219
So like I don't necessarily recommend
that, and there's, I think YC and

00:25:38.219 --> 00:25:41.369
Techstars both are like, well, if you
can't convince someone else to come

00:25:41.369 --> 00:25:46.319
along with you as a co-founder, then
why do you think we should invest that?

00:25:46.319 --> 00:25:48.359
That kind of argument is also interesting.

00:25:48.909 --> 00:25:51.539
But there's something to be said about
just being able to build slow and

00:25:51.539 --> 00:25:53.849
calm and by yourself and work on it.

00:25:53.854 --> 00:25:55.859
But then, like what you just
mentioned, like you're now

00:25:55.859 --> 00:25:57.179
only accountable to yourself.

00:25:57.569 --> 00:26:02.249
No one knows if you are showing up
today to work on it or not versus having

00:26:02.249 --> 00:26:03.899
that, that partner to do that with.

00:26:04.079 --> 00:26:04.499
CJ: Mm-hmm.

00:26:06.199 --> 00:26:09.929
Are you, so do you, do you have
any updates about your Door app?

00:26:11.094 --> 00:26:13.369
We had talked about like you're
gonna take a couple days off

00:26:13.369 --> 00:26:15.379
to work on the Reno Collective

00:26:15.889 --> 00:26:19.339
Colin: yeah, so I guess this episode's
going to another place that we

00:26:19.339 --> 00:26:21.049
didn't expect, but it, it works.

00:26:21.109 --> 00:26:21.559
It's good.

00:26:21.559 --> 00:26:24.709
'cause this is like the build
versus buy thing, but it's also, I.

00:26:25.339 --> 00:26:28.639
An issue with a startup that raised
money and has to go upstream.

00:26:28.639 --> 00:26:33.109
So we've been using this tool called
Robin to run our conference rooms at

00:26:33.109 --> 00:26:36.559
the collective so that the coworking
space for, for those of you who are new

00:26:36.564 --> 00:26:40.399
to this and it worked really great, but
it was getting more and more expensive

00:26:40.404 --> 00:26:45.529
and they have to go upstream because
conference room booking as a business

00:26:45.619 --> 00:26:48.379
onto itself, when you've taken a bunch
of money and you've gotten really

00:26:48.379 --> 00:26:52.294
big and you have a lot of employees,
Is not a full business, right?

00:26:52.294 --> 00:26:53.584
People wanna rent desks.

00:26:53.584 --> 00:27:00.444
And so the app now touts some really cool
customers that are huge compared to this

00:27:00.444 --> 00:27:02.184
measly little coworking space that we are.

00:27:02.184 --> 00:27:04.434
And so I don't fault
them for going upstream.

00:27:04.434 --> 00:27:08.034
They have to, they're seeing
a lot that they can do.

00:27:08.469 --> 00:27:11.199
Around like health, wellness check-ins.

00:27:11.229 --> 00:27:15.069
Like when you wanna book a desk and
come into your company, like a Google

00:27:15.069 --> 00:27:18.789
or whoever, they want to say like,
okay, you know, everything from your

00:27:18.794 --> 00:27:24.569
badging system at Stripe and Discord or
wherever to physical digital security.

00:27:24.599 --> 00:27:26.459
Are you gonna have a desk
and a coworking space?

00:27:26.519 --> 00:27:30.899
Like a lot of companies have
reinvented their HQs as like glorified

00:27:30.899 --> 00:27:35.339
co-working spaces, and so they
built all their tooling around that.

00:27:35.339 --> 00:27:37.439
And so like the app for us just doesn't.

00:27:37.734 --> 00:27:38.514
It's expensive.

00:27:38.514 --> 00:27:39.894
It doesn't make sense for us anymore.

00:27:39.894 --> 00:27:43.104
Our members are finding it confusing
'cause they're like, oh, I log in

00:27:43.104 --> 00:27:44.454
and it's asking me to book a desk.

00:27:44.459 --> 00:27:45.864
I'm like, yeah, don't use that tab.

00:27:45.864 --> 00:27:46.854
Go to the other tab.

00:27:47.424 --> 00:27:50.334
And we just don't have any control
over the app and the experience.

00:27:50.349 --> 00:27:53.289
I've been holding off on just building
my own for a really long time.

00:27:54.039 --> 00:27:56.289
But I've also been playing
around with calendar APIs.

00:27:57.209 --> 00:27:59.369
So I am, I'm playing around with it.

00:27:59.699 --> 00:28:04.469
My first prototype is a React app
that just checks whether or not each

00:28:04.469 --> 00:28:06.209
calendar is free or busy right now.

00:28:06.479 --> 00:28:10.469
So it'll basically be red or green
depending on if the room is booked.

00:28:10.469 --> 00:28:14.039
So that part, surprisingly, will
be like, the easier part, the

00:28:14.039 --> 00:28:16.319
harder part is letting people book,

00:28:16.909 --> 00:28:20.109
Having the UI to do the booking
and, and all of that stuff.

00:28:20.159 --> 00:28:23.909
I think we'll start with just building
it for ourselves with no expectation,

00:28:23.909 --> 00:28:29.609
but maybe it'll become a conference room
booking app that's just run by one person.

00:28:29.669 --> 00:28:30.089
We'll see.

00:28:30.969 --> 00:28:33.549
CJ: Is the Google calendar, a p i?

00:28:33.609 --> 00:28:36.279
You can, I assume you can
create events through it.

00:28:37.139 --> 00:28:41.277
And even if you're not authenticated
as the, could probably auth like auth

00:28:41.307 --> 00:28:44.367
as like, we are the coworking space.

00:28:44.877 --> 00:28:48.567
And then just use that auth
token to create the room or

00:28:48.567 --> 00:28:49.647
like book the room or whatever.

00:28:49.757 --> 00:28:52.247
Colin: Yeah, and you can do things
like with service accounts and

00:28:52.247 --> 00:28:54.047
stuff you can actually impersonate.

00:28:54.127 --> 00:28:56.937
So there's like all sorts of OAuth
magic you can do with Google.

00:28:56.937 --> 00:29:00.597
But the other way to think of it
is that like an M V P would be

00:29:00.837 --> 00:29:03.717
having a Calendly to book the rooms.

00:29:04.107 --> 00:29:07.527
It requires us to like
create each room as a person.

00:29:07.962 --> 00:29:08.592
CJ: Very cool.

00:29:08.622 --> 00:29:11.382
Thanks for the update, and
it sounds like a fun project.

00:29:11.412 --> 00:29:17.212
I know, like the further I get into my
career, I'm getting a little bit better

00:29:17.212 --> 00:29:20.842
at not just like building stuff that I'm
like, oh yeah, that'll be easy to do.

00:29:20.847 --> 00:29:24.292
Let me just build some little
web scraper that goes and gets

00:29:24.292 --> 00:29:25.582
the data I need for this thing.

00:29:25.582 --> 00:29:29.722
It's like, okay, yeah, that that'll work
for a minute, and then like it'll explode.

00:29:30.112 --> 00:29:34.232
So yeah, it's, it's, I'm, I'm, I'm
definitely struggling finding a

00:29:34.232 --> 00:29:40.112
balance between saying like, no, you
shouldn't build the thing because.

00:29:40.847 --> 00:29:44.807
There's existing solutions out there and
the tam isn't big enough and whatever.

00:29:45.167 --> 00:29:47.927
And then also just, you
should just build it.

00:29:47.957 --> 00:29:49.877
'cause it'd be fun and
it'd be like interesting.

00:29:49.882 --> 00:29:52.047
And if it happens to work, great.

00:29:52.047 --> 00:29:53.637
If it doesn't work, then whatever.

00:29:53.697 --> 00:29:55.077
Like try some other solution.

00:29:55.197 --> 00:29:56.727
But yeah, I don't know.

00:29:57.507 --> 00:30:02.567
Maybe that's what this like Twilio Flex
plus Jumpstart thing will end up being.

00:30:02.647 --> 00:30:04.507
Colin: I think we've talked about
this in the past with build versus

00:30:04.512 --> 00:30:06.547
Buy, but like in a way, rails.

00:30:07.342 --> 00:30:08.692
Is like a hybrid of the two.

00:30:08.692 --> 00:30:10.612
Like you're not building
everything from scratch.

00:30:10.612 --> 00:30:14.302
Like Jumpstart gives you so much out
of the box rails is giving you so

00:30:14.302 --> 00:30:18.532
much power, and then flex, you know,
literally flexing over here on Twilio.

00:30:18.562 --> 00:30:22.822
So like, it's it's good you got,
I think it's a happy medium.

00:30:23.002 --> 00:30:25.912
You may go down that path a
little bit and find that it,

00:30:25.972 --> 00:30:27.862
it's too deep of a rabbit hole.

00:30:27.867 --> 00:30:31.802
And I think like, keeping in
mind like, is this you know,

00:30:31.802 --> 00:30:34.472
a unique value prop for us or.

00:30:35.267 --> 00:30:35.987
Is it not?

00:30:35.987 --> 00:30:38.957
Because I've been at a company where
we were gonna spend like six weeks

00:30:38.957 --> 00:30:44.027
on a billing system and it's like, is
us billing our customer unique to us?

00:30:44.147 --> 00:30:44.507
No.

00:30:44.597 --> 00:30:47.297
Why should we be spending
six weeks doing that?

00:30:48.012 --> 00:30:48.462
CJ: right.

00:30:49.067 --> 00:30:53.327
Colin: billing is broken in the industry
of getting your house painted, then sure,

00:30:53.687 --> 00:30:55.542
but I  suspect that's not the problem.

00:30:55.542 --> 00:30:55.752
Right.

00:30:55.757 --> 00:30:58.572
It's probably getting your house
painted is the bigger problem.

00:30:59.542 --> 00:31:01.312
CJ: Yeah, that is great.

00:31:01.317 --> 00:31:06.082
I, you know what, when, when I'm
in it too, it's so hard to, to.

00:31:07.147 --> 00:31:12.307
Keep that high level view of like, what is
the most important thing for the business?

00:31:12.787 --> 00:31:16.507
And I'm sure everyone who's working on
a startup does this and they're just

00:31:16.507 --> 00:31:18.937
like, gosh, I want these tabs to work.

00:31:18.967 --> 00:31:23.257
It's like, okay, if these tabs
aren't working, if instead you just

00:31:23.257 --> 00:31:27.217
throw everything on the page, is
that gonna be good enough for now?

00:31:27.217 --> 00:31:30.487
And then, you know, try to prioritize
and focus on the problems that are gonna

00:31:30.487 --> 00:31:31.987
really move the needle for the business.

00:31:32.377 --> 00:31:33.187
That's tough.

00:31:33.287 --> 00:31:35.507
Colin: This gets into like product
management a little bit, which we can

00:31:35.507 --> 00:31:36.887
definitely talk about in the future.

00:31:37.487 --> 00:31:40.187
But you know, having an appetite,
like, yeah, we want those

00:31:40.187 --> 00:31:42.407
tabs, but do we want the tabs?

00:31:42.407 --> 00:31:44.177
If it's gonna take us a week
to build them, probably not.

00:31:44.637 --> 00:31:46.227
CJ: Right, right, right.

00:31:46.232 --> 00:31:47.217
Totally, totally.

00:31:48.447 --> 00:31:49.637
I think that's a good spot to leave it.

00:31:50.097 --> 00:31:52.407
Thanks for listening to Build and Learn.

00:31:52.657 --> 00:31:56.407
As always, you can head over to build and
learn.dev to check out the show notes.

00:31:56.407 --> 00:31:59.702
We'll drop links to things
we talked about and yeah.

00:31:59.762 --> 00:32:00.482
Thanks for listening.

00:32:01.015 --> 00:32:01.505
Colin: Bye friends.