A modern Linktree clone built with Next.js that allows users to create their own customizable link-in-bio pages. This project replicates core Linktree functionality with a beautiful, premium UI and essential features for managing and sharing multiple links through a single URL.
-
🔐 User Authentication
- Complete signup/login system with JWT authentication
- Secure password hashing with bcryptjs
- Protected routes and session management
- Password reset functionality
-
🎨 Beautiful Landing Page
- Premium, Linktree-inspired design
- Responsive hero section with animations
- Multiple feature sections highlighting customization, sharing, and analytics
- FAQ section with interactive elements
- Trust indicators and call-to-action sections
- Fully responsive footer with app store badges
-
⚙️ Admin Dashboard
- Clean, intuitive interface for managing links
- Add, edit, and delete link collections
- Live preview of profile (phone mockup)
- Profile information display (username, bio, avatar)
- Toggle link visibility (active/inactive)
- Icon selection for different link types (Instagram, WhatsApp, TikTok, YouTube, etc.)
- Modern sidebar navigation
-
👤 Public User Profiles
- Dynamic route-based user pages (
/[username]) - Display user's active links and profile information
- Clean, mobile-friendly interface
- Share profile via unique username URL
- Dynamic route-based user pages (
-
📱 Responsive Design
- Mobile-first approach
- Works seamlessly across all device sizes
- Tailwind CSS for modern, utility-first styling
-
Analytics Dashboard
- Click tracking is not fully implemented
- No real-time analytics display
- User engagement metrics are missing
-
Drag & Drop Reordering
- UI elements are present but functionality is buggy
- Links don't properly reorder after drag-and-drop
- Need to implement proper state management for reordering
-
QR Code Generation
- Feature mentioned in UI but not implemented
- No QR code generation for profile URLs
-
Advanced Profile Customization
- Limited theme options (no color picker)
- No background image upload
- No custom fonts or advanced styling options
-
Social Media Integration
- No actual social media API connections
- Icons are decorative only
-
Image Upload
- No profile picture upload functionality
- Using placeholders instead
- Form validation could be more robust
- Some edge cases in authentication flow
- Mobile navigation could be smoother
- Database connection errors not always handled gracefully
- Framework: Next.js 16.1.1 (App Router)
- Frontend: React 19.2.3
- Styling: Tailwind CSS 4
- Database: MongoDB (via Mongoose)
- Authentication: JWT (jsonwebtoken) + bcryptjs
- HTTP Client: Axios
- Notifications: react-hot-toast
- Icons: react-icons
- Node Version: 18+ recommended
- Node.js 18 or higher
- MongoDB database (local or cloud)
- npm, yarn, pnpm, or bun package manager
-
Clone the repository
git clone <repository-url> cd linktree-clone
-
Install dependencies
npm install # or yarn install # or pnpm install
-
Set up environment variables
Create a
.env.localfile in the root directory:MONGODB_URI=your_mongodb_connection_string JWT_SECRET=your_secret_key_here NEXT_PUBLIC_HOST=http://localhost:3000
-
Run the development server
npm run dev # or yarn dev # or pnpm dev # or bun dev
-
Open your browser
Navigate to http://localhost:3000
linktree-clone/
├── src/
│ ├── app/
│ │ ├── (auth)/ # Authentication pages
│ │ │ ├── login/
│ │ │ ├── signup/
│ │ │ └── forgot/
│ │ ├── (dashboard)/ # Protected admin area
│ │ │ ├── admin/ # Main dashboard
│ │ │ └── AdminSidebar.js
│ │ ├── (main)/ # Landing page
│ │ ├── (public)/ # Public user profiles
│ │ │ └── [username]/
│ │ ├── api/ # API routes
│ │ │ └── users/
│ │ ├── models/ # MongoDB models
│ │ └── helpers/ # Utility functions
│ └── lib/ # Database connection
├── public/ # Static assets
└── README.md
-
Create an Account
- Navigate to
/signup - Enter your details and create an account
- Navigate to
-
Set Up Your Profile
- Go to the admin dashboard
- Add your bio and profile information
- Add links with titles and URLs
- Toggle link visibility
-
Share Your Profile
- Your profile is accessible at
/[your-username] - Share this link on your social media
- Your profile is accessible at
- Implement full analytics dashboard
- Fix drag-and-drop reordering
- Add QR code generation
- Implement profile picture upload
- Add theme customization (colors, fonts)
- Email verification
- Social media OAuth login
- Premium features (scheduling, custom domains)
- Better error handling and validation
- Link click tracking
- SEO optimization for public profiles
Contributions, issues, and feature requests are welcome! Feel free to check the issues page if you want to contribute.
This project is open source and available for educational purposes.
- Inspired by Linktree
- Built as a learning project to understand Next.js App Router, MongoDB, and modern web development practices
Feel free to reach out if you have any questions or suggestions!
Note: This is a learning project and not affiliated with Linktree in any way.
