Skip to content
CAI
Software that uses CAICheck a score

v-modal/vmodal_sdk_flutter

60.5

Adequate · 19 September 2026

12.8k

lines of production code

Dart

primary language

1

measurement over time

CAI band scale
CAI lens gauges

What this system is

This system is the VModal Flutter SDK, a Dart client library designed to integrate video search and indexing capabilities into mobile applications. It provides core functionality for managing user collections, uploading video content with adaptive multipart streaming, and performing searches via text, images, or absolute time ranges. The repository also includes multiple example applications and tooling to demonstrate these workflows and validate the SDK's integration with the upstream VModal service.

Features

Add Framebase video search example

Introduces the Framebase Flutter example, a product-style demo for searching a small travel-video library using natural-language queries or reference photos. The example demonstrates the complete mobile flow, including runtime authentication, metadata-aware streamed uploads, asynchronous indexing, trip-scoped grouped results, and playback of the local source video at the returned timestamp. It includes bundled city-street footage and comprehensive documentation on media provenance and usage.

_example/05\framebase · high confidence

Add Sightline Flutter example app with integration tests

The example/04\_example directory now contains a complete Flutter application named Sightline, demonstrating the VModal Flutter SDK with two search modes: video archive search and traffic camera search. The project includes full Android and iOS platform configurations, analysis options, and a comprehensive suite of integration tests that drive the app's UI workflows, including API key setup, media upload, indexing, text-based search, and image-based search.

_example/04\example · high confidence

Initial release of the VModal Flutter SDK with comprehensive tooling and examples

The VModal Flutter SDK (v1.2.2) is now available, providing a public-facing Dart package for interacting with the VModal platform. This release includes the core SDK library, four example applications (full app, users, CCTV, and Sightline), and a complete build/test/release infrastructure. Key capabilities include bounded streamed responses, cancelable signed uploads, ordered asynchronous batch search, and CCTV-specific features like caller-selected filenames, metadata text, and absolute-time search. The SDK enforces strict linting, includes security scanning via gitleaks, and supports publishing to pub.dev using GitHub Actions OIDC for non-interactive authentication.

(repo-wide) · high confidence

Initial release of the Vmodal Dart SDK

This change introduces the Vmodal Dart SDK (version 1.2.2), providing a complete client library for interacting with the Vmodal service. The SDK includes a central \VmodalClient\ for managing configuration, authentication, and resource access (search, collections, indexes, admin, and images), along with support for adaptive multipart video uploads, rotating API key providers, and a structured error hierarchy.

lib/src · high confidence

Added a new compile-checked example in \example/03\_cctv\ that demonstrates the Flutter SDK's CCTV input contract. This example walks through the progressive flow of authenticating, listing project collections and index jobs, uploading timestamped CCTV footage with specific metadata, creating and waiting for a frame index, and finally searching metadata within an absolute time range. It includes the \CctvUploadInput\ and \CctvSearchInput\ helper classes to map user-provided timestamps and metadata to the SDK's upload and search options, along with corresponding unit tests to verify that input fields are correctly mapped and that caller-provided lists are not mutated.

_example/03\cctv · high confidence

New Flutter example apps for Android setup and user-scoped content organization

This change introduces two new example applications. The \example/01\_full\_app/android\ directory now includes the standard Android project structure (manifests, MainActivity, and launch themes) required to run the Flutter application on Android devices. The \example/02\_users\ directory adds a new set of compile-checked Flutter examples demonstrating four distinct patterns for organizing searchable content: a shared global search index, a private index per application user, multiple streams for a single user (camera, favorites, uploads), and a business-domain product catalog. These examples include the necessary Dart classes, session management, and tests to validate the user-to-collection mapping logic.

_example/01\_full\_app/android, example/02\users · high confidence

New tooling for release validation, live integration testing, and performance benchmarking

The tool directory now includes several new scripts to support the SDK lifecycle. \check\_route\_sync.dart\ validates that the Flutter route contract matches the upstream Python API definitions. \release\_manifest.dart\ handles release metadata checks, source exports, and SHA-256 manifest generation. \live\_test.dart\ and \live\_cctv\_test.dart\ provide end-to-end integration tests for authentication, video upload, indexing, and search capabilities. Additionally, \perf\_benchmark.dart\ measures upload performance metrics, and \flutter\_checksums.txt\ pins the Flutter SDK version 3.44.6 for reproducible builds.

tool · high confidence

VModal Flutter example app added

A new complete example application (\example/01\_full\_app\) is provided to demonstrate the VModal SDK workflow on Android and iOS. The app guides users through authentication, collection listing, video upload, index creation, and search, displaying results in a responsive image grid. It uses the \VmodalClient\ API for now, with search candidates filtered to \vid\_file\ modes and image results loaded via the image bytes API. The example includes full platform scaffolding (Android/Gradle 9.1.0, iOS/Xcode 15.10) and widget tests to validate the progressive UI flow.

_example/01\_full\app · high confidence

Test coverage

Added comprehensive test suite for the Flutter SDK

Added a new set of unit and contract tests in the \test/\ directory to verify the behavior of the \vmodal\_sdk\_flutter\ package. These tests cover adaptive upload policy selection, HTTP transport and authentication logic (including key rotation and retry behavior), CCTV-specific upload validation and signed finalize flows, multipart upload orchestration, and the new \VModal\ facade API surface. The suite also includes infrastructure tests for route contract consistency, documentation generation, error redaction, and regression manifest verification.

test · high confidence

Dependencies

Updated example apps to Flutter 3.44 and Android Gradle Plugin 9.0.1

The example applications (01\_full\_app, 02\_users, 03\_cctv, 04\_example, 05\_framebase) have been updated to target Flutter 3.44 and use the Android Gradle Plugin 9.0.1 with Kotlin 2.3.20. This migration includes new Gradle configuration files (build.gradle.kts, settings.gradle.kts) and updated pubspec.yaml files to reflect the new SDK and plugin versions, ensuring compatibility with the latest Flutter tooling.

(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

Baseline

  • First survey — no prior run to compare against. CAI 60.

Lenses

  • Code Health 95
  • Architecture 95
  • Maturity 56
  • Readiness 67
  • Security 50
  • Domain Modelling 100

Changes since last survey

  • 59 commits — 56 feature/other, 3 fixes

By area

  • (root) — 41 commits
  • (repo) — 4 commits
  • lib/src — 4 commits
  • example/01_full_app — 3 commits
  • example/05_framebase — 3 commits
  • example/04_example — 2 commits
  • example/03_cctv — 1 commit
  • example/ios — 1 commit

Notable commits

  • fix: Merge pull request #17 from balalawitch/fix/example-search-candidates-and-image-loading
  • fix: fix(example): load result frames via image bytes API instead of NetworkImage
  • fix: fix(example): use vid_img modality and non-empty filename in search candidates
  • change: Add Framebase video search example
  • change: Change image link for video search in README
  • change: Document Framebase interface screenshots
  • change: Enhance Framebase with travel video search
  • change: Initial commit
  • change: Insert tracking pixel in README
  • change: Merge pull request #18 from brpetrov/docs/search-scoring
  • change: Merge pull request #19 from podyriako/agent/add-framebase-example
  • change: Merge pull request #20 from podyriako/agent/framebase-travel-search
  • change: Release Flutter SDK from 03a9ce8fcf3c19a44e4fcfcf35c8b07320682c14
  • change: Release Flutter SDK from 0507ac2e38b2802511ea601770cc94e274f6d019
  • change: Release Flutter SDK from 1cb372a1ee813dd506bb251159be8a0bc989f810
  • change: Release Flutter SDK from 27ce7d0580e7c09839649cd256a2f8a74458531e
  • change: Release Flutter SDK from 29cc6d52fe76510c69f865a8bafc4b0c541991ed
  • change: Release Flutter SDK from 368afc8bf10f9dacbeafba8951301618b2a97bc5
  • change: Release Flutter SDK from 386d9c2f95c658c383ff957bf88baa09613c813e
  • change: Release Flutter SDK from 3f33bf4f235c7e8ff9c244aad2de851179fa9bcc
  • …and 39 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

v-modal/vmodal_sdk_flutter 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 19 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 38bf7e2824775c59949f0bd118777772ad8d2d7d — 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-13a154b7f5d1.