BuildHatch

BuildHatch

I make software for iPhone and Mac, and the tools that run on my own server. This is where it goes public: some of it is finished, most of it is on the way.

Now Getting Umbra ready for the App Store.

Umbra

Photo and video vault for iPhone and iPad

Preparing for the App Store

A passcode-locked home for your photos and videos.

Import from Photos or Files, sort into albums, make quick edits, and export when you need to. Unlock with your passcode or Face ID, keep a Local library, and add an iCloud library if you want one.

Runs on
iPhone and iPad
Account
None, just a passcode
Built with
SwiftUI, CryptoKit, CloudKit
  1. Umbra's photo viewer showing a bowl of figs, headed: A private place for your photos.
  2. The Local library with an Imported album and Recently Deleted.
  3. A grid of imported photos grouped by month.
  4. The photo editor with crop ratios and brightness, contrast and saturation sliders.
  5. First launch, asking you to choose a passcode for your vault.
Drag to compare. Same clip, same moment.

Steady

Video stabilization for iPhone, iPad and Mac

Working prototype

Import a shaky clip and Steady smooths it out, right on your device.

There's one Smoothness slider, a compare view that keeps both versions at the same moment, and saving at the original resolution. No watermark, no upload, no payment.

Runs on
iOS 17 and macOS 14
Engine
OpenCV, with an adaptive camera path and a 9×9 local motion field

Relay

Private file transfers on your own server

Running on my server

Drop in files, folders or text and choose where they go.

Send to your library, a link, or another of your devices. Uploads of any size pick up where they left off, downloads stream, and nothing is stored anywhere you don't control.

Runs as
One Docker container
Built with
TypeScript and Node.js
Relay's Send page with a finished share link and pickup code, beside the shared page open on a phone.

In the workshop

Longer projects and experiments. None of these are ready for anyone else yet.

Window A boot loader and kernel written from scratch in Rust Early research

The long goal is running selected Windows apps on an independent kernel inside Parallels on Apple Silicon. Today it builds byte-identical disk images, boots, takes over from the firmware and draws its own diagnostics to the screen. Running real applications is a long way off.

Media A YouTube and streaming client built for a Tesla's screen Personal project

Instead of sending the car a video, a server decodes it and streams it as a rapid run of still frames that the browser paints onto a canvas. That way it plays anywhere the car's browser can show a picture. It has big touch targets and stays out of the way so the content leads.

Notes

How things here are made. All notes

  1. Engraving type with a canvas How the wordmark above is drawn from nothing but lines, and why your pointer is the lamp.