Work

Projects, tools, and products demonstrating technical execution

Featured ProjectCommercial ProductSoft LaunchNew

LogMark

An agent-readable vault for Windows. One hotkey to capture, plain markdown on disk, and every AI agent you use reads and writes the same vault through MCP.

What It Is

One plain-markdown vault on disk, treated as a filesystem that other things run on. Nothing else is permitted to be the source of truth, which makes every client swappable: the desktop app is one, an agent over MCP is another. Capture is a single keystroke and never blocks, because a tiered inference system parses notation deterministically in under a millisecond and only reaches for embeddings or a language model when there is something to gain.

Technical Implementation

  • • C# / .NET 8 WPF desktop with a shared core engine, vault stored as plain markdown
  • • Next.js and Hono on Cloudflare Workers, Pages, D1, and R2
  • • Four-tier inference under a strict latency budget: deterministic parsing, local ONNX embeddings, local LLM, optional cloud
  • • On-device semantic search - bge-micro-v2 embeddings against a LiteDB vector index, no server
  • • 32-tool MCP server (23 open, 9 desktop-only): agents read and write the vault, wikilinks resolve, private routes stay masked
  • • CLI wires hooks, MCP, and a nine-skill pack into Claude Code, Codex, Gemini CLI, Cursor, or Copilot CLI in one command
  • • Protocol engine: user-defined routines the vault observes, tracks, and proposes changes to
  • • 7,960 automated tests across nine test projects

Shipped Products

Desktop appMCP serverCLIWeb platform

In daily personal use since late 2025. Version 0.21, now opening to early users.

32
MCP tools exposing the vault to AI agents
5
Agent frameworks wired in by a single command
7,960
Automated tests across nine test projects
~495k
Lines of C# and TypeScript, written solo
Why This Matters

The largest thing on this site, and the clearest evidence for what the homepage claims. A Windows desktop app, a 32-tool agent interface, a CLI, and a Cloudflare backend, kept coherent by one person working with AI. Whatever your domain needs built, this is the ceiling of what that partnership produces.

The LogMark desktop app showing its Feed: a weekly digest card, a domain-balance card reporting that 89 percent of captures went to one route, a staleness card listing three dormant routes, a capture-pattern card, and a backlog-grooming card.

The Feed in the Windows desktop app. The vault reports on itself: digests, routing balance, dormant routes, and capture patterns.

Featured ProjectPhotographyAI PipelineNew

PhotoMind

The Python pipeline behind finescenery.com. Indexes a 20-year photo archive, generates titles and descriptions with vision LLMs, and writes a fast static site directly from the Lightroom catalog.

What It Is

A pipeline that owns one SQLite database and writes content into the Astro repo for finescenery.com. Three layers: indexing (CLIP + EXIF), understanding (vision LLMs across three providers), and site export (responsive AVIF/WebP at five sizes). Lightroom is the source of truth; rating photos curates the site.

Technical Implementation

  • • Python pipeline, SQLite ground truth (~268 MB), 61,277 CLIP vectors
  • • ExifTool + Lightroom XMP for indexing
  • • Three-provider vision LLM understanding pass: Qwen-VL at two sizes (local) + Claude (hosted)
  • • Bucket-batched Claude Sonnet captioning for variety, idempotent via prompt-version keying
  • • Hand-curated gazetteer canonicalises Lightroom keywords into URL slugs
  • • Pillow + pillow-avif-plugin for responsive AVIF/WebP at five sizes
  • • Client-side CLIP semantic search, no server
  • • Astro static build deployed to Cloudflare Pages

Theme Axes

PlaceMoodCompositionFeatureTripsScenes & Seasons
117,166
Files indexed across 20 years of archive
5,789
Winners selected via Lightroom rating
2,001
Static pages built and served via Cloudflare
~8,400
Vision LLM passes across 3 providers
Why This Matters

End-to-end demonstration of an AI-augmented build: domain (a 20-year photo archive) turned into working software (a fast static site). The same pattern applies to other domains where the bottleneck is bridging messy expert knowledge to a usable product.

Featured ProjectOpen Source

Shroud

Sensitive data detection and masking for markdown files. Deterministic tokenization with encrypted vault storage - built for privacy-first workflows.

What It Is

A CLI tool and .NET library that scans markdown for sensitive data - crypto addresses, API keys, financial amounts, identity information - and replaces detected spans with deterministic tokens. Originals are stored in an AES-256-GCM encrypted vault with a three-tier trust model separating public, operator, and owner access.

Technical Implementation

  • • C# / .NET 8 with zero external dependencies
  • • Context-aware confidence scoring with 120-char context windows
  • • HMAC-SHA256 deterministic tokenization for cross-file correlation
  • • AES-256-GCM vault encryption (PBKDF2-SHA512, 600k iterations)
  • • 81 tests (unit + integration with full vault round-trip)

Detection Domains

On-ChainCredentialsSecretsFinancialIdentity
70+
Detection patterns across 5 domains
5
Detection domains (On-Chain, Credentials, Secrets, Financial, Identity)
15+
Blockchain chains supported
Zero
External dependencies - .NET BCL only
Why This Matters

Demonstrates ability to build security-focused developer tooling with auditable, zero-dependency architecture - the same rigour applied to client projects.

Featured ProjectLive & ActiveNew

Engineering Fundamentals

A structured knowledge base covering the core concepts every software engineer needs - organized in a 4-tier hierarchy from computational foundations to applied patterns.

What It Is

A tiered reference covering algorithms, data structures, distributed systems, API design, security patterns, and more. Each concept is documented with its foundations, trade-offs, and practical applications.

Technical Implementation

  • • MkDocs Material static site with 4-tier navigation hierarchy
  • • Learning paths by role, by tension, and transfer matrix
  • • Full-text search and cross-referenced glossary
  • • Responsive design with dark mode support
  • • Deployed on Cloudflare Pages

Key Domains Covered

Algorithm PatternsData StructuresDistributed SystemsAPI DesignSecurity PatternsSoftware ArchitectureConcurrencyPerformance+ 11 more
19
Engineering domains documented
270+
Individual concepts structured
4-Tier Hierarchy
  • Tier 0: Computational Foundations
  • Tier 1: System Constraints
  • Tier 2: Architectural Judgment
  • Tier 3: Applied Domains
Why This Matters

Demonstrates structured engineering knowledge across the full stack - the foundation for making sound architectural decisions in client projects.

Featured ProjectLive & Active

Thinking Tools

A curated taxonomy of transferable reasoning tools extracted from 34 domains - from accident investigation to competitive game theory to emergency medicine.

What It Is

Comprehensive documentation of reasoning frameworks and analytical methods that transfer across disciplines. Each tool is contextualized with its origin domain and cross-domain applications.

Technical Implementation

  • • MkDocs Material static site with custom navigation structure
  • • 34 domain taxonomies with hierarchical organization
  • • Full-text search across entire knowledge base
  • • Responsive design with dark mode support
  • • Deployed on Cloudflare Pages

Key Domains Covered

Accident InvestigationBayesian StatisticsCompetitive Game TheoryEmergency MedicineIntelligence AnalysisMachine LearningMilitary StrategySystem Dynamics+ 26 more
34
Domain taxonomies documented
520+
Individual reasoning tools catalogued
Use Case

Demonstrates ability to research, synthesize, and structure complex information architectures - while building production-ready documentation systems with modern web technologies.

Why This Matters

The research process that built this taxonomy is the same process I apply to understanding your domain - systematic exploration, synthesis, and structured documentation.

Open Source Projects

Tools, frameworks, and libraries shared with the community

Claude Code SkillActive

claude-skills

Context management tooling for Claude Code. Prevents mid-implementation context collapse by evaluating specifications against token budgets before writing extensive documentation.

Key Feature

scope-check skill: Traffic light system (GREEN/YELLOW/ORANGE/RED) with research-backed expansion estimates and chunking recommendations for large specs.

MIT License•5 commits
View on GitHub →
FrameworksActive

haic-lab

Systematic frameworks for human-AI collaboration in complex domains. Reproducible protocols for long-running multi-session work across software engineering, investing, and creative fields.

Core Protocols

  • • Source Hierarchy Protocol - Trust precedence for information sources
  • • Claim Verification Protocol - Auto-verify high-risk AI claims
  • • Expedition Protocol - Context management for multi-session collaboration
CC BY 4.0 License•Nov 2025
View on GitHub →
Knowledge BaseSource Repo

reasoning-tools

Source repository for Thinking Tools. Contains 500+ structured markdown files with reasoning primitives organized by problem type and disciplinary source. Open contribution model with extraction templates.

Structure

Each tool documents: core concept, problem solved, mental operation, classic applications, cross-domain uses, failure modes, and academic citations.

CC BY 4.0 License•34 domains
Python LibraryUtility

OneNoteXML

Direct XML extraction from OneNote to Obsidian/Logseq markdown with working image extraction. Production-validated converter that preserves fidelity without lossy intermediate formats.

Technical Approach

  • • Direct COM API access via pywin32 (no Word/Pandoc chain)
  • • CallbackID-based image extraction with fallbacks
  • • Dual format output: Obsidian vaults + Logseq graphs
MIT License•Python 3.8+•Windows
View on GitHub →

Ready to Build Something?

Let's discuss your domain expertise and turn it into working software