Skip to content
CAI
Software that uses CAICheck a score

aminupy/AIToolsBox

34.8

Weak · 21 September 2026

1.5k

lines of production code

Python

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Features

Added EFK stack for centralized logging

The infrastructure now includes an EFK (Elasticsearch, Fluent Bit, Kibana) stack for centralized logging. This adds a new \infra/efk-stack\ directory containing a \docker-compose.yml\ that deploys Elasticsearch 8.14.1 and Kibana 8.14.1, along with a Fluent Bit configuration that tails log files from the IAM, media, and OCR services and forwards them to Elasticsearch. A \.dockerignore\ file is also added to the \api-gateway\ directory to exclude IDE and build artifacts from Docker contexts.

infra · high confidence

Added deployment scripts and Docker configuration

Users can now deploy the application services (IAM, media, OCR) and infrastructure (API gateway, EFK stack) using new shell and batch scripts. The deployment process is streamlined via Docker Compose, which orchestrates the build and launch of all specified services on a bridge network.

deployment · high confidence

IAM service introduces user registration, authentication, and OTP verification endpoints

The IAM service now provides a complete user management API. Users can register via a POST to /api/v1/users/Register, which creates a user and triggers an OTP sent to their mobile number. Subsequent steps allow verifying the OTP, resending it, and logging in to receive a JWT access token. The service also exposes a /Me endpoint to retrieve the authenticated user's profile. Under the hood, the service initializes a PostgreSQL database, connects to Redis for OTP storage, and uses FastAPI routers with Pydantic schemas for request/response validation.

services/iam-service · high confidence

Introduce OCR service with image processing and history endpoints

The OCR service is now available to process images and retrieve OCR results. Users can submit images for text extraction via the /api/v1/ocr/process endpoint, which leverages Tesseract OCR and stores the results in MongoDB. Additionally, a new /api/v1/ocr/get\_ocr\_history endpoint allows users to retrieve their past OCR history. The service is configured with permissive CORS headers to allow cross-origin requests from all origins.

services/ocr-service · high confidence

Media service introduces REST and gRPC endpoints for media upload and retrieval

The media service now exposes two ways to interact with media assets. A FastAPI-based REST API allows authenticated users to upload files and retrieve them via streaming responses. Additionally, a gRPC service is provided for programmatic access, specifically implementing a DownloadMedia RPC that returns media data as bytes. Both endpoints enforce user authentication via an IAM client and utilize MongoDB GridFS for storage.

services/media-service · high confidence

Dependencies

Added Python dependency manifests for IAM, Media, and OCR services

New requirements.txt files have been added for the IAM, Media, and OCR services, defining their Python dependencies. The IAM service includes FastAPI, SQLAlchemy, Redis, and logging via loguru. The Media service adds gRPC, HTTPX, and circuit breaker libraries. The OCR service introduces image processing tools like OpenCV and Pillow, alongside gRPC and OCR libraries. All three services now explicitly declare their third-party dependencies.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 37 → 35 (-2.1)
  • Rubric changed (rubric-2026.08.18 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 99 → 99 (+0.0)
  • Architecture 69 → 69 (+0.0)
  • Maturity 39 → 39 (+0.0)
  • Readiness 12 → 9 (-3.1)
  • Security 86 → 79 (-7.2)

Resolved (10)

  • Dependency hygiene not measured — no supported dependency manifest was read
  • Duplicated block (10 lines × 2) (services/media-service/app/infrastructure/clients/http_client.py)
  • Duplicated block (25 lines × 3) (services/iam-service/app/logging_service/logging_config.py)
  • Duplicated block (8 lines × 2) (services/media-service/app/infrastructure/clients/iam_client.py)
  • Duplicated block (9 lines × 2) (services/media-service/app/infrastructure/clients/http_client.py)
  • High IaC: DS-0002 (services/iam-service/Dockerfile)
  • No exposed public API
  • Scanner failed to run — not a clean result
  • Secret: generic-api-key (services/iam-service/docker-compose.yml)
  • dormant codebase — no living knowledge left to concentrate

New (45)

  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)
  • Duplicated block (20 lines × 2) (services/media-service/app/infrastructure/clients/http_client.py)
  • Duplicated block (23 lines × 2) (services/media-service/app/domain/models/object_id_model.py)
  • Duplicated block (25 lines × 3) (services/iam-service/app/logging_service/logging_config.py)
  • Duplicated block (8 lines × 2) (services/media-service/app/infrastructure/clients/iam_client.py)
  • Duplicated block (9 lines × 2) (services/media-service/app/infrastructure/clients/http_client.py)
  • Duplicated block (9 lines × 2) (services/media-service/app/infrastructure/clients/http_client.py)
  • Duplicated block (9 lines × 2) (services/media-service/app/services/auth_service.py)
  • High IaC: WD-COMPOSE-0001 (infra/api-gateway/docker-compose.yml)
  • High IaC: WD-COMPOSE-0002 (infra/efk-stack/docker-compose.yml)
  • High IaC: WD-COMPOSE-0002 (services/iam-service/docker-compose.yml)
  • High IaC: WD-COMPOSE-0002 (services/iam-service/docker-compose.yml)
  • High IaC: WD-COMPOSE-0002 (services/iam-service/docker-compose.yml)
  • High IaC: WD-COMPOSE-0002 (services/media-service/docker-compose.yml)
  • High IaC: WD-COMPOSE-0002 (services/ocr-service/docker-compose.yml)
  • Medium IaC: WD-COMPOSE-0002 (infra/api-gateway/docker-compose.yml)
  • Medium IaC: WD-COMPOSE-0002 (infra/efk-stack/docker-compose.yml)
  • Medium IaC: WD-COMPOSE-0002 (infra/efk-stack/docker-compose.yml)
  • Medium IaC: WD-DOCKER-0003 (services/iam-service/Dockerfile)
  • …and 25 more

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

aminupy/AIToolsBox was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 21 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 76d0ee8a0199f930756fa79cfdbe11c8ff64c4eb — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-28e75b8e3254.