Free, ultra-clean background removal with a modern, minimal UI.
A modern, AI-powered background removal tool that instantly removes backgrounds from images. Built with Next.js, Supabase, and Remove.bg API.
- 🎯 AI-Powered Removal - Instant background removal using Remove.bg API
- ☁️ Cloud Storage - Save processed images to Supabase Storage
- 📱 Fully Responsive - Works seamlessly on all devices
- 🔐 User Authentication - Secure Google OAuth integration
- 📊 Usage Tracking - Free tier with 2 removals per user
- 📜 Image History - View and manage your processed images
- 🎨 Modern UI - Clean interface built with shadcn/ui and Tailwind CSS
Visit imglift.online to try it out!
- Framework: Next.js 16 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: shadcn/ui
- Backend: Supabase (Auth, Storage, Database)
- Background Removal: Remove.bg API
- Icons: Lucide React
- Node.js 18+ installed
- npm or yarn
- Remove.bg API key (Get one here)
- Supabase account (Sign up here)
-
Clone the repository
git clone https://github.com/pratik20gb/imglift.git cd imglift -
Install dependencies
npm install
-
Set up environment variables
Create a
.env.localfile in the root directory:# Remove.bg API REMOVEBG_API_KEY=your_removebg_api_key_here # Supabase Configuration NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key
-
Set up Supabase
- Create a new Supabase project
- Create the following tables:
removal_usage- Tracks user removal limitssite_visits- Tracks website visitsimage_history- Stores user image history
- Create a storage bucket named
processed-images - Configure Row Level Security (RLS) policies
-
Run the development server
npm run dev
-
Open your browser
Navigate to http://localhost:3000
imglift/
├── app/
│ ├── api/ # API routes
│ │ ├── remove-bg/ # Background removal endpoint
│ │ ├── save-image/ # Image storage endpoint
│ │ ├── history/ # Image history endpoint
│ │ └── ...
│ ├── auth/ # Authentication pages
│ ├── history/ # Image history page
│ └── page.tsx # Main application page
├── components/ # React components
│ └── ui/ # shadcn/ui components
├── lib/ # Utility functions
│ ├── supabase.ts # Client-side Supabase client
│ └── supabase-server.ts # Server-side Supabase client
└── public/ # Static assets
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLint
| Variable | Description | Required |
|---|---|---|
REMOVEBG_API_KEY |
Remove.bg API key | Yes |
NEXT_PUBLIC_SUPABASE_URL |
Supabase project URL | Yes |
NEXT_PUBLIC_SUPABASE_ANON_KEY |
Supabase anon key | Yes |
SUPABASE_SERVICE_ROLE_KEY |
Supabase service role key | Yes |
This project is private and proprietary.
- Remove.bg for the background removal API
- Supabase for backend infrastructure
- shadcn/ui for beautiful UI components
Built with ❤️ by Pratik Raj
