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!

Clarifying the Vision: From Onboarding Tool to Real-Time Setup Guidance for SaaS Teams

Today was messy in the best way.

šŸš€ Prototype is now 90% there. Spent most of the morning polishing UI edges from yesterday's feedback—lots of little tooltip tweaks and color alignment. Amazing how something as tiny as a shadow can make a whole flow feel cheap.

šŸ” Supabase auth temporarily turned into The Boss Level of the day. Error logs weren’t helpful, had to roll back a change that borked token refresh across flows. Eventually figured it out: I misunderstood part of Supabase's RLS syntax. Shocking, I know.

šŸ’” Midday win: We had a working session with our product advisor. Big takeaway? Focus even narrower. So now instead of ā€œtech teams during onboarding,ā€ we’re zoning in on 5–15 person SaaS teams constantly tweaking stuff in the first few weeks of growth. It hurts a bit to drop broader dreams, but this makes us sharper.

🧭 Tried the new value prop line in outreach:

ā€œSetup guidance that adapts to your stack.ā€
…and it has legs. Got two responses from Indie Hackers who didn’t just say ā€œcoolā€ but actually asked a follow-up. That counts as a micro win right now.

šŸž Almost lost an hour fixing a nav bug that could’ve destroyed the usability test next week. Better now than live, I guess.

šŸ› ļø Backend progress making me cautiously optimistic. Real-time updates between users held up in limited testing. Syncing feels snappy. Supabase, I love you until your docs betray me again.

What I Learned Today:
How to not screw up Supabase Row-Level Security (RLS) early on

  1. Don’t rely on default policies. They’re too open.
  2. Create a current_user_id() Postgres function—super useful for RLS filters.
  3. Write policies per table, not one-size-fits-all.
  4. Test your policies using Supabase’s Auth UI as the actual user, not just via SQL.
  5. Keep a staging mode with logging enabled so you can see why a query was denied (lifesaver).

šŸ”® Tomorrow, we prep for usability tests. I’m weirdly excited. Mostly because users might finally validate whether what we’re building actually matters.

Now off to nervously refresh my inbox 10 more times.

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