Skip to content

The Hover Opaque Application

The hover opaque application is PHX Terminal’s flagship desktop component: an intelligent overlay that sits on top of a lawyer’s existing applications, observes their workflow, and automates cross-application data entry. It is the mechanism that closes the last mile of legal automation.

The design is rooted in the computing principle of an overlay — a visual layer displayed on top of an existing interface that presents additional data or controls without altering the underlying content. It functions like a set of intelligent digital annotations that enhance the experience without disrupting the primary workflow. Relevant patterns include:

  • Tooltips — quick, contextual information shown when a user hovers over an element.
  • Popovers — additional information or mini-actions linked to an element, remaining open until dismissed.

The application’s dynamic opacity is what makes it usable without being intrusive. While the overlay is translucent and unobtrusive when idle, its interactive elements become fully opaque the moment the lawyer engages with them. This draws attention to the relevant input fields exactly when interaction is required, and fades back when it is not — keeping focus on the work, not the tool.

The overlay operates as an intelligent automation layer that continuously analyzes workflow context to:

  • Detect user workflows as they happen
  • Identify active fields and relevant data on screen
  • Suggest automated actions at the right moment
  • Inject data across applications, eliminating manual re-entry
  • Reduce repetitive workflow steps

It relies on AI Computer Vision to recognize UI elements, OCR/ICR and NLP to read and structure data, and LLMs to interpret intent.

flowchart TB
  WORK["Lawyer working in existing apps"]
  WORK --> OBSERVE["Overlay translucent — observes<br/>detects workflows · identifies active fields"]
  OBSERVE --> CV["Computer Vision recognizes UI elements"]
  CV --> READ["OCR / ICR & NLP read and structure data"]
  READ --> LLM["LLM interprets intent"]
  LLM --> REL{"Relevant to<br/>current context?"}
  REL -->|"no"| WORK
  REL -->|"yes"| SUGGEST["Suggest automated actions<br/>overlay becomes opaque on engagement"]
  SUGGEST --> HITL{"Lawyer confirms<br/>or corrects"}
  HITL -->|"approved"| INJECT["Inject data across applications<br/>universal adapter at the UI layer"]
  INJECT --> FADE["Reduce repetitive steps<br/>overlay fades back to translucent"]
  FADE --> WORK

The overlay runs a continuous observe-interpret-inject loop — surfacing only when it can help, acting only after the lawyer confirms, then fading back out of the way.

Because it works at the UI layer rather than through APIs, the hover opaque application acts as a universal adapter. It can interact with any interface — regardless of the application’s underlying technology or age — which is especially valuable where direct API integration with legacy systems is infeasible, too complex, or too costly. This bridges the legacy-integration gap without requiring a full system overhaul.

Building a transparent, click-through overlay whose controls remain interactive is a non-trivial engineering problem that differs by operating system. See Desktop Implementation for the Windows (WS_EX_LAYERED / WS_EX_TRANSPARENT) and macOS (NSWindow borderless / ignoresMouseEvents) details.