Skip to content

Latest commit

ย 

History

36 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

VeriLens โ€” AI Image Authenticity Detector

๐Ÿ” VeriLens โ€” AI Image Authenticity Detector

AI-Powered Image Analysis & Digital Authenticity Inspection

Detect potential AI-generated and digitally manipulated images using multimodal AI analysis.


React TypeScript Vite Google Gemini Tailwind CSS License


Upload โ†’ Analyze โ†’ Investigate โ†’ Understand


๐Ÿ“– About VeriLens

VeriLens is a modern AI-powered image authenticity analysis application built to investigate whether an image appears to be authentic, AI-generated, digitally modified, or uncertain.

With the rapid growth of generative AI, realistic synthetic images have become increasingly difficult to distinguish from photographs and traditionally edited media. VeriLens provides an accessible interface for experimenting with AI-assisted image inspection.

The application uses Google Gemini's multimodal vision capabilities to examine uploaded images and generate a structured analysis containing:

  • ๐Ÿ” Authenticity classification
  • ๐Ÿ“Š Confidence percentage
  • ๐Ÿง  AI-generated assessment
  • ๐Ÿ–ผ๏ธ Digital manipulation assessment
  • ๐Ÿ“ Detailed reasoning
  • ๐Ÿšฉ Visual indicators
  • โš ๏ธ Uncertainty assessment

Rather than simply displaying an AI prediction, VeriLens attempts to provide explainable visual evidence behind its conclusion.

VeriLens is an AI-assisted analysis tool and should not be considered a replacement for professional digital-forensics examination.


๐ŸŽฏ Why VeriLens?

AI-generated images are becoming increasingly realistic.

Traditional visual inspection can fail to identify subtle:

  • Lighting inconsistencies
  • Anatomical abnormalities
  • Texture irregularities
  • Repeated patterns
  • Unrealistic shadows
  • Rendering artifacts
  • Pixel inconsistencies
  • Digital manipulation

VeriLens provides a simple workflow for submitting images to a multimodal AI model and receiving an interpretable analysis.

The goal is simple:

Help users look beyond what an image appears to be.


โœจ Core Features

๐Ÿง  AI-Powered Image Analysis

VeriLens uses Google's Gemini multimodal AI capabilities to inspect images for visual characteristics associated with:

  • AI-generated content
  • Digital manipulation
  • Image editing
  • Synthetic textures
  • Unnatural structures
  • Lighting inconsistencies
  • Anatomical anomalies
  • Repetitive patterns
  • Rendering artifacts
  • Natural camera characteristics

The model receives the image itself rather than relying exclusively on filename or metadata.


๐Ÿท๏ธ Four Analysis Categories

Each image receives one of four primary classifications.

Verdict Meaning
๐ŸŸข Original Visual characteristics appear broadly consistent with an authentic image.
๐ŸŸฃ AI Generated Visual characteristics suggest the image may have been generated using AI.
๐ŸŸ  Modified The image appears to contain signs of digital manipulation or editing.
โšช Uncertain Available evidence is insufficient for a reliable classification.

The Uncertain category is important because not every image can be confidently classified from visual information alone.


๐Ÿ“Š Confidence Score

Each analysis includes a numerical confidence score.

Example:

Confidence
โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘ 87%

87% Confidence

The score provides an intuitive representation of how strongly the AI analysis supports the selected verdict.


๐Ÿง  Explainable Analysis

VeriLens does not stop at:

AI Generated

Instead, it provides reasoning describing the visual characteristics that influenced the result.

For example:

Verdict: AI Generated

Confidence: 91%

Reasoning:
The image contains unusually smooth skin textures,
inconsistent fine details, and lighting transitions
that may indicate generative image synthesis.

Indicators:
โ€ข Unnatural texture patterns
โ€ข Inconsistent lighting
โ€ข Over-smoothed details
โ€ข Repetitive structures

This makes the application more useful for education, experimentation, and investigation.


๐Ÿšฉ Visual Indicators

The AI can identify specific visual characteristics that contributed to its conclusion.

Possible indicators include:

  • Inconsistent lighting
  • Unnatural shadows
  • Anatomical inconsistencies
  • Unusual textures
  • Repeated patterns
  • Strange object boundaries
  • Pixel-level irregularities
  • Synthetic-looking details
  • Unrealistic reflections
  • Image-composition inconsistencies

Indicators are presented directly within the analysis result.


๐Ÿ“ค Multiple Image Upload

VeriLens supports analyzing multiple images within a single session.

Users can:

  • Select multiple images
  • Drag and drop images
  • Preview uploaded images
  • Remove individual images
  • Clear the entire queue
  • Analyze all queued images

Supported formats include:

JPEG
PNG
WEBP

โšก Batch Analysis

Instead of analyzing images one by one, users can queue multiple images and select:

Analyze All

Each image maintains its own processing state.

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Image Queue   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
        โ”‚
        โ”œโ”€โ”€ Image 01 โ†’ Analyzing โ†’ Complete
        โ”‚
        โ”œโ”€โ”€ Image 02 โ†’ Analyzing โ†’ Complete
        โ”‚
        โ”œโ”€โ”€ Image 03 โ†’ Waiting
        โ”‚
        โ””โ”€โ”€ Image 04 โ†’ Error

This makes the application practical for testing multiple images during a single session.


๐ŸŽจ Modern User Interface

VeriLens was designed with a modern dark interface focused on visual clarity and technical aesthetics.

Interface characteristics

  • ๐ŸŒ‘ Dark UI
  • ๐Ÿ”ต Blue/indigo visual accents
  • ๐Ÿ“ฑ Responsive layout
  • ๐Ÿ–ฑ๏ธ Drag-and-drop interaction
  • ๐Ÿ–ผ๏ธ Image previews
  • ๐Ÿ“Š Confidence visualization
  • ๐Ÿ”„ Loading and scanning states
  • ๐Ÿšฉ Analysis indicators
  • โš™๏ธ Settings modal
  • โœจ Smooth UI interactions
  • ๐Ÿ“ Responsive cards and layouts

The interface is designed to keep the analysis itself as the primary focus.


๐Ÿ–ผ๏ธ Application Preview

Add screenshots of your deployed application here.

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                         VeriLens                            โ”‚
โ”‚              AI Image Authenticity Detector                 โ”‚
โ”‚                                                             โ”‚
โ”‚       โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”           โ”‚
โ”‚       โ”‚                                         โ”‚           โ”‚
โ”‚       โ”‚       Drag & Drop Image Here            โ”‚           โ”‚
โ”‚       โ”‚                                         โ”‚           โ”‚
โ”‚       โ”‚              or Browse Files            โ”‚           โ”‚
โ”‚       โ”‚                                         โ”‚           โ”‚
โ”‚       โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜           โ”‚
โ”‚                                                             โ”‚
โ”‚                       Analyze All                           โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ—๏ธ System Architecture

VeriLens follows a lightweight client-side architecture centered around the Gemini API.

                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                    โ”‚       User          โ”‚
                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                               โ”‚
                               โ–ผ
                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                    โ”‚    React Frontend   โ”‚
                    โ”‚                     โ”‚
                    โ”‚  Upload / Preview   โ”‚
                    โ”‚  Queue Management   โ”‚
                    โ”‚  Results UI         โ”‚
                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                               โ”‚
                               โ–ผ
                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                    โ”‚ Image Processing    โ”‚
                    โ”‚                     โ”‚
                    โ”‚ File โ†’ Base64       โ”‚
                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                               โ”‚
                               โ–ผ
                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                    โ”‚ Google Gemini API   โ”‚
                    โ”‚                     โ”‚
                    โ”‚ Gemini 2.5 Flash    โ”‚
                    โ”‚ Multimodal Vision   โ”‚
                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                               โ”‚
                               โ–ผ
                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                    โ”‚ Structured JSON     โ”‚
                    โ”‚                     โ”‚
                    โ”‚ Verdict             โ”‚
                    โ”‚ Confidence          โ”‚
                    โ”‚ Reasoning           โ”‚
                    โ”‚ Indicators          โ”‚
                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                               โ”‚
                               โ–ผ
                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                    โ”‚   Analysis Card     โ”‚
                    โ”‚                     โ”‚
                    โ”‚ Result + Evidence   โ”‚
                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ”„ Analysis Workflow

The complete workflow can be summarized as:

1. Upload Image
       โ†“
2. Validate File
       โ†“
3. Generate Preview
       โ†“
4. Add to Analysis Queue
       โ†“
5. Convert Image to Base64
       โ†“
6. Send Image to Gemini
       โ†“
7. Perform Multimodal Analysis
       โ†“
8. Receive Structured Response
       โ†“
9. Parse Verdict
       โ†“
10. Display Confidence
       โ†“
11. Display Reasoning
       โ†“
12. Display Visual Indicators

๐Ÿค– AI Analysis Pipeline

VeriLens uses structured output from Gemini rather than treating the response as ordinary text.

The expected response follows a structure similar to:

{
  "verdict": "ORIGINAL",
  "confidence": 87,
  "reasoning": "The image contains characteristics consistent with a natural photograph.",
  "indicators": [
    "Consistent lighting",
    "Natural texture variation",
    "No obvious manipulation artifacts"
  ]
}

Supported verdict values

ORIGINAL
AI_GENERATED
MODIFIED
UNCERTAIN

This structured approach allows the React interface to reliably map the AI response to the appropriate UI components.


๐Ÿงฉ Project Structure

Image-Detection/
โ”‚
โ”œโ”€โ”€ components/
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ AnalysisCard.tsx
โ”‚   โ”‚   โ”œโ”€โ”€ Displays analysis results
โ”‚   โ”‚   โ”œโ”€โ”€ Confidence score
โ”‚   โ”‚   โ”œโ”€โ”€ Verdict
โ”‚   โ”‚   โ”œโ”€โ”€ Reasoning
โ”‚   โ”‚   โ””โ”€โ”€ Indicators
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ SettingsModal.tsx
โ”‚   โ”‚   โ””โ”€โ”€ Gemini API configuration
โ”‚   โ”‚
โ”‚   โ””โ”€โ”€ UploadZone.tsx
โ”‚       โ”œโ”€โ”€ File selection
โ”‚       โ”œโ”€โ”€ Drag & drop
โ”‚       โ””โ”€โ”€ Image validation
โ”‚
โ”œโ”€โ”€ services/
โ”‚   โ”‚
โ”‚   โ””โ”€โ”€ geminiService.ts
โ”‚       โ””โ”€โ”€ Gemini API integration
โ”‚
โ”œโ”€โ”€ App.tsx
โ”‚   โ””โ”€โ”€ Main application
โ”‚
โ”œโ”€โ”€ index.tsx
โ”‚   โ””โ”€โ”€ React entry point
โ”‚
โ”œโ”€โ”€ index.html
โ”‚   โ””โ”€โ”€ Application HTML shell
โ”‚
โ”œโ”€โ”€ types.ts
โ”‚   โ””โ”€โ”€ TypeScript interfaces
โ”‚
โ”œโ”€โ”€ metadata.json
โ”‚   โ””โ”€โ”€ Application metadata
โ”‚
โ”œโ”€โ”€ package.json
โ”‚   โ””โ”€โ”€ Dependencies & scripts
โ”‚
โ”œโ”€โ”€ tsconfig.json
โ”‚   โ””โ”€โ”€ TypeScript configuration
โ”‚
โ”œโ”€โ”€ vite.config.ts
โ”‚   โ””โ”€โ”€ Vite configuration
โ”‚
โ”œโ”€โ”€ LICENSE
โ”‚   โ””โ”€โ”€ MIT License
โ”‚
โ””โ”€โ”€ .gitignore

๐Ÿงฑ Core Components

App.tsx

The central application component.

Responsibilities include:

  • Image queue management
  • Upload handling
  • Image removal
  • Batch analysis
  • Loading states
  • Error handling
  • API-key configuration
  • Rendering analysis results

UploadZone.tsx

Responsible for the image-upload experience.

Features include:

  • File browser integration
  • Drag-and-drop
  • Image validation
  • File type checking
  • Upload interaction
  • Visual upload states

AnalysisCard.tsx

Displays the complete analysis for an individual image.

The card can present:

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚        IMAGE PREVIEW        โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ Verdict                     โ”‚
โ”‚ AI Generated                โ”‚
โ”‚                             โ”‚
โ”‚ Confidence                 โ”‚
โ”‚ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘ 87%      โ”‚
โ”‚                             โ”‚
โ”‚ Reasoning                   โ”‚
โ”‚ ...                         โ”‚
โ”‚                             โ”‚
โ”‚ Detected Indicators         โ”‚
โ”‚ โ€ข Indicator 1               โ”‚
โ”‚ โ€ข Indicator 2               โ”‚
โ”‚ โ€ข Indicator 3               โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

SettingsModal.tsx

Provides configuration for the Gemini API key.

The settings interface allows users to configure the API credentials required to perform analysis.


geminiService.ts

The AI integration layer.

Responsibilities include:

  • Initializing Gemini
  • Preparing image data
  • Sending multimodal requests
  • Defining response structure
  • Parsing AI results
  • Returning analysis data to the application

๐Ÿ› ๏ธ Technology Stack

Frontend

Technology Purpose
React User interface
TypeScript Type safety
Vite Development & build tooling
Tailwind CSS Styling
Lucide React Icons

Artificial Intelligence

Technology Purpose
Google Gemini Multimodal AI
Gemini 2.5 Flash Image understanding
Structured JSON Reliable AI response handling

Browser Technologies

Technology Purpose
File API Image handling
FileReader Image data processing
Local Storage Local configuration
Object URLs Image previews

๐Ÿš€ Getting Started

Prerequisites

Before running the project, make sure you have:

  • Node.js installed
  • npm installed
  • A Google Gemini API key
  • A modern web browser

1. Clone the Repository

git clone https://github.com/AbdullahSoftDev/Image-Detection.git

2. Open the Project

cd Image-Detection

3. Install Dependencies

npm install

4. Start Development Server

npm run dev

Vite will start the local development server and display the available URL in your terminal.


5. Configure Gemini API

Launch the application and open the Settings interface.

Enter your Gemini API key.

The application uses this key when submitting images for AI analysis.


๐Ÿ” API Key & Security

VeriLens requires a Google Gemini API key.

For development and educational usage, the application provides a client-side configuration mechanism.

However, exposing API credentials directly inside a browser application has security implications.

Recommended production architecture

For a production deployment, consider:

Browser
   โ”‚
   โ–ผ
Secure Backend
   โ”‚
   โ”œโ”€โ”€ Authentication
   โ”œโ”€โ”€ Rate Limiting
   โ”œโ”€โ”€ Request Validation
   โ””โ”€โ”€ API Key Protection
            โ”‚
            โ–ผ
      Google Gemini

This prevents a long-lived Gemini API credential from being directly exposed to users.

Never commit secrets

Do not place real API credentials inside:

GitHub
Public repositories
Screenshots
README files
Frontend source code

๐Ÿ–ฅ๏ธ How to Use VeriLens

Step 1 โ€” Upload an Image

Drag an image into the upload area or use the file browser.

Step 2 โ€” Review the Image

The selected image appears in the queue with its preview.

Step 3 โ€” Add More Images

Upload additional images if you want to perform batch analysis.

Step 4 โ€” Start Analysis

Click:

Analyze All

Step 5 โ€” Wait for Processing

Each image displays its current processing state.

Step 6 โ€” Review the Result

The completed analysis contains:

Verdict
   โ†“
Confidence
   โ†“
Reasoning
   โ†“
Detected Indicators

Step 7 โ€” Remove or Clear

Individual images can be removed from the queue, or the complete queue can be cleared.


๐Ÿ“ท Supported Image Formats

VeriLens is designed to work with common browser-supported image formats.

.jpg
.jpeg
.png
.webp

The upload interface validates that selected files are images before adding them to the queue.


๐Ÿ“Š Example Analysis

A completed analysis may look conceptually like:

โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•—
โ•‘              ANALYSIS RESULT             โ•‘
โ• โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ฃ
โ•‘                                          โ•‘
โ•‘  VERDICT                                 โ•‘
โ•‘  ๐ŸŸฃ AI GENERATED                         โ•‘
โ•‘                                          โ•‘
โ•‘  CONFIDENCE                              โ•‘
โ•‘  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘  89%               โ•‘
โ•‘                                          โ•‘
โ•‘  REASONING                               โ•‘
โ•‘  The image contains visual patterns      โ•‘
โ•‘  that may indicate generative synthesis. โ•‘
โ•‘                                          โ•‘
โ•‘  DETECTED INDICATORS                     โ•‘
โ•‘  โ€ข Unusual texture patterns              โ•‘
โ•‘  โ€ข Inconsistent fine details             โ•‘
โ•‘  โ€ข Synthetic-looking structures          โ•‘
โ•‘                                          โ•‘
โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

๐ŸŽ“ Educational Value

VeriLens demonstrates several modern software-development concepts in one project.

Frontend Development

  • Component-based architecture
  • React state management
  • TypeScript interfaces
  • Responsive UI
  • File handling
  • Modal interfaces
  • Loading states
  • Error states

AI Integration

  • Multimodal AI
  • Image-to-AI workflows
  • Prompt engineering
  • Structured model responses
  • AI result interpretation

Modern Web Development

  • Vite
  • npm dependency management
  • Browser APIs
  • Client-side storage
  • Responsive design

๐ŸŽฏ Use Cases

VeriLens can be used for:

๐ŸŽ“ Education

Demonstrating how multimodal AI can be integrated into a modern web application.

๐Ÿงช AI Experimentation

Testing how AI models interpret visual authenticity.

๐Ÿ–ผ๏ธ Media Investigation

Performing an initial AI-assisted inspection of suspicious images.

๐Ÿค– Generative AI Research

Exploring characteristics commonly associated with synthetic imagery.

๐Ÿ’ป Portfolio Demonstration

Demonstrating practical experience with:

  • React
  • TypeScript
  • AI APIs
  • Multimodal models
  • Modern UI development

โš ๏ธ Limitations

VeriLens should not be considered a professional forensic verification system.

No AI-based image classifier can guarantee authenticity solely from visual inspection.

Results may be affected by:

  • Image compression
  • Image resizing
  • Re-encoding
  • Screenshots
  • Low resolution
  • Heavy editing
  • New generative models
  • Unusual photography conditions
  • Ambiguous visual evidence
  • Model limitations

An image classified as Original may still be manipulated.

An image classified as AI Generated may still be authentic.

Therefore:

Always treat VeriLens results as AI-assisted indicators rather than definitive forensic conclusions.


๐Ÿ”ฎ Future Roadmap

VeriLens can be expanded into a more comprehensive digital image-forensics platform.

๐Ÿ”ฌ Forensic Analysis

  • EXIF metadata inspection
  • JPEG quantization analysis
  • Error Level Analysis
  • Pixel-level anomaly detection
  • Noise-pattern analysis
  • Clone detection
  • Copy-move detection
  • Image hashing
  • Perceptual hashing

๐Ÿค– AI Improvements

  • Multiple AI detection models
  • Model comparison
  • Confidence calibration
  • Specialized deepfake detection
  • Face manipulation detection
  • AI-generated text detection inside images

๐Ÿ“Š Reporting

  • Export results as PDF
  • Generate forensic-style reports
  • Analysis history
  • Downloadable reports
  • Shareable analysis links

๐Ÿ‘ค User System

  • User authentication
  • Personal dashboards
  • Saved analysis
  • Usage statistics
  • User preferences

โ˜๏ธ Production Infrastructure

  • Secure backend API
  • Server-side Gemini integration
  • Rate limiting
  • Request logging
  • Secure API-key management
  • Cloud storage
  • Scalable processing queue

๐Ÿ“ˆ Future Architecture

A more advanced production version could evolve into:

                       โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                       โ”‚     User      โ”‚
                       โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                               โ”‚
                               โ–ผ
                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                    โ”‚   React Frontend  โ”‚
                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                              โ”‚
                              โ–ผ
                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                    โ”‚   Backend API     โ”‚
                    โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
                    โ”‚ Authentication    โ”‚
                    โ”‚ Rate Limiting     โ”‚
                    โ”‚ Validation        โ”‚
                    โ”‚ Job Management    โ”‚
                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                              โ”‚
                โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                โ”‚             โ”‚             โ”‚
                โ–ผ             โ–ผ             โ–ผ
         โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
         โ”‚  Gemini   โ”‚ โ”‚ Forensics  โ”‚ โ”‚ Metadata   โ”‚
         โ”‚ AI Model  โ”‚ โ”‚  Engine    โ”‚ โ”‚  Engine    โ”‚
         โ””โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜
               โ”‚              โ”‚              โ”‚
               โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                              โ–ผ
                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                    โ”‚ Analysis Engine   โ”‚
                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                              โ”‚
                              โ–ผ
                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                    โ”‚ Final Report      โ”‚
                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ“‹ Project Highlights

Category Details
Project VeriLens
Type AI Image Authenticity Analyzer
Frontend React
Language TypeScript
Build Tool Vite
Styling Tailwind CSS
AI Google Gemini
Vision Model Gemini 2.5 Flash
Input Image files
Formats JPEG, PNG, WEBP
Analysis AI-generated / Modified / Original / Uncertain
Output Verdict + Confidence + Reasoning + Indicators
UI Responsive Dark Interface
License MIT

๐Ÿ“š Technical Concepts Demonstrated

This project demonstrates practical implementation of:

React Component Architecture
        โ†“
TypeScript Type Safety
        โ†“
File Upload & Validation
        โ†“
Image Preview Generation
        โ†“
Base64 Image Processing
        โ†“
Multimodal AI Integration
        โ†“
Structured JSON Responses
        โ†“
Asynchronous Processing
        โ†“
Loading & Error States
        โ†“
Responsive UI Rendering

๐ŸŒ Project Repository

GitHub Repository

github.com/AbdullahSoftDev/Image-Detection


๐Ÿ‘จโ€๐Ÿ’ป Author

Abdullah SoftDev

Computer Science Student & Software Developer

Building modern web applications, AI-powered systems, and practical software solutions.


GitHub


โญ Contributing

Contributions, ideas, bug reports, and feature suggestions are welcome.

Contribution workflow

# Fork the repository

# Clone your fork
git clone https://github.com/YOUR_USERNAME/Image-Detection.git

# Create a feature branch
git checkout -b feature/your-feature

# Make your changes

# Commit
git commit -m "Add: your feature"

# Push
git push origin feature/your-feature

# Open a Pull Request

๐Ÿ“„ License

This project is released under the MIT License.

See the LICENSE file for complete details.


๐Ÿ” VeriLens

See Beyond the Pixels.

AI-powered image authenticity analysis built with React, TypeScript, and Google Gemini.


โญ Star the repository if you found it useful.

About

AI-powered image authenticity analyzer built with React, TypeScript, Vite, Tailwind CSS, and Google Gemini. Detect potential AI-generated or digitally manipulated images with explainable visual analysis.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages