Skip to content

Latest commit

 

History

49 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GeminiDeMark (Gemini Watermark Remover)

License Next.js Node.js Docker

GeminiDeMark Hero

📖 About The Project

GeminiDeMark is an advanced, privacy-focused tool developed to verify and remove visual watermarks from images generated by Google's Gemini AI.

As AI-generated content becomes ubiquitous, the need to distinguish between human-made and AI-generated media—and occasionally to restore watermarked images for legitimate use cases—has grown. GeminiDeMark bridges this gap by providing:

  1. Verification: It analyzes image metadata to confirm if an image was generated by Gemini.
  2. Restoration: It uses a specialized client-side engine to remove the visual watermarks applied by Gemini, returning a clean image.
  3. Privacy: Unlike many online tools, the core image processing happens locally in your browser. Your images are not uploaded to our servers for processing; only the results (metadata) are tracked for your dashboard history.

Whether you are a researcher, developer, or digital artist, GeminiDeMark provides a professional dashboard to manage your converted images, track usage, and ensure content authenticity.


🚀 Key Features

  • 🛡️ Privacy-First Architecture: Your photos stay on your device. Processing is done via client-side logic.
  • 🔍 AI Metadata Detection: Instantly identifies "Made with Google AI" metadata signatures.
  • ✨ Visual Watermark Removal: Efficiently removes the visual logo overlay from Gemini-generated images.
  • 📊 Professional Dashboard: Track your conversion history, data usage, and subscription status.
  • 🌍 Multi-language Support: Fully localized in English, Chinese (Simplified/Traditional), Hindi, Russian, Arabic, and more.
  • ⚡ Modern Tech Stack: Built with Next.js 16, Tailwind CSS v4, and frame-perfect animations.
  • 🔒 Enterprise-Grade Security: JWT authentication, AWS/SendGrid email integration, and secure database management.

🛠️ Installation & Setup

You can run GeminiDeMark in two ways: Locally (for development) or via Docker (for easy deployment).

📋 Prerequisites

  • Node.js (v20 or higher)
  • npm (v10 or higher)
  • MySQL (v8.0) - Only for local development
  • Docker & Docker Compose - For Docker deployment

💻 Local Development Guide

If you want to contribute or modify the code, follow these steps to run the Backend and Frontend separately.

1. Database Setup

Ensure you have a MySQL server running and create a database (e.g., watermark_db). You can use the provided schema:

mysql -u root -p watermark_db < backend/schema.sql

2. Backend Setup (API)

The backend handles user authentication, database interactions, and usage tracking.

  1. Navigate to the backend directory:
    cd backend
  2. Install dependencies:
    npm install
  3. Configure Environment:
    • Copy .env.example to .env:
      cp .env.example .env
    • Edit .env and fill in your MySQL credentials, JWT secret, and Email headers.
  4. Start the Development Server:
    npm run dev

    The backend will run on http://localhost:5001.

3. Frontend Setup (Next.js)

The frontend provides the user interface and client-side processing engine.

  1. Open a new terminal and navigate to the frontend directory:
    cd frontend-nextjs
  2. Install dependencies:
    npm install
  3. Configure Environment:
    • Create a .env.local file:
      cp .env.example .env.local
    • Ensure NEXT_PUBLIC_API_URL points to your local backend (e.g., http://localhost:5001/api).
  4. Start the Frontend Server:
    npm run dev

    The application will be accessible at http://localhost:3000.


🐳 Docker Deployment (Recommended)

For a production-ready setup or a quick start without installing Node/MySQL locally, use the provided CI/CD scripts.

  1. Navigate to the CI/CD directory:

    cd cicd
  2. Environment Setup:

    • The deployment script will automatically copy your backend/.env file if it exists.
    • Ensure your backend/.env has the correct DB_HOST set to db (the docker service name) instead of localhost.
  3. Run the Deployment Script:

    ./deploy.sh

    What this script does:

    • ⬇️ Pulls the latest images or builds them from source.
    • 🔐 Generates self-signed SSL certificates for Nginx (stored in nginx/certs/).
    • 🚀 Starts the entire stack:
      • frontend (Next.js)
      • backend (Express API)
      • db (MySQL 8.0)
      • nginx (Reverse Proxy & Security)
  4. Access the App:

    • Open your browser and visit https://localhost (Accept the self-signed certificate warning for local testing).

📂 Project Structure

GeminiDeMark/
├── backend/                # Express.js API & Database Logic
│   ├── config/             # DB & Email Configuration
│   ├── controllers/        # Request Handlers (Auth, User, Dashboard)
│   ├── models/             # Sequelize Models
│   ├── routes/             # API Endpoints
│   ├── services/           # Business Logic (Email, Etc)
│   └── server.js           # Entry Point
│
├── frontend-nextjs/        # Next.js 16 Application
│   ├── app/                # App Router Pages
│   ├── components/         # Reusable UI Components
│   ├── lib/                # Utilities & API Services
│   ├── public/             # Static Assets & Locales
│   └── watermarker/        # Core Watermark Removal Engine
│
├── cicd/                   # DevOps & Deployment
│   ├── nginx/              # Nginx Config & Certs
│   ├── mysql/              # Database Init Scripts
│   ├── deploy.sh           # Main Deployment Script
│   └── docker-compose.yml  # Container Orchestration

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

About

GeminiDeMark is a privacy-first tool to detect Gemini AI metadata and remove visual watermarks from AI-generated images, with all image processing done locally in the browser.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages