Skip to content

Repository files navigation

Clearo Logo

Clearo

A High-Performance, Privacy-First Smart Device Cleaner for Android

Flutter Dart Android License

Clearo is a modern, high-speed device storage manager designed to visualize storage usage, locate exact & visually similar duplicates, and safely remove unwanted files—all while keeping your data 100% private and on-device.


🌟 Key Features

  • Native Kotlin Engine: Offloads heavy storage queries, MediaStore parsing, and recursive directory crawls directly to Android's native Kotlin layer via MethodChannel for maximum performance.
  • 🖼️ Perceptual Duplicate Finder (dHash): Uses Difference Hashing (dHash) computed natively and processed via background Dart Isolates (HashWorker) to catch both exact duplicate files and visually similar photos.
  • 💎 Glassmorphism Visual Aesthetic: Built with a sleek dark aesthetic featuring glassmorphic cards, smooth micro-animations, segmented storage visualization arcs, and custom Lexend typography.
  • 📁 FileType Detail & Categorized Storage: Easily browse and batch-delete files by category (Images, Videos, Audio, Documents, Archives, APKs, Downloads, and WhatsApp/Telegram media).
  • 🛡️ Encrypted Recycle Bin: Implements a zero-anxiety soft-deletion pipeline with a 7-day retention period, quick restoration capabilities, and app-private encryption.
  • 📈 Real-Time Storage & Savings Metrics: Live stats tracking total files removed and gigabytes saved over time, powered by debounced local statistics persistence.

📐 Architecture Overview

Clearo utilizes a Hybrid Architecture separating cross-platform UI coordination from native hardware & file-system tasks:

┌───────────────────────────────────────────────────────────────────┐
│                     Flutter Presentation                          │
│  (Glassmorphism UI, Responsive Arc Charts, Interactive Tab Shell) │
└──────────────────────────────┬────────────────────────────────────┘
                               │  MethodChannel ('com.meet.clearo/scan')
┌──────────────────────────────▼─────────────────────────────────┐
│                    Native Kotlin Engine                        │
│   • MediaStore Querying & StorageStatsManager                  │
│   • Native Thumbnail Generation (ThumbnailUtils + Cancellation)│
│   • Fast 9x8 Grayscale dHash Perceptual Hashing                │
└──────────────────────────────┬─────────────────────────────────┘
                               │
┌──────────────────────────────▼──────────────────────────────┐
│                   Storage & Persistence                     │
│   • SQLite Database (`sqflite`) for Fast Boot & Caching     │
│   • `SharedPreferences` for Lifetime Savings Metrics        │
│   • App-Private Encrypted Recycle Bin Repository            │
└─────────────────────────────────────────────────────────────┘

📁 Repository Structure

Clearo/
├── android/                 # Native Android project configuration & Kotlin ScanEngine
│   └── app/src/main/kotlin/com/meet/clearo/
│       └── MainActivity.kt  # Kotlin engine for MediaStore, dHash, & StorageStats
├── assets/                  # App assets including custom Lexend fonts
│   └── fonts/
├── design/                  # Design tokens specification
│   └── tokens.json
├── lib/                     # Flutter source code
│   ├── data/                # Data models & utility formatters
│   ├── database/            # SQLite database helper (sqflite)
│   ├── engine/              # Scan engine, HashWorker isolate, Recycle Bin, Smart Clean
│   ├── hashing/             # Perceptual image hashing algorithm (dHash + Hamming)
│   └── ui/                  # UI components, screens, theme system, & custom widgets
├── test/                    # Unit & widget test suite
├── icon.png                 # Master source application icon
├── pubspec.yaml             # Flutter package specification
└── README.md                # Project documentation

🚀 Getting Started

Prerequisites

Installation & Setup

  1. Clone the Repository:

    git clone https://github.com/MZarc/Clearo.git
    cd Clearo
  2. Install Dependencies:

    flutter pub get
  3. Run Unit Tests:

    flutter test
  4. Run on Connected Android Device / Emulator:

    flutter run

🛠️ Building for Release

To generate an optimized, ABI-split release APK:

flutter build apk --release --split-per-abi

The output APKs will be generated under build/app/outputs/flutter-apk/.


🔒 Privacy & Permissions

Clearo is designed to respect user privacy:

  • Zero Network Access: Clearo does not collect, transmit, or upload any user files or personal telemetry. All operations run 100% offline.
  • Granular Permissions: Requests standard Android storage access permissions (READ_EXTERNAL_STORAGE / MANAGE_EXTERNAL_STORAGE for Android 11+) strictly to query and present local file storage details.

📄 License

Distributed under the MIT License. See LICENSE for more information.

About

A high-performance, privacy-first smart device cleaner and duplicate media finder for Android built with Flutter & Native Kotlin. Features clean UI, perceptual photo duplicate finding (dHash), and an encrypted Recycle Bin.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages