{"slug": "case-study-appwrite-ai-duplicates-detector-aadd", "title": "Case Study - Appwrite AI Duplicates Detector (AADD)", "summary": "A developer built the Appwrite AI Duplicates Detector (AADD), a full-stack web application that finds, visualizes, and manages duplicate files and documents across Appwrite databases and storage using AI-powered algorithms and perceptual hashing. The tool combines similarity-based analysis, filtering, sorting, and bulk cleanup actions, and includes a gamified \"AI Garden\" data-health system with an AI Gardener. It was built with Next.js, React, TypeScript, Tailwind CSS, Flask, Appwrite, and the Google Gemini API.", "body_md": "Managing data across Appwrite projects can become difficult when duplicate files and documents take up storage and make data harder to manage.\n\nThis is why I built **Appwrite AI Duplicates Detector (AADD)**, a full-stack web application that detects, visualizes and manages duplicates across Appwrite databases and storage using AI-powered algorithms and perceptual hashing.\n\nThe goal was to make the entire process simple, from connecting an Appwrite project and scanning data to understanding results and managing duplicates through filtering, sorting and bulk actions.\n\nI also introduced **AI Garden**, a gamified data-health system that lets users track their cleaning progress through a dynamic garden and interact with an AI Gardener.\n\n**My Role:** UI/UX Design, Frontend Development, Backend Development\n\n**Tech Stack:** Next.js, React, TypeScript, Tailwind CSS, shadcn/ui, Framer Motion, Flask, Appwrite, Google Gemini API\n\n**Live App:** [https://appwrite-ai-duplicates-detector-aadd.appwrite.network/](https://appwrite-ai-duplicates-detector-aadd.appwrite.network/)\n\nManaging duplicates manually across Appwrite projects can be time-consuming, especially when data is spread across multiple databases and storage buckets.\n\nDifferent types of files also require different ways of identifying duplicates. Simply checking file names or exact matches is not enough to detect files that may have been renamed, compressed or slightly modified.\n\nAADD was built to simplify this process by bringing duplicate detection, result visualization and duplicate management into one place.\n\nBefore building AADD, I looked at the problem from two sides.\n\nAppwrite provides the tools to manage databases, collections, documents and storage, including querying, indexing and file management. However, duplicate detection itself is not presented as a dedicated workflow within these core features.\n\nThere are also dedicated duplicate-file tools such as dupeGuru, Duplicate Cleaner, AllDup and Czkawka. These focus mainly on finding duplicate files across local storage using methods such as hashing, content comparison and similar-image detection.\n\nThe gap I wanted to explore was bringing this idea specifically to **Appwrite projects**.\n\nAADD combines duplicate detection for both **Appwrite Storage and Databases** with similarity-based analysis, visual results, filtering, bulk management and direct cleanup of detected duplicates.\n\nThis became the foundation for the product I designed and built.\n\nBefore starting the development, I planned the user flows and page architecture to understand how the different parts of AADD would fit together.\n\nThe main focus was to keep the duplicate detection process simple for the user, while still providing enough information to understand and manage the results.\n\nI structured the experience around three main stages:\n\n**Connect:** Connect an Appwrite project and choose what needs to be scanned.\n\n**Detect:** Run the scan and present the detected duplicates with relevant information such as similarity scores and visualizations.\n\n**Manage:** Review, filter and sort the results, then select and manage duplicates through bulk actions.\n\nAlongside this core workflow, I also designed supporting experiences such as **scheduled scans, activity tracking, profile management and the AI Garden**.\n\nAADD is structured around managing connected Appwrite projects, scanning their databases and storage buckets, viewing duplicate results and managing detected duplicates.\n\nThe main sections of the application include:\n\n**Dashboard**\n\n**Project Overview**\n\n**Scan Results**\n\n**AI Garden**\n\n**Profile Management**\n\n**Activity Log**\n\nThis structure brings project management, duplicate detection, visualization and cleanup into a single application.\n\nTo start using AADD, users first need to connect the Appwrite project they want to scan.\n\nThe **Connect Project** page requires three details:\n\nOnce connected, the project becomes available on the dashboard, where users can view their connected projects and initiate scans.\n\nFor security, the API keys provided by users are encrypted using *Fernet symmetric encryption* before being stored in the AADD Appwrite Database.\n\nAfter connecting an Appwrite project, users can choose what they want AADD to scan.\n\nFor **Storage**, users can scan all available buckets.\n\nFor **Database**, users can enter a Database ID, load its collections, and choose whether to scan specific collections or the entire database.\n\nOnce the scan target is selected, clicking the **Scan** button automatically triggers the scan and takes the user to the results page.\n\nA loading state is displayed while the scan is in progress, giving users feedback while the system processes their data.\n\nOnce the scan is complete, AADD displays the detected duplicates along with their similarity scores.\n\nThe results page also provides different ways to explore the detected duplicates. Users can search for specific results, filter and sort them based on similarity, date or file size and view the duplicate distribution through different visualizations.\n\nEach result also provides options to view the corresponding file or document in the Appwrite Console.\n\nAfter reviewing the scan results, users can select individual duplicates or use **Select All** and **Deselect All** for bulk operations.\n\nThe **Delete Selected** option provides two ways to manage the selected duplicates:\n\nUsers can then confirm the selected action before it is carried out.\n\nTo make the data-cleaning experience more engaging, AADD includes the **AI Garden**, a gamified data-health system.\n\nThe page provides a visual representation of data health through dynamic plant visualizations and tracks cleaning progress through statistics.\n\nIt also includes an **AI Gardener**, powered by Google Gemini, which provides tips and encouragement based on the user's progress.\n\nAfter planning the user flows and page architecture, I moved into development and translated the planned experience into the actual product.\n\nThe frontend was built using **Next.js, React, TypeScript, Tailwind CSS and shadcn/ui**, with Framer Motion used for animations and interactions.\n\nThe backend was developed using **Flask**, handling API requests, Appwrite operations and the duplicate detection logic.\n\nThe final system connects the frontend, backend, Appwrite services and AI/ML processing into one workflow, allowing users to connect their projects, scan data, view results and manage duplicates from a single application.\n\nAADD brought duplicate detection, visualization and management into a single application for Appwrite projects.\n\nThe system achieved **85-95% similarity accuracy** and reduced the manual effort required to review duplicates by approximately **70%**.\n\nThe project was also selected as a **Top 5 Winner in Appwrite X Hacktoberfest 2025**.\n\nBuilding AADD helped me understand how important it is to plan the user flows and page structure before development, especially when a product has multiple features and workflows.\n\nIt also gave me hands-on experience in taking an idea from rough sketches to a working full-stack product while continuously refining the interface and functionality during development.\n\n**Thanks for reading!😊🤍**", "url": "https://wpnews.pro/news/case-study-appwrite-ai-duplicates-detector-aadd", "canonical_source": "https://dev.to/devikaharshey/case-study-appwrite-ai-duplicates-detector-aadd-eof", "published_at": "2026-09-16 09:30:37+00:00", "updated_at": "2026-09-16 09:41:52.838663+00:00", "lang": "en", "topics": ["ai-tools", "ai-products", "developer-tools", "generative-ai", "ai-agents"], "entities": ["Appwrite", "Appwrite AI Duplicates Detector", "AI Garden", "Next.js", "React", "TypeScript", "Flask", "Google Gemini API"], "alternates": {"html": "https://wpnews.pro/news/case-study-appwrite-ai-duplicates-detector-aadd", "markdown": "https://wpnews.pro/news/case-study-appwrite-ai-duplicates-detector-aadd.md", "text": "https://wpnews.pro/news/case-study-appwrite-ai-duplicates-detector-aadd.txt", "jsonld": "https://wpnews.pro/news/case-study-appwrite-ai-duplicates-detector-aadd.jsonld"}}