PRODUCT TECHNICAL REPORT · REVISION 1

How InkTyper turns live speech into dependable text

This is the maintained technical description of InkTyper: the client state machine, progressive ASR path, AI editing boundary, cloud gateway, data model, reliability strategy, and the evidence still required before every part can be called production-scale.

InkTyper EngineeringModified 2026.08.08
ProgressiveStable speech is recognized before stop
Tail-boundedFinal ASR closes the unstable tail
Fail-openReliable ASR ships if AI editing fails
TraceableOne request identity spans every stage
Document roleCanonical product reportUpdated only when the principal technical route changes.
Evidence modelProduction + controlled testsObserved results, benchmarks, estimates, and targets are labeled separately.
Current maturityProduction path, scaling in progressSingle-node quality is usable; multi-replica capacity still needs soak evidence.

01 · PRODUCT CONTRACT

The product is an input system, not a transcription demo

InkTyper begins when a global hotkey starts audio capture and ends only when dependable text reaches the user's original cursor. Recording, transport, recognition, AI correction, clipboard delivery, accessibility permission, and fallback are one user-visible transaction. A fast model cannot compensate for a broken paste, and a successful final transcript cannot erase a failed real-time session.

CaptureProgressive ASRConstrained editDeliverAudit

02 · CLIENT STATE MACHINE

Every stage is explicit, timed, and recoverable

The desktop client moves through idle, recording, uploading, transcribing, editing, pasting, done, and error states. The compact overlay displays the active state without stealing focus. It caps its height, scrolls live text, collapses content after delivery, and keeps the performance event visible. macOS uses a non-activating panel that can appear over full-screen Spaces; Windows uses its own top-level-window and permission adaptations.

StagePrimary workFailure behavior
RecordingCapture audio, level, duration, progressive chunksStop before charge when no microphone signal exists
ASRCommit stable clauses and close the tailReconnect once, then explicit batch fallback
AI editCorrect without answering, translating, or changing intentDeliver raw ASR on timeout or invalid output
DeliveryRestore target and paste oncePreserve clipboard result and expose retry

03 · RECOGNITION PATH

SenseVoice quality with progressive, pause-aware finalization

The production route uses SenseVoice as the primary Chinese/English baseline. Audio is sent during recording. Pause-aware segmentation produces candidates; stable prefixes are frozen and merged; stop finalizes only the mutable tail. This simulates the responsiveness users expect from streaming without accepting the mixed-language quality loss observed in Paraformer. Whisper remains a compatibility baseline, not the default product identity.

Model policyThe UI lists only models backed by a ready serving replica. requested_model and actual_model are stored separately. Silent fallback to another model is prohibited.

04 · AI EDITING

The model edits speech; it does not reply to it

AI editing is constrained to correction, punctuation, layout, and user-selected transformation. It must preserve language and intent, never answer a question merely because the transcript contains one, and never translate unless the user explicitly selects translation. Stable clauses can be edited asynchronously during recording; final editing should eventually operate on only the mutable semantic tail.

05 · CLOUD BOUNDARY

One product gateway controls identity, quota, routing, and evidence

The client calls the InkTyper product API. The edge verifies account or API key, plan, quota, idempotency, and model authorization before forwarding to a private inference plane. GPU and AI-provider tokens remain server-side. A request ID connects client timing, gateway timing, selected node, actual model, usage ledger, and final outcome.

InkTyper clientProduct gatewayPrivate ASR / AIUsage + telemetry

06 · RELIABILITY AND CAPACITY

Usable single-node performance is not yet proof of scale

Two users do not mix audio or account state, but the current SenseVoice process serializes GPU inference behind a shared lock. With two simultaneous boundaries, the second request typically waits roughly one inference. The larger risk is missing admission control, bounded queues, queue_ms telemetry, and production replicas: under pressure, clients may abandon real-time finalization and move complete audio into a batch path that is also capacity-limited.

The production target is a regional gateway, at least two healthy ASR replicas, explicit admission and Retry-After semantics, bounded per-session buffers, semantic readiness, and load tests across 2/4/8 concurrent users plus a 1,000-request soak.

07 · DATA AND COMMERCIAL CONTROL

Facts, derivatives, diagnostics, and billing have different lifetimes

Raw transcripts are facts. AI-formatted text is derived. Performance events are operational evidence. Audio is short-lived diagnostic material. Subscription events come from Dodo, while InkTyper owns the entitlement projection and immutable usage ledger. Retries deduplicate on request ID so a network failure does not charge twice.

08 · EVIDENCE AND OPEN GATES

What is proven, what is promising, and what remains open

AreaCurrent evidenceOpen gate
ASR computeSenseVoice controlled RTX 3080 tests and real History timingsRepresentative multilingual accuracy set and concurrent p95
End-to-end latencyStage timing in current desktop buildsMulti-region p50/p95/p99 and reconnect soak
AvailabilityFallback paths implementedTwo-plus replicas, admission, failure injection
DeliverymacOS and Windows buildsWindows hardware smoke and trusted signing
BillingCheckout, webhook, entitlement, and usage code pathsOngoing controlled payment/refund/cancel acceptance

REVISION POLICY

This report changes only when the technical route changes

Small fixes and latency tuning belong in dated version logs. This report changes when the client transaction, primary recognition path, trust boundary, reliability model, data contract, platform strategy, or principal SLO changes. Every revision must link back to the dated evidence that justified it.

SOURCE TRAIL

Dated evidence behind the current technical route

These entries preserve the observations, benchmarks, decisions, and unresolved gates that justified this revision. They are evidence, not silently rewritten appendices.

  1. Bounded ASR tail latency in the current sample
  2. The real-time production path
  3. SenseVoice and Whisper inference benchmark
  4. API isolation and the private inference boundary
  5. Cache, sync, and data governance baseline
  6. Dodo subscriptions, quotas, and usage ledger