active project · 2026–present

Halite

A local, read-only Markdown reader for navigating technical projects without moving their documentation into another system.

The idea

Technical projects often accumulate valuable Markdown documentation, but reading it inside an editor can feel like work. Moving it into a hosted knowledge tool creates a second copy and another system to maintain.

Halite is a quiet reading environment that opens an existing project in place. It follows local links, renders the formats common in technical writing, and refreshes when source files change. The original files remain where they already belong.

What I built

Halite combines a local Node.js service, a React reading interface, a command-line tool, and an Electron desktop shell. It supports GitHub-style Markdown, syntax-highlighted code, Mermaid diagrams, KaTeX equations, images, local navigation, and direct access to source.

The service is deliberately local and read-only. It binds to the loopback interface, confines file access to opened projects, and rejects path and symbolic-link escapes. Multiple projects, tabs, and windows can share the same service while preserving reading positions and preferences.

I also built halite.nvim, a small Neovim integration for opening the current document or project in Halite without leaving the editor workflow.

Product decisions

  • Keep files in place. Halite reads a project’s existing Markdown instead of importing it into a proprietary library.
  • Make local the default. There are no accounts, uploads, or cloud dependency in the reading loop.
  • Treat safety as part of the product. Read-only HTTP behavior and filesystem confinement are explicit boundaries, not assumptions.
  • Support real documentation. The renderer targets the diagrams, equations, code blocks, tables, images, and links found in working repositories.

Current state

The project has a public product site and an open-source repository. A Linux desktop preview is available through the project’s GitHub releases, alongside the command-line workflow.

The current preview has been exercised across multi-project workflows, complex documentation sets, desktop packages, browser checks, and Neovim versions. Windows shared-service behavior, broader native-device feedback, automatic updates, and paid desktop distribution remain future work.

Still to add

I plan to add more of the story behind Halite: why I wanted a calmer way to read project documentation, the alternatives I tried, screenshots of the desktop experience, and what feedback changes the product next.