OmniAccelerANT logo: a sprinting ant and a lightning bolt

OmniAccelerANT

An inference engine with a Flutter/Dart frontend and a Rust/C++ backend, showcasing GStreamer capabilities enhanced with AI.

Linux x64 · build + test Linux arm64 · build + test Windows x64 · build + test Windows arm64 · cross build + test Web · build + test Android · build + test Automatic Dependency Submission TopLang Donate Twitter YouTube

Official homepage

A Flutter/Dart app on a Rust/C++ inference core with GStreamer camera pipelines, for Windows, Linux, Android and the web: an end-to-end reference for cross-platform inference on desktop, web and embedded devices. ObservANT is the same stack as an installable camera that spots cats.

Dependency updates: run bash scripts/linux/renovate-local.sh to report, --apply --dry-run to plan, and --apply to update. A real apply initializes a missing pinned hub and follows direct submodules' remote default branches. CI checks the wrapper and config; see the shared Renovate guide. Both platforms use ANTfrastructure's locked uv project for CMake formatting.

Android CI checks launcher resources before building and verifies the project's MIT text in the APK. The Linux package, MSI and MSIX builders check that text in their completed packages; see project operations. Linux and Windows packages also carry the ONNX Runtime license and notices from their matching image wheel. Every package ships the third-party component list with its license texts.

Highlights

  • An installable ObservANT: a .deb, AppImage, flatpak or Windows MSI that streams a camera to any browser and spots cats. The Flatpak packager verifies the committed app and nonempty bundle.
  • A small-board ObservANT bundle whose producer build reuses OxidANT's container helper.
  • GStreamer WebRTC livestreaming with ready-to-use pipelines for USB and Raspberry Pi cameras.
  • GStreamer native GTK integration, for writing Linux AI inference apps.
  • ESP32-S3-EYE on-device cat detection, its USB protocol in Rust, shown on the app's Device page.
  • flutter_rust_bridge as the API boundary between the Dart UI and the Rust core.
  • Retained device sessions: language, theme and layout changes preserve routed page state.
  • Containerized builds in ANTfrastructure's images: a local run invokes the script CI invokes; all five Linux entry points and the two bundle checks reuse its CLI value parser.

Quick start

git clone --recurse-submodules --branch develop https://github.com/Kataglyphis/OmniAccelerANT.git
cd OmniAccelerANT
pwsh -File scripts/windows/Invoke-LinuxLane.ps1   # the native Linux lane, in the family image

It needs pwsh 7 and nerdctl (Rancher Desktop on Windows). The other lanes, the Windows build and the host prerequisites: Getting Started. Only want ObservANT? A release's package installs it: a new camera in five steps.

Documentation

Topic Read
What it is, its feature status per platform, literature docs/source/overview.md
Prerequisites, the lanes, the API docs docs/source/getting-started.md
Container source selection, Windows and ARM64 bundle checks, Android, Raspberry Pi and web builds docs/source/platforms.md
ObservANT, the Rust webcam path and the WebRTC pipelines docs/source/camera-streaming.md
ESP32-S3 companion, camera and shared host toolchain docs/source/esp32.md
What each test proves, including shared Windows PE fixtures docs/source/testing.md
Gates, releases, local lanes, dependency upgrades docs/source/project-operations.md
CI quality reports, Ruff/ty, PowerShell syntax checks and refactor previews Shared quality tooling
Dependency and bridge updates docs/source/upgrade-guide.md
The other READMEs in the tree docs/source/readmes.md
Rules for agents and contributors AGENTS.md
Known work BACKLOG.md
Changes CHANGELOG.md

Contributing and contact

OmniAccelerANT is one of the Kataglyphis repositories, which share one way to contribute and one contact. Licence: MIT, see LICENSE.

Libraries

blog_dependent_app_attributes
fallback_font_licenses
js/gstwebrtc_api_interop
l10n/app_localizations
l10n/app_localizations_de
l10n/app_localizations_en
main
Pages/AboutMePage/about_me_page
Pages/AboutMePage/about_me_page_navbar_config
Pages/CameraSettingsPage/camera_settings
Pages/CameraSettingsPage/camera_settings_navbar_config
Pages/CameraSettingsPage/camera_settings_page
Pages/CameraSettingsPage/coco_classes
Pages/DataPage/BlockOverviewPage/block_overview_page_config
Pages/DevicePage/device_page
Pages/DevicePage/device_page_navbar_config
Pages/DevicePage/esp32_controller
Pages/LandingPage/landing_page_navbar_page_config
Pages/omni_screen_configurations
Pages/StreamPage/camera_peers
Pages/StreamPage/detection_status
Pages/StreamPage/dev_stats
Pages/StreamPage/gstreamer_pipeline
The plugin's GStreamer pipelines on Android and macOS, per source, and the order the Stream page tries sources in.
Pages/StreamPage/observant_api_stub
Pages/StreamPage/observant_api_web
Pages/StreamPage/rust_webcam_view
Pages/StreamPage/stream_controller
Pages/StreamPage/stream_page
Pages/StreamPage/stream_page_navbar_config
Pages/StreamPage/visit_stats
Pages/StreamPage/webrtc_view
Pages/StreamPage/webrtc_view_stub
Routing/omni_router
settings/webrtc_settings
WebRTC and video settings, parsed from assets/settings/webrtc_settings.json.
third_party_licenses
utils/json_utils