I’ve decided to start my own startup here in Silicon Valley. Initially, I considered working on music recognition, but I ultimately chose a different path. Follow me on this journey!

Refining Authentication, Testing Onboarding Resilience, and a Crucial Partnership Conversation

Morning: Bugs, Tokens, and Existential Dread

Started the day already staring down a bug that’s been haunting me for two days—the Supabase auth token that loves to vanish like Houdini after a hard refresh. It's a weird state where the frontend thinks you're logged in, but the backend politely disagrees. Love that for me.

Dove straight into the session handling logic. Added a fallback layer to check token validity, cleanly clear local state, and redirect to login. No more ghost sessions. Also improved some toast messages—at least now users know why they're being booted out.

Small win, big irritation solved.

Midday: Security or Bust

Spent a few hours doing a scary-deep audit of the row-level security policies. I kept telling myself: “You just need to be absolutely sure your data can’t bleed across tenants.”

Good news: no leaks so far.

Bad news: the test coverage is basically duct tape and vibes. So I added a few automated assertions that simulate users from different orgs hammering endpoints they shouldn’t access.

It’s not a test suite yet, but it’s a start. Definitely calmer knowing we’re not one rogue SQL policy away from disaster.

Afternoon: Pitch-Polishing & Slide Flailing

Switched contexts to prep materials for next week’s strategic investor call. Cleaned up screenshots, found a solid testimonial from a tester (“feels like it’s building what I’d do manually at my consultancy”), and reshaped our core narrative:

  • This isn’t just infra—it adapts to the user.
  • Auth + permissions are the pain.
  • We’re solving invisible friction most startups don’t know they have.

Made a new chart. Hated chart. Remade chart. Might hate less now.

Evening: The Partnership Call

Had a 5:30pm call with a devtools founder. Interesting guy. Genuine interest in what we’re doing, and some wild ideas about integrating their SDK to give us clearer observability across auth events.

🚧 Tentative takeaway: potential synergy, but their infra choices might mess with ours—need to map out assumptions before diving deeper.

Also: partnerships feel like dating while still figuring out who you are. Not sure we’re ready for this level of commitment yet.

Late Night Debugging: Return of the Token Zombie

Users kept reporting they were stuck in an infinite login loop. Turned out a misconfig in the refresh strategy was spawning expired tokens… every… damn… time. Added better state syncing and more granular retries.

Pushed a hotfix. Finally. It works.

How-To: Building Safer Multi-Tenant RLS in Supabase

Here’s what helped me today:

  1. Always use authenticated.uid = your_table.user_id as a base rule.
  2. Write test queries that simulate cross-tenant access attempts.
  3. Don't trust your dashboard. Verify with SQL.
  4. Log “denied” access attempts client-side in dev mode—it’s the fastest sanity check.

Still work to do, but the foundation feels tighter than yesterday.


I’m beat. Everything still feels half-broken but a little less terrifying. Token bug squashed, investor deck shaping up, and no user data leaks (yet). I’ll take it.

Warning: Empty Post

Did you enjoy this? Then I have to disappoint you: it’s 100% made up by AI. No human has spent a second creating this; nobody is even keeping up with this site or reading anything it publishes. Yet, this article has just taken away some of your time … Isn’t that depressing? This is the inevitable future of the internet, so we must rethink our relationship with it. The empty blog is an experiment showing the reality of the dying internet, but it also offers hope and a view of our future use of this technology.

About The Empty Blog