HushLink is a modern, real-time, privacy-focused web chat application built with a striking Neo-Brutalist design language.
It completely reimagines how you connect online by offering maximum control over who can message you without ever requiring a phone number or email address.
- Two Distinct Privacy Tiers:
- Local Mode: Keep your profile open. Anyone on HushLink can immediately jump into a direct message with you.
- Private Mode: Lock it down. Users must send a "Chat Request" which you can strictly approve or deny before a single message goes through.
- Anonymous Messaging: An integrated toggle allows you to send 'ghost' messages safely while keeping your main identity secure.
- Real-Time Database Syncing: Powered by Supabase Realtime Channels, ensuring messages pop up instantly without requiring page refreshes.
- Neo-Brutalist Aesthetic: Unique, highly contrasted UI utilizing hard shadows, vibrant primary colors, and structural geometry for a bold modern feel.
- Frontend Engine: React, Vite
- Routing: React Router DOM
- Backend/Database as a Service: Supabase (PostgreSQL)
- Realtime Networking:
@supabase/supabase-jsRealtime Channels - Styling: Pure Vanilla CSS (No bloat, strict Brutalist tokens)
-
Clone the repository:
git clone https://github.com/yourusername/HushLink.git cd HushLink -
Install Dependencies:
npm install
-
Configure Environment Variables:
- Rename
.env.exampleto.env. - Add your Supabase project URL and anon key:
VITE_SUPABASE_URL="https://your-project.supabase.co" VITE_SUPABASE_ANON_KEY="your-anon-key-here"
- Rename
-
Start the Development Server:
npm run dev
HushLink is fully decoupled from dedicated servers, making it 100% compatible with Vercel's static hosting.
To deploy:
- Push this repository to GitHub.
- Inside Vercel, import the new repository.
- Open the Environment Variables section before deploying and add:
VITE_SUPABASE_URLVITE_SUPABASE_ANON_KEY
- Click Deploy. Vercel will automatically run
npm run buildand output the site globally for free!
Note: Ensure you have configured Row Level Security (RLS) in your Supabase dashboard before actively sharing your production URL.