A warm, anonymous sharing space built with Next.js, Tailwind CSS, Supabase, and Framer Motion. The vibe is cozy-bedroom inspired with soft gradients and glows. Users can sign in anonymously, share images + captions, and visit the Comfort Corner for breathing exercises.
-
Install dependencies:
pnpm install # or npm install / yarn install -
Copy the environment file and set your Supabase project credentials:
cp .env.example .env.local # fill in NEXT_PUBLIC_SUPABASE_URL and NEXT_PUBLIC_SUPABASE_ANON_KEY -
Configure Supabase:
- Create a storage bucket named
images(public). Configure storage rules to disallow graphic self-harm imagery uploads if desired through manual moderation. - Run the SQL in
supabase-schema.sqlusing the Supabase SQL editor. - Enable anonymous sign-in (Experimental) in Supabase Auth settings.
- Create a storage bucket named
-
Run the development server:
npm run dev
- Before posting, captions are scanned for sensitive words. If detected, a gentle modal checks in with the user, offering the Comfort Corner.
- Graphic self-harm imagery is disallowed through moderation guidelines; the app intentionally promotes soft, aesthetic content only.
app/— Next.js App Router pages and componentsapp/components— Reusable UI elements, cards, and modalslib/— Supabase client helpers and shared utilitiespublic/— Static assets (currently empty)
- Tailwind configuration uses warm browns, blush pinks, and cream accents.
- Components rely on glassmorphism with blur, rounded-3xl corners, and glow shadows.
| column | type | notes |
|---|---|---|
id |
uuid |
primary key |
user_id |
uuid |
Supabase auth user ID |
image_url |
text |
public URL to Supabase Storage image |
caption |
text |
warm caption text |
created_at |
timestamp |
defaults to now() in UTC |
Feel free to expand with reactions, playlists, or journaling prompts.