LinkNest is a second-brain web app that helps you save, organize, and revisit content from your favorite platforms like YouTube, Twitter, Medium, LinkedIn, Dev.to, and more.

- 🎯 Save content from multiple platforms
- 🔍 Filter by platform (YouTube, Twitter, Medium, etc.)
- 🧠 Search by title instantly
- 📌 Pin content (coming soon!)
- ✏️ Edit titles of saved content (coming soon!)
- 🗂 Organize your knowledge in a beautiful card layout
- 🌗 Fully responsive with dark mode
- 🛡️ JWT Auth & secure backend
- ⚡ Smooth user experience with React + Tailwind + Vite

Frontend | Backend | Styling | Other |
---|---|---|---|
React (Vite) | Node.js (Express) | Tailwind CSS | MongoDB |
TypeScript | JWT Auth | ShadCN UI | Render (Backend hosting) |
React Router | Axios | Dark Mode | Vercel (Frontend hosting) |
- Node.js (v16 or higher)
- MongoDB (local installation or MongoDB Atlas account)
- Git
git clone https://github.com/ayushsoni02/LinkNest.git
cd LinkNest
# Navigate to backend directory
cd MindVault-BE
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env
# Edit .env file with your actual values (see Environment Variables section below)
# Build and start the backend
npm run dev
# Open a new terminal and navigate to frontend directory
cd MindVault-FE
# Install dependencies
npm install
npm run dev
### 4. Environment Variables
The backend requires several environment variables to function properly. Copy the `.env.example` file to `.env` in the `MindVault-BE` directory and update the following values:
```bash
# Database - Replace with your MongoDB connection string
MONGO_URL=mongodb://localhost:27017/linknest
# JWT Secret - Use a secure random string (minimum 32 characters)
JWT_PASSWORD=your_secure_jwt_secret_here
# Application Settings
NODE_ENV=development
PORT=3000
FRONTEND_URL=http://localhost:5173
cd MindVault-BE
cp .env.example .env
# Generate a secure JWT secret using Node.js
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
# Then edit .env with your preferred text editor
nano .env # or code .env for VS Code
- Install MongoDB locally
- Start MongoDB service
- Use connection string:
mongodb://localhost:27017/linknest
- Create account at MongoDB Atlas
- Create a new cluster
- Get connection string and replace in
.env
- Frontend: http://localhost:5173
- Backend API: http://localhost:3000
# Terminal 1 - Backend
cd MindVault-BE
npm install
cp .env.example .env # Don't forget to edit this!
npm run dev
# Terminal 2 - Frontend
cd MindVault-FE
npm install
npm run dev
- Never commit
.env
files to version control - Use a strong, unique
JWT_PASSWORD
(minimum 32 characters) - Generate secure JWT secret:
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
- In production, use MongoDB Atlas with proper authentication
Backend won't start:
- ✅ Check if MongoDB is running (local) or connection string is correct (Atlas)
- ✅ Verify all required environment variables are set in
.env
- ✅ Make sure you copied
.env.example
to.env
CORS errors:
- ✅ Check
FRONTEND_URL
matches your frontend development server - ✅ Default is
http://localhost:5173
for Vite
JWT errors:
- ✅ Ensure
JWT_PASSWORD
is set and secure - ✅ Clear browser localStorage/cookies if needed