Skip to content
Riley Sklar
Back to case studies

Real-Time Supabase Build

Message Board App

A real-time fact-sharing message board — React + Supabase auth + Supabase Postgres with subscriptions — built to learn how real-time multi-user state actually works.

React + Supabase Real-Time Subscriptions React Router
React + Supabase message board with voting and category filters

Visit the live web app

What I learned

Real-time apps look magical until you build one — then you realize it’s just a websocket subscription and a server that knows how to broadcast row changes. Supabase made that trivial enough that I could focus on the UX of optimistic updates: making the UI feel instant even when the database hasn’t confirmed yet.

I also got my first practical taste of useContext for sharing state across deeply-nested components without prop-drilling — and learned when not to reach for it.

What I did

  • Built a fact-sharing message board: users submit facts, upvote/downvote based on perceived truthfulness, cite sources, and filter by category.
  • Wired Supabase auth for login + per-user contribution attribution.
  • Used Supabase real-time subscriptions to push live updates to all connected clients.
  • Implemented optimistic UI updates so votes and submissions appear instantly.
  • Added React Router for category and view navigation.

What I shipped

A live multi-user message board at https://shakewell-didyouknow.netlify.app/ — and a concrete grasp of how real-time apps actually work under the hood.

Get in touch

Building something AI-first?

I'm open to chat about the intersection of AI and web growth — GEO/AIO strategy, MCP and agentic architecture, marketing-engineering ops. Otherwise, just say hi.