![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
- 🎯 5-Digit Code Sharing – Unique codes for instant text sharing
- ⏰ Auto-Expiration – Self-destruct after 1 hour
- 🌐 Cross-Device Access – Seamless sharing across devices
- 🔗 Direct URL Sharing – Share via direct links or QR codes
- ✏️ Collaborative Editing – Edit shared texts in real-time
- 📱 Responsive Design – Works perfectly on all screens
- 🔒 Automatic Cleanup – Secure, time-based deletion
- 🚫 No Registration Required – Full anonymity
- ⚡ Real-Time Expiration – Countdown timer
- 🗑️ Self-Destructing Texts – Completely gone after expiry
- 🌙 Dark Theme – Elegant interface with subtle grids
- ⚡ Fast & Optimized – Speed-focused design
- 📋 One-Click Copy – Copy code or URL in a click
- 🔄 Live Sync – Instantly reflects updates
1. Go to /send → Write your text → Get code `ABC12` 2. Share `ABC12` or use URL `https://yourdomain.com/receive?code=ABC12` 3. Others visit /receive and use code `ABC12` to access 4. Edit together in real-time - Node.js 18+
- npm or yarn
- Supabase account (free tier is fine)
git clone https://github.com/akshitsutharr/quicktext.git cd quicktextnpm install # or yarn installCreate .env.local:
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_keyIn Supabase SQL Editor, run:
CREATE TABLE IF NOT EXISTS shared_texts ( id UUID DEFAULT gen_random_uuid() PRIMARY KEY, code VARCHAR(5) NOT NULL UNIQUE, content TEXT NOT NULL, created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(), expires_at TIMESTAMP WITH TIME ZONE NOT NULL ); CREATE INDEX IF NOT EXISTS idx_shared_texts_code ON shared_texts(code); CREATE INDEX IF NOT EXISTS idx_shared_texts_expires_at ON shared_texts(expires_at); ALTER TABLE shared_texts ENABLE ROW LEVEL SECURITY; CREATE POLICY "Allow all operations" ON shared_texts FOR ALL USING (true); CREATE OR REPLACE FUNCTION cleanup_expired_texts() RETURNS void AS $$ BEGIN DELETE FROM shared_texts WHERE expires_at < NOW(); END; $$ LANGUAGE plpgsql;npm run dev # or yarn devVisit http://localhost:3000 🎉
- Visit
/send - Write or paste text
- Click "Create Share"
- Share the code or link
- Visit
/receive - Enter 5-digit code
- View, edit, and sync text
https://yourdomain.com/receive?code=ABC12 const code = await shareText("Hello"); // returns "ABC12"const text = await getSharedText("ABC12");await updateSharedText("ABC12", "Updated content");const stats = await getTextStats("ABC12");- Frontend: Next.js 14 + React + TypeScript
- Styling: Tailwind CSS + shadcn/ui
- Backend: Supabase (PostgreSQL)
- Deployment: Vercel
quicktext/ ├── app/ │ ├── send/ │ ├── receive/ │ └── layout.tsx ├── components/ui/ ├── lib/supabase.ts ├── scripts/create-tables.sql └── README.md npm i -g vercel vercelSet environment variables:
NEXT_PUBLIC_SUPABASE_URL=... NEXT_PUBLIC_SUPABASE_ANON_KEY=...- Netlify
- Railway
- DigitalOcean
expiresAt.setHours(expiresAt.getHours() + 24);for (let i = 0; i < 6; i++) { ... }npm testgit clone https://github.com/akshitsuthar/quicktext.git cd quicktext git checkout -b feature/amazing-feature- Make changes
- Add tests
- Commit & PR
MIT - LICENSE
- Supabase
- Vercel
- TailwindCSS
- shadcn/ui





