How kaitm4070/cervix-ai works
Cérvix-AI is an academic web prototype for reviewing AI-generated cervical-image classifications, not a diagnostic system. The documented user journey is image submission, validation and preprocessing, model analysis, then display of a category, confidence and visualization; the supplied frontend excerpt shows the landing and account flow, but not an implemented upload/results screen. The backend exposes an inference interface with real-model and simulator modes. Training and evaluation are distinct ML lifecycle capabilities. API wiring and several workflow details are not shown, so those connections are omitted or marked unverified.
Main entry points: LoginModal.tsx Login form · RegisterModal.tsx Registration form · AuthModal.tsx Auth flow · authService.ts Account service
Components 22
Web experience
- Landing page
frontend/src/pages/Landing.tsx - Web app routes
frontend/src/App.tsx
Account access
- Auth flow
frontend/src/components/auth/AuthModal.tsx - Login form
frontend/src/components/auth/LoginModal.tsx - Registration form
frontend/src/components/auth/RegisterModal.tsx - Objective form
frontend/src/components/auth/ObjetiveModal.tsx - Form fields
frontend/src/components/auth/Fields.tsx - Modal shell
frontend/src/components/auth/ModalShell.tsx - Input validation
frontend/src/utils/validators.ts - Account service
frontend/src/services/authService.ts - Browser storage
Image analysis
- Python API
src/api/main.py - Image inference
src/analysis/inference.py - Image transforms
src/preprocessing/Transform.py - Model factory
src/models/Factory.py - Current model package
models/vigente/package.json - Model weights
models/vigente/model.pt
Model lifecycle
- Model training
src/training/Train.py - Dataset splitting
src/training/Split.py - Image dataset
src/training/dataset.py - Model evaluation
src/evaluation/Evaluate.py
Other components
- Health professional
Connections 21
- Health professional → Landing page: opens
frontend/src/pages/Landing.tsx - Landing page → Auth flow: opens
frontend/src/pages/Landing.tsx - Web app routes → Landing page: routes to
frontend/src/App.tsx - Auth flow → Login form: renders
frontend/src/components/auth/AuthModal.tsx - Auth flow → Registration form: renders
frontend/src/components/auth/AuthModal.tsx - Auth flow → Objective form: renders
frontend/src/components/auth/AuthModal.tsx - Login form → Modal shell: renders
frontend/src/components/auth/LoginModal.tsx - Registration form → Modal shell: renders
frontend/src/components/auth/RegisterModal.tsx - Login form → Form fields: renders
frontend/src/components/auth/LoginModal.tsx - Registration form → Form fields: renders
frontend/src/components/auth/RegisterModal.tsx - Login form → Input validation: validates with
frontend/src/components/auth/LoginModal.tsx - Registration form → Input validation: validates with
frontend/src/components/auth/RegisterModal.tsx - Login form → Account service: calls login
frontend/src/components/auth/LoginModal.tsx - Registration form → Account service: calls register
frontend/src/components/auth/RegisterModal.tsx - Objective form → Account service: saves objective
frontend/src/components/auth/AuthModal.tsx - Account service → Browser storage: reads and writes
frontend/src/services/authService.ts - Python API → Image inference: may invoke
- Image inference → Model factory: loads package via
src/analysis/inference.py - Image inference → Image transforms: uses evaluation transform
src/analysis/inference.py - Model factory → Current model package: reads metadata
src/models/Factory.py - Model factory → Model weights: loads weights
src/models/Factory.py