Forgot Password, Shorts Part 2, and 9-5

The Weekly Variable

Strap in, lots to cover on this fine July 4th holiday.

Topics for this week:

Forgot Password?

Last week, during a quick review of Wave, I realized that the “Forgot password?” link didn’t work at all on.

That’s a bit of a problem.

I thought it super minimally linked to a page that said something like “please email us for help” but it didn’t even do that.

At some point I changed navigation handling in the app so it wouldn’t allow the user to go to that page anymore.

I also thought I could kick-off a password reset for someone in Supabase, but turns out I couldn’t do that either, only the user can use the reset password process, which is smart.

But the next problem is Supabase’s default email system only supports 2 emails an hour which is serviceable for getting started but then you don’t want to be the 3rd person that tries to reset your password that hour.

To be safe, I decided it made sense to setup Amazon’s Simple Email System (SES) to get us a few more than 2 emails an hour.

Surprisingly it wasn’t too painful of a process, only took about 2 days.

Amazon provides all the DNS records it needed to verify and use your domain, and with a little GPT debugging to get the Amazon records to match up with Squarespace’s expectations, I was able to send a test email from thewavenightlife.com.

Next I added the code for Supabase’s password reset flow, where the user would submit their email and get a link to reset their password.

But turns out you need to have a publicly hosted apple-app-site-association (AASA) file to tell Apple that the link in the email is for your app and it’s ok to open.

Gemini Pro made it sound like it was easy enough to host that file on the thewavenightlife.com domain as well, but I had a feeling it wouldn’t be that straightforward.

It’s never straightforward.

Pushing back on that idea, luckily Gemini also pointed out I could use an OTP, one time password code reset system instead where the user is emailed the code, and they enter the code from the email in the app to prove they are allowed to reset the password.

Of course, this also involved needed an external source, similar to the AASA approach, but this just needed an API call to Supabase, so I could easily add another endpoint to my existing services in Lambda.

Rather stick with the microservice devil I know, than the file-hosting devil I don’t know.

New Password Reset Code screen

With a quick update and readjustment to the Reset Password page to accept a code instead, I finally had a way for users to properly reset their password whenever they would like.

And tweaked the Password Reset email template to not be flagged as spam.

Nice email styling from Gemini Pro

Felt good to get the entire process running because I knew it wouldn’t be super simple, but it went better than I expected.

Makes me really respect anyone that runs an email based services like Beehiiv, emailing is not an easy process.

And now we can handle users forgetting their password considerably more than 2 times per hour.

Made by divs.design

While waiting for some of the SES settings to propagate, I also added a new site to the divs.design portfolio.

My mom’s website for Lisa Peters Books was due for an upgrade from Wix.

Wix is great to get started and build something simple, but I was not enjoying the process of occasionally updating it.

I might have too high of expectations after getting comfortable with Webflow, but I kept finding anything I needed to do in Wix to be more tedious than it needed to be.

I’m sure that’s partially my fault for learning on the fly and not properly refactoring the page to work a little better within Wix, but since we were nearing the annual subscription renewal, it seemed like the perfect opportunity to migrate instead.

With a good jumpstart from Relume.io, I published the new version of lisapetersbooks.com now hosted by Webflow.

And this is the first website in the portfolio to fix something I had missed in the past.

A friend pointed out I wasn’t following a simple marketing tactic.

Made by divs.design in the footer

I had a feeling this wouldn’t be a problem but I got verbal approval just to be sure.

So I shamelessly added the plug “Made by divs.design” to the footer.

Now just need to add it to a few other websites…

Views Per Hour

I checked my subscriber count when I opened this newsletter template, and by the time I got sidetracked and came back to write this section, I’ve already gained 11 subscribers.

Seems like growth is still going well, even with one video per week right now.

I’m planning to drop another video next week, maybe sooner if the opportunity comes up, but in the meantime I’ve been doing a little tweaking.

It’s not showing up right not for me for some reason, but vidiq has a Views Per Hour stat that sometimes shows up on my content dashboard page.

For some reason that stat really clicked for me to see how videos are performing in realtime (estimated anyway).

I noticed I have 2 Whisper videos that are really similar in content, one using n8n and whisper in the cloud versus running it locally on your machine, but they had drastically different view counts and VPH.

I tweaked the lower performing one to have a similar title to the higher performing video and the next day the views per hour jumped from 0.8 to 2.

It seems like this VPH is a best estimate so not 100% accurate, but cool to see a spike in views with a minor change to a title.

More work to do in YouTube optimizing in the future, however the primary goal for now is get uploads first, then optimize later.

Like continuing this automatic shorts series…

Automatic Shorts - Part 2

On Tuesday, I released part 2 of this live build series about turning YouTube videos into Shorts (or basically mobile format).

It went pretty well, coming in right at about 50 minutes again to go over the process of trying to reformat 16:9 video into 9:16, and also pulling out the camera feed separately so it can be at the bottom of the clip.

Ultimately the clips aren’t great, but some could be usable.

The goal really is to show how to build something that could create useful clips.

Like I mentioned in the video, it’s really difficult to automate meaningful clips this way because the content is so subjective.

You need a way to look at the full horizontal video and dynamically figure out what parts can be zoomed in on to show in a mobile format.

But it might be as simple as adding some subtitles to the top of the clip so the content feels a little more valuable even it’s really showing essentially B-roll.

I was pleased with the result and the video is doing pretty well so far.

Looking forward to wrapping up part 3 of the series next week.

Let me know what you think if you end up checking it out!

Back to the 9-5

I wrote about a time-blocked schedule back in January, but somehow that idea seems to always sneak away from me.

I drift between “monk mode” where I’m working 10 to 12 hour days on Wave to get it “done” which usually then leads to reverting back to “2 hours is good enough” days for a stretch as recovery and being overly grateful that my schedule is completely my own.

Last week I recognized the pattern again so I decided to get back to it.

My own 9-5 grind.

And this week was really good.

I felt able to balance multiple projects much better than the overwhelm of trying to “finish” one so I can move on to the next.

Also realized most of these things I’m working on won’t be finished.

They’re products, not projects.

Projects have an end date, products have a lifetime.

I’ll have to allocate time for each product so they can all slowly grow together.

I’m sure a few will wind down and things always change, but a solid block of 9-5 should leave plenty of time to manage a few products.

Just like it used to be when I had a job.

Two years of working on my own to finally start learning lessons from 11 years of working for someone else.

It’s making more sense for now anyway.

We’ll see how week 2 of the new 9-5 grind is on Monday.

And that’s it for this week! Password reset emails, a new website, more automatic shorts, and back to the 9-5.

Those are the links that stuck with me throughout the week and a glimpse into what I personally worked on.

If you want to start a newsletter like this on beehiiv and support me in the process, here’s my referral link: https://www.beehiiv.com/?via=jay-peters. Otherwise, let me know what you think at @jaypetersdotdev or email [email protected], I’d love to hear your feedback. Thanks for reading!