Kaithi Script Annotation & Labeling Platform (congenial-funicular)
Custom-built annotation tool for Kaithi script document images - polygon-level text region labeling with a Maker-Checker review workflow.
Project Snapshot
Role
Solo Developer
Organization
Multilipi (in-house tool for Kaithi OCR project)
Timeline
2025 - Active Development
Status
Active Development
Deployment
Self-hosted
Tech Stack
Impact & Results
- Purpose-built annotation tool for Kaithi OCR dataset creation
- Maker-Checker quality workflow for annotation accuracy
- Open source: github.com/HemangTheHuman/congenial-funicular
A custom-built annotation tool (congenial-funicular) for Kaithi script document images. Designed to handle polygon-level text region labeling and character-level transcription with a robust Maker-Checker review workflow.
The Problem
The Kaithi OCR project required custom annotation of historical Kaithi script images, specifically polygon-level text region annotation coupled with character-level labeling. Existing open-source tools (like Label Studio or CVAT) lacked the script-specific customization needed for this workflow.
The Solution
A purpose-built web platform developed from scratch to handle bounding-box/polygon annotations for historical documents, complete with task management, a review pipeline, and role-based access.
Architecture & Implementation
Annotation Interface: Polygon/bounding-box annotation interface for text regions in document images.
Transcription Input: Character/word-level Kaithi script transcription input.
Workflow Management:
Task management system to assign images to annotators.
Maker-Checker review workflow (annotators submit → reviewers verify → approved or sent back).
Batch review and task import system.
Backend & Auth: PostgreSQL backend for storing annotations, task states, and user roles. Role-based access control (Annotator, Reviewer, Admin).
Data Used: Scanned historical Kaithi script documents.
Tech Stack: Next.js, React.js, PostgreSQL, Prisma/Drizzle ORM, TypeScript.
Challenges & Solutions
Custom Tooling: Building a performant custom canvas for intricate polygon annotations.
Concurrency: Managing concurrent database transactions for multiple annotators working simultaneously.
Review Flow: Implementing a strict maker-checker workflow state machine.
Key Takeaways
Advanced React state management and Canvas API usage.
PostgreSQL transaction handling and Prisma ORM optimization.
Full-stack system architecture from scratch.