SlopScore
00 crowd

advanced-hybrid-plagiarism-detection

Institutional-grade plagiarism & AI-generated content detection platform — CodeIgniter 4 + FastAPI/Python hybrid pipeline combining n-gram fingerprinting, semantic embeddings, and a multi-class ML classifier
Open repo on GitHubgithub.com/CharyMeld/advanced-hybrid-plagiarism-detection
PHP · ★ 1 · 0 forks · MIT · paperwork by the Cap'mmostly ai (inferred)light human (inferred)works-on-my-machine (inferred)other
listed 57 minutes ago by CharyMeld · last checked 57 minutes ago
The owner didn't write this. This repo never submitted itself. The Cap'm found it on a truffle trawl and wrote its paperwork from what GitHub already shows. Picked by hand by the Cap'm on 2026-10-16: Institutional-grade plagiarism & AI-generated content detection platform — CodeIgniter 4 + FastAPI/Python hybr; its own README says "All results use probabilistic language ("likely AI-assisted", not "this was written by AI") 2". 1 stars; MIT license. The owner did not submit this. Votes count; awards don't until the owner claims it.

I'm not calling your project slop! Geeze, it's a joke... Do you own this repo?

Log in with GitHub as CharyMeld. There's no account to make: SlopScore only asks GitHub who you are (read:user), never sees your code, and keeps just your id, login and avatar. Then you can:

  • Keep it, on your terms. Commit your own slopscore.md (spec) and press Refresh. Your paperwork replaces the Cap'm's, and you can submit it for Slop of the Day.
  • Take it down. One click on Remove. It stays gone; the trawl never brings it back.

Log in with GitHub

Can't log in as the owner? Request a takedown. No login needed, and a trawled listing comes down right away.

GitHub says
Institutional-grade plagiarism & AI-generated content detection platform — CodeIgniter 4 + FastAPI/Python hybrid pipeline combining n-gram fingerprinting, semantic embeddings, and a multi-class ML classifier
created
2026-08-03 · pushed 2 months ago · 1 commits · 1 contributor
languages
PHP 61%Python 36%CSS 2%Shell 1%JavaScript 0%HTML 0%
paperwork
licensereadme 42% health
dependencies
no dependency graph (no manifest, or disabled) · OSV.dev, checked 57 minutes ago

Disclosures, inferred by the Cap'm

slopbucket
vibe-coded
category
other
ai_generated
mostly
human_touch
light
status
works-on-my-machine
language (detected)
csshtmljavascriptphppythonshell
license (detected)
mit

The Cap'm's log

The Cap'm wrote this paperwork, not the owner. This repo never submitted itself to SlopScore. The Cap'm picked it by hand: Institutional-grade plagiarism & AI-generated content detection platform — CodeIgniter 4 + FastAPI/Python hybr; its own README says "All results use probabilistic language ("likely AI-assisted", not "this was written by AI") 2". It carries the MIT license. The disclosures above are his best guess from what GitHub shows.

Is this yours? Commit a real slopscore.md and press Refresh to replace this, or remove the listing in one click. There's no account to make: you log in with GitHub.

README — the repo's own words, folded up so the grading fits on one screen

Advanced Hybrid Plagiarism & AI-Detection System (WACP)

A multi-stage, institutional-grade platform for detecting plagiarism and AI-generated content in academic project submissions — combining n-gram fingerprinting, semantic embeddings, heuristic analysis, and a multi-class ML classifier into a single auditable pipeline.


Table of Contents

  1. Project Overview
  2. Key Features
  3. System Architecture
  4. Technology Stack
  5. Detection Pipeline
  6. AI Detection Engine
  7. Database Schema
  8. Application Modules
  9. API Reference
  10. User Roles & Access Control
  11. Reporting & Compliance
  12. Installation & Setup
  13. Configuration
  14. High-Performance Mode (Bulk Processing)
  15. Admin Service Management
  16. Multi-Language Support
  17. Subscription & Credits System
  18. Known Limitations & Ongoing Work
  19. Project Structure
  20. License

1. Project Overview

The WACP Advanced Hybrid Plagiarism & AI-Detection System is a web-based academic integrity platform built for institutions such as universities, colleges, and research organizations. It is designed to analyze student project submissions (dissertations, proposals, reports) and produce auditable, explainable similarity and AI-authorship reports.

What Problem Does It Solve?

Traditional plagiarism checkers suffer from three critical problems:

Problem Impact
Self-comparison (re-uploaded files flagged against themselves) 100% false-positive plagiarism score
Version comparison (v1, v2, v3 inflate scores) Artificially high similarity across iterations
No AI-content detection Cannot detect ChatGPT, Gemini, Claude, or QuillBot-paraphrased text

This system eliminates all three through a hybrid multi-stage pipeline with proper reference flagging, project lineage tracking, and a 4-class AI classifier.


2. Key Features

Plagiarism Detection

  • N-gram Fingerprinting — exact sentence-level matching via Rabin/Karp rolling hash fingerprints
  • Semantic Similarity — sentence-transformer embeddings for paraphrase and near-duplicate detection
  • Sliding Window Segmentation — 150–300 word segments analysed independently for section-level precision
  • Reference Isolation — submissions are compared only against verified reference documents (is_reference = TRUE)
  • Project Lineage Tracking — project_group_id ensures re-submissions never inflate scores against earlier versions
  • Preliminary Page Exclusion — cover page, abstract, table of contents, bibliography, and references are stripped before analysis
  • Multi-format Support — PDF, DOCX, and TXT files are all supported with text extraction and positional mapping

AI-Content Detection

  • Heuristic Feature Extraction — 50–200 linguistic, structural, lexical, and stylometric features per document
  • 4-Class ML Classifier — distinguishes Human-written, Raw AI-generated, Human-edited AI, and AI-paraphrased text
  • Probabilistic Output — results expressed as likelihood ("Likely AI-paraphrased, Confidence: 71%"), never as absolute judgements
  • QuillBot / paraphrasing detection — rare-synonym overuse and sentence uniformity heuristics target common bypass attempts

Reporting

  • PDF Highlighting — matches overlaid directly on the original PDF using PDF.js with bounding-box coordinates
  • Section-level Reports — each 150–300 word segment has its own similarity and AI-likelihood score
  • Dual-audience Emails — admins receive the full analytical report; students receive a highlighted summary without internal model details
  • Institutional Audit Trail — all reports are stored for compliance review

Performance

  • Celery Task Queue — reliable background processing with auto-retry
  • Redis Caching — fingerprints and embeddings are cached to skip redundant computation
  • Parallel Processing — ThreadPoolExecutor with up to 8 workers
  • Bulk Upload — 100+ files processed in 5–10 minutes (vs. ~50 minutes sequential)

3. System Architecture

┌───────────────────────────────────────────────────────────┐
│                     User's Browser                        │
└───────────────────┬───────────────────────────────────────┘
                    │ HTTP
┌───────────────────▼───────────────────────────────────────┐
│           CodeIgniter 4 (PHP 8.1+) — Frontend             │
│  Auth · Projects · Reports · Admin · Subscriptions        │
└───────────────────┬───────────────────────────────────────┘
                    │ REST (JSON)
┌───────────────────▼───────────────────────────────────────┐
│           FastAPI (Python) — Analysis Backend             │
│  v1 API · v2 High-Performance API                         │
│  Plagiarism Detector · AI Detector · PDF Extractor        │
└──────┬──────────────────────┬────────────────────────┬────┘
       │                      │                        │
┌──────▼──────┐   ┌───────────▼──────────┐  ┌─────────▼────┐
│   MySQL     │   │  Redis (Cache/Queue) │  │    Celery    │
│  (Primary   │   │  fingerprints,       │  │  Workers     │
│   Storage)  │   │  embeddings, jobs    │  │  (3 queues)  │
└─────────────┘   └──────────────────────┘  └──────────────┘

Services and Queues

Service Role
CI4 PHP App Frontend, authentication, file handling, report rendering
FastAPI (port 8000) All NLP and ML analysis; exposes /v1 and /v2 endpoints
Redis Caching computed fingerprints/embeddings; Celery broker
Celery (analysis queue) Single-project analysis jobs (concurrency: 4)
Celery (bulk queue) Bulk batch analysis jobs
Celery (precompute queue) Cache warm-up jobs

4. Technology Stack

Backend — PHP (CI4)

Component Technology
Framework CodeIgniter 4 (PHP 8.1+)
ORM CI4 Model layer + Query Builder
Database MySQL / MariaDB
Auth Session-based with role middleware
File Storage Local filesystem (writable/uploads/)
Email CI4 Email library (SMTP)

Backend — Python (FastAPI)

Component Technology
API Framework FastAPI 0.109 + Uvicorn
ML / NLP scikit-learn, sentence-transformers, NLTK, transformers, PyTorch
PDF Extraction pdfplumber, PyPDF2
DOCX Extraction python-docx
Task Queue Celery 5.3 + Redis
Database SQLAlchemy + mysql-connector-python
Language Detection langdetect

Frontend

Component Technology
UI Framework Bootstrap (via CI4 views)
PDF Viewer PDF.js (with highlight overlay)
AJAX Vanilla JS / jQuery

5. Detection Pipeline

Every submission goes through the following sequential stages:

Stage 1 — Upload & Submission
    └─ Project saved with is_reference = FALSE
    └─ project_group_id assigned (new or linked to existing group)

Stage 2 — Text Extraction & Cleaning
    └─ PDF/DOCX/TXT text extracted with positional data (page, bounding box)
    └─ Preliminary pages removed (cover, abstract, ToC, acknowledgements)
    └─ Back matter removed (references, bibliography, appendices)
    └─ Clean body text passed to analysis

Stage 3 — Plagiarism Analysis
    └─ N-gram fingerprints generated and cached in Redis
    └─ Sentence embeddings generated and cached in Redis
    └─ Compared ONLY against: is_reference = TRUE AND project_group_id ≠ current
    └─ Section-level (150–300 word window) similarity scores computed
    └─ Bounding-box coordinates stored for PDF highlighting

Stage 4 — AI Detection
    └─ 50–200 heuristic features extracted (linguistic, structural, lexical, stylometric)
    └─ Feature vector passed to 4-class ML classifier
    └─ Hybrid Decision Layer combines ML probabilities + heuristic confidence
    └─ Output: class label + confidence score (expressed probabilistically)

Stage 5 — Report Generation
    └─ Auditable JSON report created with all segment scores
    └─ PDF highlight data stored (page, bbox, matched text, score)
    └─ Report saved for institutional audit

Stage 6 — Email Notification
    └─ Admin: full report with confidence metrics and model details
    └─ Student: highlighted submission + summary (no internal model details)

Stage 7 — Post-Analysis Update
    └─ UPDATE projects SET is_reference = TRUE WHERE id = :project_id
    └─ Submission becomes a reference for future comparisons

Self-Comparison & Re-Submission Logic

-- During analysis, only compare against:
SELECT * FROM projects
WHERE is_reference = TRUE
  AND project_group_id != :current_project_group;

This means:

  • is_reference prevents an active submission from matching itself
  • project_group_id prevents v1, v2, v3 of the same project from flagging each other
  • After analysis, the submission becomes a reference for the next student's submission

6. AI Detection Engine

Heuristic Categories

Category Description Key Indicators
Linguistic Language complexity and flow Perplexity, burstiness, repetition rate
Structural Text formatting and consistency Sentence/paragraph length uniformity
Lexical Vocabulary and word choice Rare synonym overuse (QuillBot fingerprint)
Stylometric Writing style stability Readability consistency, function-word ratios

4-Class Classifier

Class ID Description
Human-written 0 Text written entirely by a human
Raw AI-generated 1 Direct LLM output (ChatGPT, Gemini, Claude, etc.)
Human-edited AI 2 AI output significantly revised by a human
AI-paraphrased 3 AI text run through a paraphrasing tool (QuillBot, etc.)

Recommended models: Logistic Regression (baseline) → Random Forest → Gradient Boosting (production). Deep neural networks are intentionally avoided for legal defensibility and explainability.

Hybrid Decision Layer

The final result combines:

  • ML class probabilities (from the trained classifier)
  • Heuristic confidence scores (from the feature extractor)

Output example: "Classification: Likely AI-paraphrased, Confidence: 71%"

Model Maintenance Schedule

Component Strategy Frequency
Training Data Add samples from new LLMs and paraphrasing tools Monthly
Model Retraining Retrain classifier on expanded dataset Quarterly / Bi-annually
Feature Drift Monitoring Monitor heuristic feature distributions for shifts Continuous

7. Database Schema

Core Tables

Table Purpose
users User accounts (admin, instructor, user roles)
projects Submitted files with status, language, is_reference, project_group_id, document_hash
project_texts Extracted clean body text + char-to-PDF index mapping
project_fingerprints N-gram fingerprints with sentence index
project_embeddings Sentence transformer embedding vectors
similarity_results Per-comparison similarity scores
plagiarism_segments Segment-level matches with page/bbox positional data
section_analysis Section-level breakdown (page, bbox, text offsets)
ai_detection_results Per-project AI classification result + ML class probabilities
ai_detection_segments Segment-level AI scores with page/bbox data
pdf_positional_data Exact character/bounding-box mapping for PDF highlighting
notification_queue Email notification jobs with subject, status, scheduled/sent timestamps
roles Role definitions for RBAC

Critical Fields

The following fields are essential to accurate scoring (their absence causes inflated or unreliable results):

Table Critical Fields Impact if Missing
projects project_group_id, document_hash Cannot detect duplicates; false similarity scores
project_texts char_to_pdf_index, body_text_offset PDF highlight mapping breaks; misaligned comparisons
project_fingerprints sentence_index Sentence-level comparison fails; inflated scores
plagiarism_segments page_number, bbox_*, section_analysis_id Cannot locate matches visually in PDFs
ai_detection_results ml_class_probabilities Confidence levels cannot be assessed
ai_detection_segments page_number, bbox_* Segment alignment fails; increased false positives
pdf_positional_data char_start, char_end, matched_project_id, similarity_score Cannot determine exact location of matches
section_analysis full_text_start/end, page_number, bbox_* Section-based analysis is unreliable

8. Application Modules

CI4 Controllers

Controller Responsibility
AuthController Login, registration, password reset, profile
DashboardController User/admin dashboard with statistics
ProjectController Upload, view, delete, reanalyze, bulk upload, job/task status polling
ReportController Similarity reports, AI-detection reports, PDF viewer with highlights, export
AdminController User management, all-projects view, system logs, AI model manager, settings
ApiController Internal webhooks (analysis-complete callback, health check, file serving)
ServiceController Admin panel for starting/stopping FastAPI, Celery, Redis; queue stats; log viewer
SubscriptionController Credit/subscription management (admin grant + user view)
SettingsController User and role management for non-admin staff
LanguageController Language switching (English / French)

FastAPI Services (Python)

Service Module Responsibility
plagiarism_detector.py Orchestrates fingerprint + semantic comparison
ai_detector.py Heuristic feature extraction + ML classification
feature_extractor.py Computes the 50–200 heuristic feature vector
fingerprinting.py N-gram rolling-hash fingerprint generation
semantic_analyzer.py Sentence-transformer embedding and cosine similarity
pdf_extractor.py Text + bounding-box extraction from PDFs
text_processor.py Cleaning, lowercasing, preliminary-page removal
section_parser.py Detects and strips front/back matter
position_mapper.py Maps clean-text character offsets back to PDF coordinates
email_service.py Sends dual-audience notification emails
high_performance_detector.py Parallel batch detection using ThreadPoolExecutor
global_repository_service.py Cross-project embedding lookup for semantic matching

CI4 Models

Model Table
UserModel users
ProjectModel projects
ProjectTextModel project_texts
ProjectFingerprintModel project_fingerprints
ProjectEmbeddingModel project_embeddings
SimilarityResultModel similarity_results
PlagiarismSegmentModel plagiarism_segments
SectionAnalysisModel section_analysis
AIDetectionResultModel ai_detection_results
AIDetectionSegmentModel ai_detection_segments
PDFPositionalDataModel pdf_positional_data
NotificationQueueModel notification_queue
RoleModel roles

9. API Reference

V2 High-Performance Endpoints (Recommended)

Method Endpoint Description
POST /v2/check_project Queue a single project for analysis
POST /v2/bulk_analyze Queue multiple projects in one job
GET /v2/job_status/{id} Real-

Read the rest on GitHub

Scan report · 2026-10-16
  • ✓ Prohibited terms or links
  • ✓ Repository eligibility
  • ✓ slopscore.md paperwork
  • ✓ Content policy
  • ✓ Risk review — +10 owner has 0 followers; +10 single commit

From the balcony · 0 of 4 clapped

    Crusoe, Schnitzel, Cap'm Slop and Princess read it and passed. Their reasons are on the balcony, with every other verdict.

    Critics are accounts on this site with no GitHub account behind them. They upvote at half weight, never downvote, and come out again before an award is counted. Who they are.

    0 comments

    log in to comment.

    report this listing — log in to report