Episode Transcript
Available transcripts are automatically generated. Complete accuracy is not guaranteed.
Ryan (00:00):
Hey. How's it going? I'm
Ryan Hefner, and this is the All
Play Podcast. So in thisepisode, I wanted to dig into
what happens when things justdon't quite go as you want them
to. So, you know, when you'reout there building products or
working on a project and you'retrying to make progress, you're
(00:21):
trying to, you know, you'redebating, like, which one you
know, which feature should Iwork on or should I do more
marketing or whatever.
There's just this periods thatof the day that just seem to
kinda get washed away. You're,like, trying to run as fast as
you can, but the ground is justslipping out from beneath your
feet. And what do you do? And Irecently had one of these
(00:46):
things. And, you know, you know,I've been working on starter
packs.
I've been trying to, basically,try to get to the initial vision
for the project. And thesethings just happen to come up
that just steal your momentum.They suck energy, and it can be
(01:06):
really frustrating. But how dowe persevere? So I'm gonna get
into basically what happenedwith starter packs and where I
think I am with it.
I'm I'm still waiting to pullthe trigger on the on the pull
request and merge it in. I mean,I have the pull request. I've
been testing the the dev builds.We'll get into that. So,
(01:26):
obviously, I'm trying to, getstarter packs up to a point to
where I can start addingfeatures that people will start
hopefully paying for.
But what happens, I'm working ina on a feature branch, and I
realized that, there's somethinga little bit weird with some of
the auth stuff going on. Let mecheck it out. Oh, let me just
(01:49):
put a little a few safeguardsaround here for when I'm
checking to see whether you havean access token and whether, the
that token is still valid. Andthen you know what? Maybe I'll
I'll ask also to check the bluesky token just to make sure that
that's good.
And in the event that that's notgood, let's just show that
you're logged out and we'll logyou back in. We'll try to clean
(02:11):
that up, and then I'm gonna lookinto the queues that are running
or the crown jobs that arerunning to kinda keep those
tokens fresh. So that's what Idid. I was working on a feature
that I wanted to have out, and,basically, I could then start
building out the account, likebilling sections and setting
(02:31):
sections and stuff. So that wayI could start trying to test
subscriptions and trying to seeif if people will, start paying
for this.
Because so far people have beenlogging in. I also need to add
some analytics around the actualfollowing to see how many people
are actually following from thesite versus, like, linking out
to Blue Sky. And so I have someplans there. I'm currently using
(02:52):
Fathom as my analytics, provideron that. So gonna do some tie
ins there with their event stuffthat I haven't played around
with yet, but is interesting.
But regardless so I'm working onthose features, see this issue
with auth, figure I'm gonna gopeel off a little fresh branch,
fix it, push it up, all good. Igo to deploy it. Deploy is fine
(03:16):
on renders. The API is up,working fine. The fire hose
seems to be up working fine.
But the site itself is runninginto weird funky issues only
when it's rendering certainpages on the site. And I'm like,
what is going on? And so I'mtrying to troubleshoot it. I see
a random Prisma error beingthrown. Even though Prisma is
(03:38):
not being used to fetch any ofthe data on a specific page, it
is causing a weird new errorthat, magically seemed to pop up
within, like, the last, youknow, 5 or 6 days since the last
deploy that I made, to the site.
And so these kinda littlethings, it's like, what changed
(04:00):
on Vercel potentially thatcaused this issue? Because there
was nothing as apparent in mycode. And so as I'm debugging
debugging, trying to follow theerror, I ended up coming to the
final conclusion that I neededto refactor this one little bit.
And, actually, it's kinda funny.There's this the client
(04:23):
metadata, which is, like, howyou authenticate with the Blue
Sky API, that, that little bitactually requires that you have
a, I think it's called a nodeauth client.
I have to double check that. Ora node o auth client. And that
client has getters and setters,basically managing the an auth
(04:49):
state and an auth session, andthat's how it does its
validation. Now when I wasquickly kind of throwing this
stuff together, in that clientspecifically, instead of
actually hitting an APIendpoint, because I didn't
really have the API at the timewhen I was kind of configuring
this stuff, I was just directlyhitting Prisma. And it turns out
(05:09):
that something must have changedon Vercel with the way that you
deploy the, like, get serverside prop, methods, which
typically do run-in Lambdas, butsomething changed within the
last 5 days of how those Lambdasare configured that now that
little bit of code that wasaccessing Prisma directly was
(05:33):
basically pulling in prismadependencies into the pack into
the build and then causingissues on that get server side
props even though Prisma wasnever directly called in that
get server side props, Lambda.
So lo and behold, something thatI was originally planning on and
(05:54):
basically, like, refactoring andmoving those calls to be made to
an API endpoint and thenremoving the direct Prism
integration ended up kindabiting me. So it was a bit of a
forcing function to go in andmake those updates to the API,
make those updates to the themetadata client, and then
(06:17):
getting that all working. Ithink I have it all working now.
But the amount of energy andtime and research digging into,
like, what is causing theseissues, the I think these are
the real things that kind of,like, make or break someone
sticking with a project orpersevering and pushing through
to try to get to the other side.And this is just an instance
(06:41):
where, you know, unfortunately,I had to deal with it.
Fortunately, it was an area ofthe code that I wanted to kinda
clean up anyway, so I kinda feelgood about that. But at the same
time, I feel like I lost, like,a day and a half. And not not
these aren't full days and has.These are my over the last one
and a half days, the couplehours that I have to put towards
(07:06):
starter packs were spenttroubleshooting and debugging
and fixing this issue versusactually putting in the real
effort of getting the real valuefeatures in that I hopefully
will that I will be trying tocharge for and hopefully people
will pay for. So we'll see howthat goes.
Again, following up a little biton my last episode, it doesn't
(07:29):
seem like traffic to traffic tothe site is basically kind of,
like, still flatlining. It's notrebounding based off of the the
minor tweaks that I made to thesite. So, that actually is
pushing me towards thinkingabout other ways to try to beef
up. Basically, just, like, tryto draw more attraction to the
(07:51):
site. I am gonna be trying topush it out onto, you know, try
to get it in some newslettersand then also on a few of, like,
the different aggregator sitesof, like, new projects for
people to test, like, somethinglike beta list.
I'm kind of holding off until Iactually have the paid feature
because I wanna really use thoseas testing grounds to see if
(08:12):
anyone will pay. I do see thatpeople are logging in. I'm gonna
add the analytics and events tosee how much activity is
actually happening on the sitefor those different follow calls
or unfollows. And, we're gonnago from there. But people are
logging in.
People do have connected sites.Hopefully, after this push, in
(08:33):
the event that their tokensomehow expires, this will kind
of safeguard them from thinkingthey're doing actions when they
when they may not be, and we'llget out there. But, but, yeah,
it's I just kinda wanted to diginto, you know, what happens or
what's the mindset of going inand dealing with these kind of
(08:55):
unforeseen things and how canyou push through. And also kinda
just vent on the frustration ofthis stuff and why why these
things happen. But, I mean, ifyou're out there dealing with
this kind of stuff, I feel it.
I deal with it too. It's real itis really frustrating when you
basically had something working5 days ago, then all of a
(09:16):
sudden, magically, things juststop working. Looking into it,
it does look like there are somereferences to how you would
configure this for AWS Lambda,but it's not specifically for
Vercel. So there's definitelysomething must have changed on
the Vercel side of things on howthey're handling, you know,
their, Lambda methods or Lambdafunctions. But, yeah, that's
(09:41):
just how it goes.
So I hope this was the least,comforting knowing that, you
know, these things do happen.And sometimes there is a
brighter side knowing that youat least put in the effort to
clean up some of the old code ifthat happens to be the the the
(10:02):
case for you. If not, I'm sorrythat you have to deal with this
stuff. It is very frustrating,and hopefully we can just push
through and try to make our appsgood and out there and get
people to use them. So again,I'm Ryan Hafner.
This is the All Play podcast.Check it out at allplay.fm. Sign
(10:22):
up for the newsletter becauseI'm actually gonna make a
conscious effort of actuallydesigning and structuring how I
want those newsletters to goout. Basically, it's gonna
typically be a reference forwhenever there's new, any new
episodes, either I'll playepisodes or jam session
episodes. Also check outjamsessions.fm . If you want to
(10:43):
see some stuff go over there, Imight do a livestream later
today. So just heads up, andfollow this, the podcast on
Bluesky . So at allplay.fmObviously, you can follow me on
bluesky @ryanhefner.com andcheck out my site,
ryanhefner.com.
(11:04):
Probably also gonna add the thenewsletter sign up there because
I want to try to start buildingup a little bit of a newsletter
where I can send out updatesabout new episodes. I actually
have an a few articles in theworks right now. So Bobby
posting up when those are going,live and even have a library
that I am kind of likerepackaging and trying to get
(11:28):
out soon, which I will be usingon starter packs and on all my
personal stuff. And so I wannahave a channel to be able to
push out those updates andupdate people beyond just the
blue skies and maybe Twitters.So hopefully this is
interesting.
Follow along. If you see thisepisode, throw a like, maybe
(11:51):
subscribe if you're into it.Definitely down for, any sort
of, like, ratings or reviewsthat you can do in your podcast
player of choice. And we'regonna leave it there. Alright.
So with that, have a great one.Later.