jj@portfolio:~/developer-tools$jairik "jj" mccauley — software engineer
# grep -r "cli" ~/projects --include=*.md

> Developer Tools

# Tools built for people who live in the editor — local-first assistants, benchmarks, and workflow utilities.

4 projects6 tools
# matching projects — click through for the full write-up

> Matches

~/projects/vault-assistant
Vault Assistant — local-first Obsidian vault AI assistant, screenshot 1 of 4
January 2026 - Present

Vault Assistant

Local AI assistant for Obsidian that answers from your notes with BM25 search. Runs on localhost with multi-tab sessions and swap-in backends like Claude Code or Codex.

running
$ cat README →
~/projects/parallel-query-processing-system
no images — this one lives in the code
November 2025 - December 2025

Parallel Query Processing System

Distributed system that optimizes SQL query execution across multiple nodes, significantly reducing processing time.

$ cat README →
~/projects/algorithm-performance-benchmarker
no images — this one lives in the code
March 2024

Algorithm Performance Benchmarker

Benchmarks and compares the performance of various sorting algorithms (Bubble Sort, Merge Sort, Quick Sort, etc.). One of the first projects I built.

$ cat README →
~/projects/portfolio-website
Portfolio Website — personal developer portfolio website screenshot
January 2026 - Present

Portfolio Website

Personal portfolio website (no way who would've known!).

$ cat README →
# tradeoffs that keep showing up in this lane

> Decisions

# Optimize for local control and inspectability: BM25 over hosted embeddings when the vault stays on disk, swap-in agent backends, and measurable benchmarks instead of vibes. A little setup friction is fine if the evidence stays visible.

# which --all $TOOLS — the parts of the arsenal this topic leans on

> Tools Used

TypeScriptBunGitLinuxBashDocker