← All projects
Developer toolsmacOS app

Linesight

A native macOS app that turns the desktop from a picture with icons into a place you work from. It draws a transparent layer on the wallpaper, under app windows: folders as a tree that opens on hover and previews code, images and PDFs, docked browser windows, a terminal strip, live CPU and memory, video wallpaper, and a panel for every running Claude Code session that I can approve or answer from. A hotkey raises the whole layer above my windows. Built for my own Mac in five days.

Period

Oct 2026

Role

Sole engineer

Type

macOS app

Tools

SwiftAppKitWebKitAVFoundationJavaScriptClaude Code hooksXCTest
Source: private

Why

Every desktop, whether it's macOS, Windows or a Linux environment like GNOME, treats the space behind your windows as a picture with some icons on it. I wanted mine to be somewhere I actually work. Finder's icons are a dead end, and when I have four Claude Code sessions going I end up hunting through Terminal tabs for the one that's waiting on me. So I built a layer that sits on the wallpaper and shows the things I actually look for: my folders, my sessions, a scratch browser, and something nicer than a static picture behind it all.

How it works

It's a Swift app, but the whole interface is plain HTML, CSS and JavaScript inside a WKWebView. The web view lives in a non activating panel one level above the desktop icons with its background turned off, so the lines look drawn straight onto the wallpaper. Clicks pass through to the desktop except inside the rectangles the page reports as its own, and the pointer is polled sixty times a second because WebKit only tracks the mouse in the key window. A hotkey raises the layer above everything when I want it.

The session cards read Claude Code's live session registry, read only, and check each record against the kernel (process alive, same start time, executable inside Claude's install folder) so a fake file can't put a card on my screen. A tiny second executable runs as a Claude Code hook and forwards permission requests over a Unix socket. From a card I can approve, always allow, or deny a prompt, or answer a question, without bringing the terminal forward. There's no network listener anywhere, an approval needs a real click on the overlay, and chained or network commands need a second one.

The wallpaper is an AVFoundation player in a desktop level window. It pauses when it's covered, when the Mac sleeps, and when I'm on battery.

Numbers

About 22,000 lines of Swift and 5,000 of JavaScript, written in October 2026. There are 718 XCTests, around 250 browser checks that run the same interface against a mock filesystem, and 20 geometry tests.

Status

It runs on my Mac every day, but it's version 0.1 and private. It only knows Terminal.app and one display, email was planned and never built, and idle CPU sits around 1% instead of the 0.3% I was aiming for. It also leans on a private WebKit key to make the view transparent, so it's never going to be an App Store app.

The overlay over a video wallpaper. The black hole is a visualization by NASA's Goddard Space Flight Center/Jeremy Schnittman.
Hovering down the folder tree. Each level opens on its own line, files preview on hover, and the readout bottom left keeps up as shell commands.
A session asks to run its tests and I approve it from the card. Jump opens another session's conversation in the browser box.
The docked browser holds a wheel of pages. A click on a neighbor turns the wheel, and a click on the page grows it to full size.
The overlay with a folder row, the docked browser, the command readout, and a Claude Code session waiting for approval
The overlay with a folder row, the docked browser, the command readout, and a Claude Code session waiting for approval
← PreviousMulti-Tenant Sponsorship CRMNext →Armoire