Watch the latest episodes on YouTube

035 — $800 Gorilla in the Room

10:20

Listen on

Show Notes

Unfortunately I missed my milestone of getting an early release of https://www.skylounge.social deployed during Release Day. But, it wasn’t for a lack of trying. It’s kind of hard to run when it feels like you have a knife in your stomach and you don’t know how to stop the bleeding.

I dig into what attempts I made to optimize the NextJS App for https://www.starterpacks.net to utilize fewer resources on Vercel (spoiler alert, unsuccessfully), what the usage and costs were, and what I ultimately did to try to stabilize the costs until I can start to get the site earning more than it costs to host.

To follow along, you can find me at https://www.ryanhefner.com, follow me on Bluesky @ryanhefner.com (https://bsky.app/profile/ryanhefner.com) and keep up with the show on https://www.allplay.fm and @allplay.fm (https://bsky.app/profile/allplay.fm).

Help yourself, while supporting the show, by trying some of the services that I use, and highly recommend:
Transistor FM (https://transistor.fm/?via=allplay)
Fathom Analytics (https://usefathom.com/ref/EKONBS)

#buildinpublic #podcast #startups #webdevelopment  #webdesign #bluesky #indiedev #bootstrapping #indiehackers

Transcript

00:00 - 00:16

Hey. How's it going? I'm Ryan Hefner, and this is the All Play podcast. So I wanted to address the $800 gorilla in the room. Essentially, a little update on starter packs and what's going on over there.

00:16 - 01:01

So, you know, last month, I was really trying to get focus on skylounge.social, which is like a Twitter spaces alternative that I'm kind of focusing towards blue sky. And I really wanted to get that out by May 30 and, in line with, the this release day thing that was going on. Well, it turns out I missed that milestone unfortunately. And it wasn't because I wasn't trying, but, you know, it's kinda hard to run when you have like a knife in the gut and you're bleeding out. So essentially, I I got into this on a earlier episode where I I was talking about how, starter packs ended up costing me about $500, last month for the Vercel bill for hosting the site.

01:01 - 01:29

And that was from April 17 until May 17. So I had to address that. I was thinking that, alright, I'm gonna do a few quick little things. I noticed that the profile pages seem to be the most traffic pages on the site. I figured, I have 2,000,000 writes in the plan and 10,000,000 reads, so that should definitely shave off some of the, function requests and the function duration stuff that seemed to be the most expensive stuff that I was dealing with.

01:29 - 01:46

And alright. I said, alright. I'm gonna get those pages up. I'm gonna do the, incremental static regeneration on those, which essentially, you know, it renders the page once. It incurs like whatever the function duration stuff is for that initial render.

01:46 - 02:19

And obviously, it should just, pull from the reads from that point forward because it should be all cached and everything else. I was thinking that was gonna be good. Unfortunately, it doesn't look like that way. So as I kinda rolled that out and get and troubleshooted some of the, you know, the profile, and the authentication refreshing after the fact that because it's basically rendering a logged out page, and I need to basically kinda log you back in once once you're on the client assuming that you have, the token available. I got all that squared away.

02:19 - 02:41

I was looking into it. Stuff still seemed a little bit up, you know. Was like watching these numbers still just kinda go crazy over on the Vercel side. And, so then I threw Cloudflare into it thinking maybe it would shape like capture any sort of like weird bots or denial service or whatever else. I don't have any of the, you know, under attack mode stuff turned on.

02:41 - 03:08

I probably maybe I should turn it on to see what happens, see if some of the stuff falls out. But, but actually the traffic still kinda looks somewhat legit. So I didn't wanna, like, unnecessarily, impact, people visiting the site or whatnot. So I didn't do any of that, but the numbers just weren't going down. If anything, they were going up faster than they were the month before, which obviously was previously $500.

03:08 - 03:32

And so getting into it, it it didn't work. The ISRs, the rights, I like I said, I got 2,000,000. I ended up going 48,000,000 over. So that's a total of 5,000,000 rights that cost me another hundred and $92. The edge request which was, you know, I get 10,000,000 a month.

03:32 - 03:54

I over 49,000,000. So 59,000,000 edge requests, that was another one twenty five. Fast origin traffic, I get 10 or a hundred gigabytes. It went over one terabyte, that was another $60. Now this is where I think my logic of like the ISRs maybe would have played out better if the function duration wasn't so crazy.

03:54 - 04:27

I'm gonna leave that one at the end because that's the real whammy. Basically, ISR reads are $10,000,000 10,000,000 per month. I went over by 25, so a total of 35,000,000, and then it only cost me $10. So I think that's where, you know, if the if I could have figured out what's going on with the function duration and I turned on fluid compute, which Vercel says that that kind of keeps functions warm and lets them do more stuff while they're kind of spun up. Although that doesn't seem like that that did the trick either.

04:27 - 04:48

I turned that on. Actually, I think I maybe I should even have played around with turning it off to see what happens, but it's so hard to kind of figure out where things are ebbing and flowing that, I just I just didn't take the time to do it. But so yeah. So basically, the function duration is the big whammy. It's like $436.

04:50 - 05:25

And that that's only up till like June 3, you know. I mean, I tried to tackle this like relatively early in the month. I mean, it's I guess it's been a couple weeks and that's where it's at. So it basically totaled up to $858, up from my last month's charge of $5.35. You know, I thought I was gonna take that one month on the chin and address it in, the June invoice, but that that doesn't seem to be the case.

05:25 - 05:43

So I, yeah, I ejected. I ended up moving the site over to render. That's actually where I already had the API and the fire hose and everything else set up. So it was a pretty seamless transition over. There were a few things I had to figure out with.

05:43 - 06:17

For some reason, the the site builds and the deploys were sometimes timing out and doing some wacky stuff, so I had to troubleshoot that. Eventually got those figured out. Had to disable an NX daemon that I think that was using too much memory during the the builds or the deploy process. Little funny stuff like that. But again, these are those things that you don't really realize, that you're getting for free when you're deploying on Vercel, because they just make it so easy and they have everything so already, like, pre configured and wired up for next app to be deployed there.

06:17 - 06:56

So that was one lesson learned. I got it I got it all spun up. Then I realized that actually the the ISR stuff, the caching that that is required for that is actually you configured via a cache handler. So you set that up in your next next dot config. And looking into it, I didn't really realize this that the most popular open source library that people are using for the cache handler that also kind of can be configured to use a Redis instance is actually only supports up to Next 14, and I'm at next 15 dot three.

06:56 - 07:17

So unfortunately, that doesn't seem like that's working, once I set that up. I looked into writing my own. I probably am gonna have to get end up going that route. But right now, the site is configured on on render. It is not using the reticence since I so I don't think it's really getting the amount of cache handling and the performance optimizations that I could get there.

07:17 - 07:48

Unfortunately, I'm gonna have to sink some more time and figure out how to button that up. But at least I can sleep a little safer at night knowing that, the site's only gonna cost me well, right now, I have it on a $85 a month plan. I think that's probably a little bit more juiced up than it needs to be. I think once I get the cash handler figured out and the Redis instance, which is costing me another $10. So I'm I'm in $95, for hosting the site over on Render.

07:49 - 08:10

Just for the front end, mind you. So I'm I'm also paying for the API and the fire hose, but actually those things only cost me $7 a month each. They're they're pretty cheap and pretty light. So so yeah, that's just that's just where things are at. So at least I have the, you know, the 8 what was it?

08:10 - 08:34

$8.58 or something like that. I have that down to basically $95, and I think it'll remain there. And if anything, I can get that down to the 25 plan plus the 10, so maybe $35 a month. Again, if I write that cash handler, I will open source that, share it with anyone else who's dealing with these kind of similar issues. But, yeah, that's just what ended up happening.

08:34 - 09:05

You know, it's I was trying to make progress. I was trying to move forward on Sky Lounge. Actually, I mean, I don't think it's that far off, but at the same time, I just there was just there's no way that I could pay any more hosting toward to Vercel for this site that's really not returning much, you know. I think, I wanna keep it up. I don't wanna, like, have to shut this site down prematurely just because it's getting a lot of traffic and costing too much.

09:05 - 09:35

But at the same time, there's just no way I could I could justify keep shelling this stuff out. So I do have a call coming up with Vercel, and I'll share anything that I, find out there as far as how to optimize the site and maybe reduce the number of function the function duration stuff. I don't know. I mean, I don't know what more I could do, other than maybe doing a little bit more of a trade off between the data that is requested server side versus what's maybe requested client side. I've already kind of played around with that stuff.

09:37 - 09:56

So I don't know. It's it's kind of a wild one, but just wanna give you a little quick little update on what's going on, why Skylounge didn't make it out last week, what I've been dealing with with starter packs. Hopefully, some of this stuff was interesting. Hopefully, none of you have to deal with a $800, hosting bill. Or if you do, you're making well beyond that to justify it.

09:57 - 10:13

But that's just where things are at right now with starter packs. So there you go. I'm Ryan Hefner. This is the All Play podcast. I'll be sharing some more stuff as things come up regarding starter packs and Sky Lounge and whatever else I end up working on.

10:13 - 10:18

And, you can find episodes at allplay.fm. So have a great one. Later.

More Episodes

Subscribe to the newsletter

Get updates when new episodes are posted, and other fun stuff that I am into.

Help yourself, while supporting the show

Here are a few services that I use, and highly recommend.

© 2025 — All Play FM + Ryan Hefner

With OSS
All Play on MediumAll Play on Substack