The Web Stack for BeingSaid

Recently I built a single-feature SaaS product from scratch called BeingSaid. It’s a different kind of search tool, made to search the internet for articles like the one you’re writing. I find it useful; if you do too, I’d love to hear about it (support at trybeingsaid dot com).

It’s the second single-feature SaaS tool I’ve set up since Claude Code broke onto the scene. The first time, I was focused on understanding whether vibe coding could work. It was early days, and that was still an open question. This time, I was more focused on getting my web application stack defined. For years my “hobby” projects have had no backends or data layers, not to mention payments or auth, mostly because the work to set them up isn’t that fun and I wasn’t trying to sell a product. I was just building.

But “just building” wasn’t the whole story. I have a few side projects that are “could have been” companies, except that I didn’t have the energy to do full-stack development at 10pm week in and week out to put the parts of the stack I didn’t really care about into place. With this project I wanted to get a rep in on what going from zero to one looked like. Here is where I have landed.

Hosting: Vercel

Maybe the most revolutionary thing in web applications in the last handful of years is how much hosting companies like Vercel have changed what it means to ship a product. That might seem like a strange thing to say right after praising Claude Code, but I’m pretty sure the impact of tools like Claude Code on hobbyists and small businesses wouldn’t be close to the same without companies like Vercel. A standardized pipeline that takes your GitHub repo and puts it on the internet is key to lowering the cost of code because code that isn’t deployed doesn’t really matter. Ever a few years ago, getting this setup well was pretty hard. Vercel has made it dead simple.

For trybeingsaid.com I used Vercel for backend compute, CI/CD, static site serving, and domain registration. I didn’t use them for analytics or blob storage.

Data: Supabase

While Vercel is great for deploying, it puts the data layer support onto its marketplace partners.

For trybeingsaid.com I have two data storage needs. The first is a basic database to store users, search records, and payment records. The second is blob storage to hold the search input terms. We’ll see if I keep blob storage long term (I mostly have it right now to A/B test prompt changes).

In the past I went with Supabase for the database and Vercel for blob storage, but I’m liking the clean separation I get from using Supabase for the whole data layer.

Auth: Google

Auth sucks. I say that having spent many years of my life owning auth problems for a few different companies. It’s also work that Google is making so easy. Personally, I feel like this is an understated advancement from Google. The fact that I added auth to trybeingsaid.com with ZERO backend integration to Google, and it’s secure, is amazing. Google’s auth products wouldn’t be possible without the hard work of standards folk, so many the real praise should go to them; Google has just done a good job of making the OAuth and JWT specs work great for app builders.

For trybeingsaid.com, all I need is the email address and name, which are basic claims Google shares, so there’s no need for the user to give me access to more data. This means my auth integration is as easy as getting a JWT back from an SDK google ships and validating it against Google’s certs. The fact that Claude Code just knew this and fixed it, even when the first attempt was blocked by Brave, is great.

Payments: Stripe

Accepting payments is more or less the definition of a hobby project leaving the amateur space and becoming professional. Integrating Stripe is something I’ve long stayed away from because the tools are complex. Stripe makes integrating easy (I use them as an example of how payment integrations should work all the time), but their docs and examples never end, which makes knowing what to do time consuming. Claude really steps up here and more or less resolved all of these questions with zero need for a deep review from me.

Analytics: PostHog

Analytics is a space I’ve stayed away from for a long time. Years ago, a friend mentioned that his personal website didn’t have analytics on it because he thought that helped him write more honestly. I jived with that a bunch and took all the analytics out of my personal projects. But when a project starts to get semi-pro, I feel like you need these tools. This time I picked PostHog.

I’m not convinced I’d pick PostHog next time, as it’s hard to parse its UI with its many features. I get how it could be good for a fully fledged web product, but for a solo creator working on something on the side, it’s a bit much. At the same time, their use of AI in the product almost makes up for this, basically becoming a personalized onboarding buddy. When I do my next project with analytics, I’ll probably make the call on whether to stay with PostHog based on how much the simpler options have caught up on AI integration.

Email: ImprovMX w/ Google Send As

To do auth with Google, you need to put an email address everyone can see. I didn’t want that to be my personal email address, and at the same time, the cost of Google Business accounts is crazy. I ended up settling on ImprovMX for email forwarding and using Gmail’s Send As feature to turn my personal inbox into an omni-inbox.

While I like where I landed solution-wise, setting this up was the hardest part. I first had to modify the DNS records so ImprovMX could receive email sent to @trybeingsaid.com. I then had to create a Google Workspace for a non-Google email account that included a Google Group with this name, so that I could add my personal email to the group and have the group show up in the Google auth configuration settings.

Just trying to write them and have it make sense was hard. This was a place where Claude CoWork really helped. I used it to research how to do each step and used those steps to get email setup.

Conclusion

All in all, I’m pretty happy with this stack. I’m looking to make a few more of these simple SaaS products soon, and I suspect many of the same services will get my business again, as they’re all working together pretty well.