Personal Instruments
Private alpha
TextRay app icon with a white T, lines of text, and a blue beam on a dark background.

TextRay

A local-first Mac workspace for capturing unfinished text, keeping several writing contexts open, and finding exact material again.

Category
Personal Instruments
Platform
macOS 13+
Status
Private alpha

What if unfinished writing stayed quick to capture and easy to find?

Ordinary text files remain the source of truth. Persistent tabs, deterministic search, and live saved queries add a focused workspace without accounts, cloud services, or semantic guessing.

User value

Capture now. Find the exact text later.

Write notes, drafts, chapters, snippets, and research fragments before deciding their final name or place.

01

Start without filing

Typing meaningful text creates a local draft. Promote it to a collision-safe Markdown note when it is ready.

02

Keep several contexts open

Persistent tabs, recents, and workspace restoration preserve the texts you are actively using.

03

Retrieve what you remember

Search exact text, punctuation variants, and small typos through ranked rules that remain visible and predictable.

TextRay private-alpha workspace showing a local Markdown draft, one open tab, saved status, recent document access, and note actions.View full size
Current private-alpha workspaceA native Mac editor for ordinary local text and Markdown files.

Features

A writing workspace built around ordinary files.

TextRay adds speed, context, and retrieval while keeping durable content separate from workspace metadata.

  1. 01

    Draft-first writing

    Create no file for an empty launch state, then autosave meaningful text as a local UTF-8 Markdown draft.

  2. 02

    Persistent tabs and recents

    Keep blank tabs, drafts, and notes open, return to recent documents, and restore the workspace after relaunch.

  3. 03

    Keyboard-first palette

    Use one palette for tabs, notes, recents, actions, global results, and saved Views.

  4. 04

    Deterministic search

    Rank exact matches first, punctuation-normalized matches second, and optional bounded typo matches third.

  5. 05

    Live saved-search Views

    Save a useful query and rerun it against current files without moving notes into a new container.

  6. 06

    Local file operations

    Rename, duplicate, reveal, import, export a folder backup, rebuild metadata, and use confirmed local-trash actions.

How it works

Write first. Organize through retrieval.

The workflow delays filing decisions while keeping every durable document inspectable on the Mac.

  1. 01

    Begin in a blank tab

    Type the thought before choosing a permanent filename or folder.

  2. 02

    Let the draft save locally

    Meaningful text becomes an ordinary Markdown draft with a title derived from its first meaningful line.

  3. 03

    Keep active texts together

    Open more tabs, return through recents, and restore the same writing context after relaunch.

  4. 04

    Search remembered language

    Use the palette to find a literal phrase, a punctuation variant, or an optional small typo.

  5. 05

    Save repeated searches

    Turn a useful query into a View that stays current as local files change.

In practice

The product explains its boundaries.

TextRay onboarding explaining local storage, deterministic search, Views, and Suggested Views.View full size

Local from the first launch

Onboarding introduces ordinary files, deterministic search, Views, and local-only behavior before writing begins.

TextRay palette showing an exact Project Alpha result and a selected action to create a View from the query.View full size

Search becomes a reusable View

A palette result shows why it matched and offers to save the current query as a live View.

TextRay Search settings showing exact, punctuation-normalized, and typo-tolerant search behavior.View full size

Match behavior stays visible

Settings separate always-on exact search from optional punctuation normalization and typo tolerance.

Product concept

Ordinary files remain the durable layer.

TextRay places a recoverable workspace around local text instead of replacing it with an opaque content store.

01

Capture before classification

A thought can become a local draft before the person knows its permanent name or location.

02

Retrieve without guessing meaning

Search tolerates mechanical variation while avoiding semantic expansion or remote interpretation.

03

Organization without ownership

Tabs, recents, and Views help navigate files without becoming the containers that own their content.

Architecture

A native local workspace with separate content and metadata.

SwiftUI and AppKit present the interface while focused services coordinate files, workspace state, search, Views, recovery, and packaging on the Mac.

  1. 01Meaningful text in a tab
  2. 02Local UTF-8 draft autosave
  3. 03Workspace and recents metadata
  4. 04In-memory search corpus
  5. 05Deterministic ranked result
  6. 06Optional live saved query

Content and metadata stay separate

Notes and drafts are ordinary files. Tabs, recents, Views, settings, and suggestions use reconstructable local JSON metadata.

Search rebuilds from current files

Executed queries read a local in-memory corpus instead of relying on a hidden persistent index.

No runtime service dependency

Writing, search, Views, and suggestions use no account, cloud, telemetry, third-party runtime package, or AI provider.

Durability remains under qualification

Atomic writes reduce partial-write risk, but recent audits identify unresolved pending-save, external-edit, termination, and multi-window defects.

Technology

Native, local, and explainable.

Application

  • Swift 5
  • SwiftUI
  • AppKit
  • Combine
  • macOS 13+

Durable content

  • UTF-8 .txt and .md files
  • Local drafts
  • Collision-safe note promotion

Workspace state

  • Local JSON metadata
  • Tabs and recents
  • Views and preferences
  • App-local trash

Retrieval

  • In-memory local corpus
  • Exact matching
  • Punctuation normalization
  • Bounded typo tolerance

Validation and delivery

  • XCTest
  • Synthetic benchmarks
  • Shell packaging
  • Developer ID preparation

Development

A substantial private alpha, not a public release.

The writing, retrieval, workspace, settings, recovery-service, and packaging foundations are implemented. Verified durability defects and incomplete product qualification remain release blockers.

Stage
Private alpha
Platform
macOS 13+
Automated suite
616 tests passed
Distribution
Not public

Implemented in the current alpha

  • Native plain-text editing, local drafts, note promotion, persistent tabs, recents, and workspace restoration
  • Keyboard palette, deterministic global search, local Find metadata, live Views, and optional local Suggested Views
  • Rename, duplicate, reveal, import, folder backup export, metadata rebuild, conflicts, missing-file states, and local trash services
  • Onboarding plus storage, search, privacy, Views, and keyboard settings
  • Release builds, private-alpha DMG packaging, Developer ID preparation, and synthetic local performance tooling
  • A 616-method XCTest suite covering models, services, integration, coordinators, and performance scenarios

Before public use

Resolve and regression-test pending-save, close, rename, delete, termination, external-edit, and multi-window durability defects. Then add visible search-result navigation, application-level UI and accessibility qualification, supported recovery, notarization, packaged-artifact verification, and public support and privacy operations.