Skip to main content

Key Concepts

Before diving into the codebase, familiarize yourself with these core concepts.

Intent System​

Unlike traditional social media where users just "post," CommonPlace requires users to declare their intent before sharing. This creates mindful posting rather than impulse sharing.

Available Intents (defined in src/lib/constants/intents.js):

KeyLabelDescription
thinking_out_loudThinking AloudProcessing thoughts out loud. Not necessarily looking for solutions.
open_to_discussionInvite to DiscussThe author welcomes different perspectives on this.
sharing_personalPersonal ShareSomething personal. Handle with care.
asking_for_helpAsking for HelpLooking for advice, support, or practical help.
just_for_funJust for FunLighthearted -- just sharing for the joy of it.
sharing_informationOffering ResourceSharing something useful -- an article, tool, idea, or recommendation.

The intent affects post styling and helps friends understand the poster's context before responding.

HomeRoom​

Each user has a HomeRoom — their personal space in CommonPlace. Think of it as a profile page that feels more like a room you're visiting than a profile you're viewing.

HomeRooms can be customized with:

  • Color themes
  • Modules (customizable content blocks)
  • Featured content

Circles​

Circles are friend groupings that allow selective sharing. Instead of sharing with all friends or making content public, users can share with specific circles.

  • Work Friends
  • Close Friends
  • Family
  • etc.

MeBook​

The MeBook is a personal narrative feature where users can share deeper information about themselves through guided prompts. It's designed for genuine self-expression rather than performance.

Relationship Types​

CommonPlace allows nuanced relationship types beyond simple "friend" status:

  • Friend (default)
  • Close Friend
  • Family
  • Acquaintance
  • Custom types

These affect visibility and sharing defaults.

Voice Narration​

Posts can include voice narration — audio recordings that accompany written content. This adds a personal touch without the performance pressure of video.

Block = Disappear​

When users block each other, they completely disappear from each other's experience. No "you've been blocked" messages — just 404 errors as if they don't exist.

Rate Limiting​

To prevent spam and encourage thoughtful posting, CommonPlace implements rate limiting on various actions. Users have daily/hourly limits based on their account tier.

Row Level Security (RLS)​

All database access is controlled by RLS policies in PostgreSQL. This means security is enforced at the database level, not just the application level.


Last updated: 2026-02-07