Projects

Building in public.

Two personal products that I build on my own and in public. Both are open source.

Applye

Published open-source personal product

Drafting is automated. Submitting is not.

An open-source, local-first desktop app for an AI-powered job search: no account, no telemetry, your own AI key.

Simplified view of the Applye core loop in six steps: Paste, Check, Tailor, Apply, Track, Prep. Apply is the human step, where you submit the application yourself.Pastejob descriptionChecklegitimacy, fitTailorCV, cover letterApplyyou submitTrackpipelinePrepinterview stagesYOUSimplified view of the Applye core loop in six steps: Paste, Check, Tailor, Apply, Track, Prep. Apply is the human step, where you submit the application yourself.Pastejob descriptionChecklegitimacy, fitTailorCV, cover letterApplyyou submitTrackpipelinePrepinterview stagesYOU
Simplified view
  • Tauri 2
  • Angular 21
  • TypeScript
  • Rust
  • SQLite
  • Nx

Intentloom

Published stable CLI

Define engineering intent once, then validate and synchronize it across AI coding tools.

A vendor-neutral, local-first framework with a published, stable CLI. Offline-first and non-destructive. The CLI generates files for Claude Code, Codex, Cursor and GitHub Copilot. A desktop client built with Tauri 2 and React is in development.

Simplified view of Intentloom. Catalog and profiles flow into the resolver, the resolver into adapters, and adapters into target files. A validation layer underneath checks structure, ownership and drift.Catalog+ profilesResolverdesired stateAdapters4 AI toolsTarget filesgeneratedValidation: structure, ownership, driftSimplified view of Intentloom. Catalog and profiles flow into the resolver, the resolver into adapters, and adapters into target files. A validation layer underneath checks structure, ownership and drift.Catalog+ profilesResolverdesired stateAdapters4 AI toolsTarget filesgeneratedValidation: structure, ownership, drift
Simplified view
  • TypeScript
  • Node.js 22+
  • React
  • Tauri 2
  • Rust
  • MCP
  • pnpm monorepo