Projects

Build Log

Chronological notes on projects I am building: what is new, what changed, and where the public artifact lives when there is one.

May 2026

  1. / update / since Dec 2023

    Enzyme : Rust runtime

    local semantic memory for agents

    The current Enzyme line is a Rust CLI that compiles Markdown workspaces into a local concept graph so agents can retrieve through precomputed catalysts instead of brute-force file search. It is the runtime-shaped version of a project that began as Reason, moved through Obsidian and Electron, then became a CLI-first memory layer.

  2. / update

    Enzyme : Obsidian surface

    chat with your vault, with evidence

    The current Obsidian plugin brings the runtime back to where the project started: a sidebar chat agent grounded in vault context, clickable quotes, graph-aware retrieval, and local-model support.

  3. / update

    Enzyme : SDK direction

    memory for app activity, not just vaults

    A track for generalizing Enzyme beyond Markdown vaults: app conversations, traces, recipes, and typed activity collections that can expose catalyst-style retrieval to product developers.

April 2026

  1. / new project

    Scrawl

    handwriting layer for Onyx Boox tablets

    App for Onyx Boox e-ink tablets that overlays a full-screen handwriting layer over active apps, including Obsidian, and uses on-device handwriting recognition. Solves the fragmentation between good handwriting UX and existing knowledge management systems. Topped both r/obsidianmd and r/Onyx_Boox on launch; also supports audio recording and timestamp-synced handwriting for use with Aside.

  2. / new project / experimental

    Enzyme : desktop app

    native shell around local memory

    Experimental SwiftUI wrapper around the Rust CLI, Digest, and local model resources. The exploration is whether a local-first command-line product can feel approachable without hiding the filesystem and subprocess machinery that make it trustworthy.

  3. / new project

    Digest

    tiny vault-chat agent with prefetch

    Compact TypeScript agent that talks to an Obsidian vault using Enzyme context before the model starts searching. The point is to replace long, expensive explore loops with a few targeted turns.

  4. / new project

    Cull

    open-source RAW photo culling in Rust

    Open-source photo culling tool built in Rust that browses thousands of RAW files far faster than Finder. Designed as a replacement for $150/year Photo Mechanic software for high-volume photographers.

February 2026

  1. / new project

    Valence

    round-based matchmaking for IRL events

    Round-based and survey-powered matchmaking platform for IRL events. Administered live on-call using Claude Code and iterated over three speed dating events in NYC in three months, totaling 1000+ attendees.

  2. / new project

    Aside

    vault-native meeting capture

    TUI and skill that records call audio alongside a text editor with timestamped memo lines. Post-meeting, it transcribes audio on device and uses Enzyme in an agent harness to enrich the final artifact with relevant context from other Markdown. Replaces Granola for my workflow by letting me write tangential ideas whose connections get fleshed out after the meeting.

January 2026

  1. / new project

    wheretoski

    cheap flights to fresh powder

    Search tool to quickly find cheap flights to fresh powder at skiing and snowboarding resorts from major metro areas. The build involved flexible flight search, snow-first filtering, hub-based destination modeling, and rate-limit-aware caching. 1M impressions on X.

August 2025

  1. / update

    Enzyme : Python CLI era

    moving the runtime out of the Electron shell

    Before the Rust rewrite, Enzyme moved into a Python CLI focused on feature parity, workspace indexing, and embedding/search performance. This was the bridge from app-shaped prototype to agent-facing local runtime.

February 2025

  1. / new project

    Greenroom

    a whiteboard for steering AI tone

    Hackathon demo for controlling AI conversation behavior in real time β€” like DJ mixing tracks, but for personality, tone, and response style. Combined a whiteboard/timeline interface with voice and generative AI APIs.

December 2024

  1. / update / experimental

    Enzyme : Electron app

    standalone local indexing experiments

    After the first Obsidian plugin, Enzyme became a standalone Electron app around local indexing, settings/auth, recipes, and workspace views. That phase clarified what belonged in UI and what needed to become a lower-level runtime.

September 2024

  1. / new project

    Capella

    visual moodboards for worship leaders

    Electron/visual moodboard experiment for immersive responsive visuals: image pools, autoplay, waypoints, sliders, and layout controls. A product-design thread around ambient media, ritual, and live presentation contexts.

April 2024

  1. / update / spotify

    Spotify : AI Playlist

    conversational playlist creation

    Pioneered early agentic technology for AI Playlist, Spotify’s prompt-based playlist creation feature. Worked on token- and latency-efficient agent architecture, playlist generation, synthetic data, model distillation, and safety approaches for adversarial or policy-boundary prompts; some of this agentic curation architecture was adopted into AI DJ.

January 2024

  1. / new project

    Enzyme : Reason Obsidian plugin

    the original vault-chat lineage

    The first working Enzyme lineage was Reason: an Obsidian AI/RAG plugin for markdown chat, source embeds, Dataview/content extraction, and navigable context. The current runtime descends from this plugin-shaped attempt to make a vault usable by agents.

March 2023

  1. / update / spotify

    Spotify : Smart Shuffle

    playlist recommendations in the listening loop

    Led ML work for Smart Shuffle and its predecessor Enhance: real-time candidate generation, re-ranking, and recommendation systems that insert personalized track suggestions directly into user-created playlists.

September 2021

  1. / update / spotify

    Spotify : Enhance

    playlist completion for Premium users

    Led ML for Enhance from heuristic experiments through production candidate generation and re-ranking systems. The feature rolled out to Premium users and later became part of the path toward Smart Shuffle.

April 2021

  1. / update / spotify

    Spotify : voice

    production ML for spoken music control

    Built LSTM-based voice modeling work for Spotify voice experiences, including training/evaluation pipelines and offline metrics for voice user satisfaction. Earlier Spotify work also included mood-based algorithmic playlist data pipelines during a 2017 internship.