Tim VanBenschoten

03 — Code

Code

Things I work on after hours. Most of these are small Mac apps written in Swift. Each one fixes a specific problem. All of them are on GitHub.

Why these exist

I worked to create all of these to fix something on my own machine.

01

Lutzy

tsvb/lutzy

  • Swift
  • SwiftUI
  • Core Image
  • macOS

Applies .cube LUTs to RAW and DNG files. It also runs the other direction and turns a camera's JPEG look back into a LUT you can use anywhere. It has no dependencies.

02

PhotoDrop

tsvb/PhotoDropMac

  • Swift
  • SwiftUI
  • xxHash
  • macOS

Copies photos off a card and verifies the copy. It hashes every byte as it goes, skips duplicates, and never overwrites a file already on disk.

03

flatlink

tsvb/flatlink

  • Swift
  • SwiftUI
  • CLI
  • macOS

DxO PhotoLab only shows the photos at the top of the folder you pick. flatlink builds a flat folder of links to every image in a tree, so one PhotoLab grid shows them all. The photos themselves are never moved or copied. It comes as a command-line tool and as an app that keeps the links up to date after each import.

04

EchoScribe

tsvb/EchoScribe

  • Swift
  • SwiftUI
  • Apple Intelligence
  • macOS

Records, transcribes, and summarizes meetings on the Mac itself, using Apple's Foundation Models. You can switch speaker attribution to Gemini, which is the only part that sends audio off the machine. The app is notarized.

05

It Is Always DNS

tsvb/itisalwaysdns

  • Swift
  • SwiftUI
  • macOS

A DNS troubleshooting app that does lookups and leak tests. Queries run through DNSKit, a resolver I worked to create so the app never shells out to nslookup. The name comes from the running joke that DNS is always the cause.

06

AppleNugs

tsvb/applenugs

  • Swift
  • AVFoundation
  • macOS
  • iOS

An unofficial nugs.net client for Mac and iPhone. It plays gapless lossless ALAC, downloads shows to listen to offline, and has five front panels for browsing a run.

07

nugs.net for Windows

tsvb/nugsdotnet

  • C#
  • WinUI 3
  • Windows

The same idea built again for Windows. It is a native WinUI 3 streaming player for nugs.net, also unofficial.

Install brew install --cask tsvb/tap/photodropmac brew install --cask tsvb/tap/flatlink-app

08

Goose Index

tsvb/goose-index

  • TypeScript
  • Next.js
  • Postgres
  • Drizzle

A statistics site for the band Goose covering every show, setlist, segue, and venue. It reads the elgoose.net community record and syncs each night. The stats pages use no chart library, so every mark is SVG I worked to create by hand.

09

Post Peek

tsvb/post-peek

  • JavaScript
  • Chrome MV3

Opens an x.com link in a popup so you can read one post without loading the site. It sends no cookies and no referer, so X cannot connect the read to an account. It never scans the page you are on.

10

This site

timvanbenschoten.com

  • HTML
  • CSS
  • Vanilla JS
  • No build step

Static pages I worked to create by hand, with no framework and no bundler. The family tree is a single JavaScript and SVG file that draws 626 documented people across eighteen generations. It uses no outside code and works with no network connection.

All of these repositories are at github.com/tsvb. Client and day-job work is not listed here. That is on the Work page.