Skip to content
CAI
Software that uses CAICheck a score

f/textream

64.8

Adequate · 30 September 2026

16.3k

lines of production code

Swift

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Textream is a teleprompting application that supports iOS devices and enables remote viewing via a local web server. It features live text streaming, on-device dictation with language detection, and the ability to import presenter notes from PowerPoint files. The system also includes a text editor with caret tracking and support for right-to-left scripts.

Features

Textream expands to iOS and adds remote viewing, dictation, and presentation import

Textream is now available on iPhone and iPad, with a dedicated iOS scheme and universal bundle ID. The app introduces a remote teleprompter feature that streams live text and status to any device via a local web server (BrowserServer and DirectorServer), including support for per-device mirror modes and secure, authenticated connections with connection limits. Users can also use on-device dictation via a new DictationManager with resilient microphone handling and language detection, import presenter notes from PowerPoint files, and edit text in a HighlightingTextEditor that supports caret tracking and RTL scripts.

Textream · 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 67 → 65 (-2.4)
  • Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 85 → 80 (-5.1)
  • Architecture 99 → 99 (+0.3)
  • Maturity 67 → 66 (-0.7)
  • Readiness 56 → 54 (-2.0)
  • Security 81 → 81 (+0.0)

Resolved (4)

  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)
  • Documentation: written for insiders (docs/support.html)
  • Hotspot: Textream/TextreamiOS/Views/PromptSessionView.swift (Textream/TextreamiOS/Views/PromptSessionView.swift)

New (80)

  • ContentView.body (cognitive 22) (Textream/Textream/ContentView.swift)
  • ContentView.body (cyclomatic 20) (Textream/Textream/ContentView.swift)
  • ContentView.mainContent (cognitive 26) (Textream/Textream/ContentView.swift)
  • ContentView.mainContent (cyclomatic 23) (Textream/Textream/ContentView.swift)
  • Duplicated block (10 lines × 2) (Textream/Textream/NotchOverlayController.swift)
  • Duplicated block (10 lines × 2) (Textream/Textream/NotchOverlayController.swift)
  • Duplicated block (10 lines × 2) (Textream/Textream/SettingsView.swift)
  • Duplicated block (11 lines × 2) (Textream/Textream/SettingsView.swift)
  • Duplicated block (11 lines × 2) (Textream/TextreamiOS/Views/RootView.swift)
  • Duplicated block (12–17 lines × 2) (Textream/Textream/NotchOverlayController.swift)
  • Duplicated block (13 lines × 2) (Textream/Textream/ContentView.swift)
  • Duplicated block (13 lines × 2) (Textream/Textream/NotchOverlayController.swift)
  • Duplicated block (13 lines × 2) (Textream/Textream/SettingsView.swift)
  • Duplicated block (13 lines × 2) (Textream/Textream/SettingsView.swift)
  • Duplicated block (16 lines × 3) (Textream/Textream/ContentView.swift)
  • Duplicated block (17–18 lines × 2) (Textream/Textream/ExternalDisplayController.swift)
  • Duplicated block (18 lines × 2) (Textream/Textream/NotchOverlayController.swift)
  • Duplicated block (21 lines × 2) (Textream/Textream/SettingsView.swift)
  • Duplicated block (26 lines × 3) (Textream/Textream/ExternalDisplayController.swift)
  • Duplicated block (29 lines × 2) (Textream/Textream/NotchOverlayController.swift)
  • …and 60 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

f/textream 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 30 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 2c02f3eee2d8eac238c10a20d3d0e4b021465656 — the exact code this score is about.
  • Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-cb25ca4feafa.