Recursivity

Software I’ve built.

Self-hosted dashboards, encrypted messaging, iOS and Android apps that don’t phone home, small desktop widgets that do one job — and a multi-tenant SaaS platform that organizations run their finances on. Most of it started as something I wanted to exist and couldn’t buy.

A common thread runs through nearly all of it: it runs on hardware you own, it collects nothing about you, and it says out loud what it can and cannot protect you from.

The open-source work is on GitHub. The private work is written up here without the source.

Private

9 projects

Closed-source projects, written up here without the repository.

Rsstretto

A self-hosted RSS reader

Started as an experiment in database optimization: a data model for users, feeds, articles and subscriptions that stays lean as it scales.

  • Ruby on Rails
  • Self-hosted
  • Data modeling
Read more Not public

Notey

A collaborative note-taking app

Real-time shared notes with rich text and todo lists, built because every other collaborative notes app had one quirk too many.

  • Ruby on Rails
  • ActionCable
  • Real-time
Read more Not public

Truthy

A screenshot search engine for dialogue

Frinkiac-style search over True Detective season one: find any line, jump to the frame, and turn it into a meme, a GIF, or a comic strip.

  • Ruby on Rails
  • SQLite FTS5
  • ffmpeg
Read more Not public

Wardrobe

A clothing inventory that outgrew Airtable

175 tops, 43% of them black. Browse the wardrobe, or let it propose an outfit that surfaces the things you forgot you owned.

  • Rails 8
  • Hotwire
  • PostgreSQL
Read more Not public

podripper

A terminal podcast ripper that files episodes on the NAS

Search iTunes, subscribe to the feed, pull the episodes down, and copy them straight to the NAS — where Boombox picks them up.

  • Go
  • Bubble Tea
  • SMB
Read more Not public

Open source

12 repositories

Everything here is public, MIT-licensed, and documented well enough for someone else to actually run it — including the parts that don’t work yet.

Smashboard

A command center for everything going on in your life

Unread mail, today's meetings, countdowns, todos, habits, bookmarks, GitHub, Slack, breaking news, weather and cameras — one rearrangeable board, multiuser and API-first.

  • Ruby on Rails
  • Hotwire
  • PostgreSQL
Read more Source

ohf@#k

A self-hosted news, markets, and OSINT dashboard

Indices, futures, crude, retail gas, treasuries and safe havens alongside RSS headlines, Reddit, breaking-news clustering, prediction markets and geopolitical risk panels.

  • Next.js
  • TypeScript
  • Docker
Read more Source

Shh

Self-destructing secret sharing, hosted on your own hardware

Paste a secret, get a link that dies on first view. The server stores ciphertext only and never sees the key — it lives in the URL fragment, which browsers don't send.

  • Next.js
  • TypeScript
  • AES-256-GCM
Read more Source

Jiffy

GIF search without the walled garden

Searches Giphy and Klipy at once and interleaves the results. One self-contained container — no database, no volumes, nothing to persist.

  • Next.js
  • TypeScript
  • Docker
Read more Source

Lockbox

An offline TOTP/HOTP authenticator for iOS and Android

The same six- and eight-digit 2FA codes as any other authenticator, from an app that contains no networking layer at all. Secrets stay in the Keychain.

  • Swift 6
  • SwiftUI
  • Kotlin
  • Jetpack Compose
  • iOS
  • Android
Read more Source

TheTrades

Movies, TV, and the people who make them

A universal SwiftUI app built on TMDB, ported to Android in Kotlin. It exists for one feature: every cast member's age when the title came out, shown inline on the cast row.

  • Swift 6
  • SwiftUI
  • Kotlin
  • Jetpack Compose
  • iOS
  • Android
Read more Source

Wordsy

A self-hosted daily word game

Guess the five-letter word in six tries. No backend, no account, no telemetry — the whole game is a static site in one nginx container.

  • JavaScript
  • nginx
  • Docker
Read more Source

Omarchy Bar Widgets

Five plugins for the Omarchy desktop shell

shh, Micro.blog, SomaFM, Snippets, and Emoticons — small, single-purpose panels that live in the bar and get out of the way.

  • QML
  • Omarchy
  • Linux
Read more 5 repos