20 to 25 Clinical Labelers on One Endoscopy Catalog, With COCO Annotator Retired and No Annotation History Lost

A Gulf South health system outgrew COCO Annotator as its nasal-endoscopy AI program scaled. We rebuilt its catalog on FastAPI and Svelte, moved labeling to CVAT with bi-directional sync, and added a grading engine that scores labelers against expert benchmarks.

Discuss Your Labeling Pipeline
Customer Focus

A nonprofit health system in the Gulf South running an internal endoscopy AI program

Scope

Catalog redesign, COCO to CVAT migration, bi-directional sync, labeler grading

Stack

FastAPI, Svelte, IBM Carbon, CVAT, PostgreSQL, Redis

Status

Delivered in a five-week phased engagement

Outcomes

A Catalog Built to Coordinate Labelers, Not Just Store Labels

The hardest part was making COCO retirement safe: keeping the internal clinical data model intact while a different labeling platform took over underneath it, without losing a single patient's annotation history in the handoff.

20 to 25

Labelers coordinated per project with real-time progress tracking

0

Patient or annotation records lost in the COCO to CVAT migration

5 wks

From audit and discovery to grading and hardening

80%+

Test coverage target on core catalog features

The Problem

COCO Annotator Was Never Built to Be a Clinical Catalog

It handled bounding boxes well. It could not handle multi-attribute clinical workflows, dozens of parallel labelers, or a data model that kept changing as clinical needs evolved.

01
No assignment workflow at 20+ labelers

Projects ran 20 to 25 clinical labelers at once, with no reliable way to assign work by attribute or track "in progress" and "completed" states.

02
Search and filtering that stopped short

Teams could not filter by category, labeler, patient, or assignment state. Exact text search by code or category did not exist.

03
A data model out of step with the clinic

COCO's structure did not match the internal model of patients, encounters, and observations, and the gap widened with every new clinical requirement.

04
Fragile sync and no MLOps visibility

Data moved through manual spreadsheet uploads, and ML teams lost sight of dataset state exactly when the program needed to scale.

The Tech Stack

FastAPI, SQLModel, Celery, Redis, PostgreSQL and Python on the backend; Svelte, TypeScript and IBM Carbon Design System on the frontend; CVAT as the labeling platform.

What We Built

A Five-Week Rebuild Around CVAT, Delivered in Stages

One source of truth for clinical data

The engagement ran in five stages: audit and discovery, standardization, push sync and migration, pull sync and advanced search, then grading and hardening. The first job was consolidating models that had drifted across the codebase.

  • Patient, Encounter, Observation, MediaFile, Annotation, Category, Labeler and Assignment unified in one shared module, with link tables
  • Filtering and pagination standardized across every API endpoint
  • Redis-backed caching with automatic local-file fallback
  • Progress visible at every stage instead of a single big-bang cutover

Running a clinical labeling program on a tool built for bounding boxes?

We migrate annotation platforms without breaking the clinical data model underneath them.

Discuss Your Labeling Pipeline

Let’s #Transform Healthcare,# Together.

Partner with us to design, build, and scale digital solutions that drive better outcomes.

Location

Global Tech Teams LLC, 525 Washington Blvd, Industrious at Newport Tower, Jersey City, NJ 07310, United States.

Contact

+1 408 786 5974
contact@mindbowser.com
BOOK A QUICK CONSULTATION

Have a Healthcare Project in Mind?

Let’s discuss your goals, workflows, and next steps in a focused consultation call.

Calendar icon Schedule a Call

Contact form