Skip to content

Message Board App Community & Knowledge

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 message board with voting and category filters
Year
2024
Scope
React + Supabase · Real-Time Subscriptions · React Router
Stack
Learning Project · Full-Stack · React

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.

Next case study React To-Do List
Read next

Building something AI-first? Let's talk.

GEO/AIO strategy, MCP and agentic architecture, marketing-engineering ops. Or just say hi.