Skip to content
narrowstacks

Projects

Stenobar macOS menu-bar app interface

A Mac menu-bar recorder for meetings, calls, lectures, and stray ideas.

Stenobar records system audio and your microphone as separate tracks, then turns each take into transcripts, summaries, tags, and searchable notes. It also adds hold-to-dictate and a quick 'Thoughts' capture path for spoken fragments you would otherwise lose.

  • -System audio and mic captured as separate tracks
  • -Per-app capture for Zoom, Safari, or the whole system
  • -Hold-to-dictate and a local 'Thoughts' capture path
  • -Searchable library with transcripts, tags, and summaries

Hold a hotkey, talk, and let go: a live preview tracks what you say, then the cleaned-up text lands wherever you were typing.

Swift · SwiftUI · macOS · WhisperKit · On-device LLM

a few screens

Dorkroom web app homepage

Dorkroom (opens in new tab)

Live · open source

Darkroom calculators for the numbers that interrupt printing.

1,020 development recipes · 165 film stocks

Dorkroom collects the little tools I kept rebuilding around darkroom work: border and resize calculators, reciprocity and exposure helpers, film notes, and development recipes. Answer the measurement question, get back to the enlarger.

  • -Border, resize, mat-cut, and stops calculators for printing
  • -Reciprocity, exposure, and lens-equivalency tools for shooting
  • -Film database and manufacturer development recipes with a volume mixer
  • -Fast web app tuned for phone use in a working darkroom

React 19 · TypeScript · Tailwind CSS · TanStack Query

a few screens

DarkroomSCAD negative carrier 3D model render

Parametric OpenSCAD models for hard-to-find darkroom parts.

Negative carriers for Omega D & LPL/Saunders

DarkroomSCAD is a small open-source library of printable darkroom parts, starting with negative carriers and accessories. Change the film format, enlarger dimensions, or tolerances in OpenSCAD, then export a model that fits your setup.

  • -Parametric negative carriers customizable per film format
  • -Designed for common enlargers (Omega D, LPL/Saunders)
  • -Built on the BOSL2 library; export to STL for printing
  • -Open source, because these parts should be easy to repair and adapt

OpenSCAD · BOSL2 · 3D printing

Smaller things, also on GitHub.