Back to work

Jan 2026 – Present

PlagDetect

Multi-modal plagiarism detection for educators and researchers

Full-stack & AI engineering — solo build

Overview

PlagDetect started as a hackathon project and grew into a working tool for checking whether a piece of work — prose, source code, or an image — is original. It pairs a web app with a Chrome extension so a teacher can scan content without leaving the page they’re grading. It won first place at Cursors 2k26 against 100+ teams.

Problem

Existing plagiarism tools are slow, text-only, and disconnected from where teachers actually work. They rarely handle source code or images, and they make you upload documents into yet another dashboard. I wanted detection that was multi-modal, fast enough to feel real-time, and available right where the content lives.

Build

  • Modelled detection as a LangGraph pipeline so text, code and image checks run as separate, composable nodes rather than one monolithic prompt.
  • Used RAG with live web results (Serper API) to ground similarity checks in real, current sources instead of a stale corpus.
  • Built a Manifest V3 Chrome extension that scans the active page and surfaces results inline, plus a PWA for full reports and history.
  • Added login, per-user history, and readable reports with highlighted matches and source links.

Security & engineering decisions

  • All AI calls run behind Guardrails AI to defend against prompt injection from untrusted page content — the extension reads arbitrary web pages, so input is hostile by default.
  • Scoped the extension’s permissions tightly under Manifest V3 and kept API keys server-side, never in the extension bundle.
  • Treated user-submitted documents as untrusted input end to end: validated, size-limited, and isolated from the model’s system instructions.

Outcome

  • First place at Cursors 2k26 (100+ teams).
  • A working multi-modal pipeline that handles text, code and images in one flow.
  • Automated the source cross-checking and reporting that used to be done by hand.

Stack

Next.jsPostgreSQLLangGraphRAGGemini APIGuardrails AISerper APIChrome Extension (MV3)