Software projects

Discourse Simulator for Task-Oriented Dialogue current

A conversation simulation system grounded in formal discourse theory. Agents with private mental states (beliefs, desires, intentions) interact through discourse operations on shared information structures including Common Ground, the Table, Discourse Commitments, and To-Do Lists. Integrates Farkas & Bruce (2010), Portner (2007), and the BDI model to generate multi-participant dialogues driven by formal pragmatic principles.

Agents MCP Synthetic data Discourse Pragmatics BDI

Therapy Docs recent

A tablet-optimized clinical documentation system for mental health professionals, designed for use during therapy sessions with stylus input. Features include AI-powered narrative generation via streaming, structured progress notes with intervention tracking, intake assessments, treatment planning, diagnosis management, and a mock/real API architecture that enables full functionality without backend infrastructure.

JavaScript Alpine.js Healthcare AI Lambda API Gateway

TinyScribe recent

A browser-based speech transcription and speaker diarization tool in which all processing runs client-side using small ML models (Whisper Tiny, WavLM). Features real-time transcription, speaker identification via voice embeddings, optional speaker enrollment for persistent identification, and debug views exposing similarity scores and clustering decisions. Built for personal exploration of how ASR and diarization systems work under the hood, and designed to be modular for use in other projects.

JavaScript WebAssembly ML Speech ASR Experimental

Icon Thesaurus recent

A semantic icon vocabulary builder for comparing icons across 10 popular libraries (Lucide, Heroicons, Feather, Phosphor, Tabler, Bootstrap, Font Awesome, Material Design, Remix, Ionicons). Define abstract meanings like "home" or "settings," then find and compare equivalent icons from each library, like a thesaurus for visual symbols. Features hierarchical organization, multi-variant selection, drag-and-drop reordering, and SVG sprite sheet export with semantic IDs.

JavaScript Alpine.js Design

Mkdnflow 2021–current

A Neovim plugin for fluent navigation and management of markdown-based document repositories—notebooks, wikis, knowledge bases, or static site content. Features include link-following, backward/forward navigation, automatic directory creation, table formatting, list support, section folding, and more.

Lua Neovim Markdown

TeXmagic 2021

A simple Neovim plugin enabling LaTeX build engine selection via magic comments (e.g. %! TEX program = xelatex). Designed for use with the TexLab LSP server's build service.

Lua Neovim LaTeX

Research

Extraction from relative clauses in English 2018–2022

Investigation of whether English selectively tolerates RC subextraction, as documented in Mainland Scandinavian languages, Romance languages, and Hebrew (see Chung & McCloskey 1983, Kush et al. 2013, Sichel 2018). Findings show English RCs are substantially more transparent to extraction in existentials and predicate nominals.

Syntax Experimental English

Internally headed relative clauses in Chamorro 2015–2018

Analysis of Chamorro's typologically rare construction where a noun phrase surfaces within its modifying relative clause. My MA thesis argues the head NP is merged within the RC as a DP headed by a null operator, explaining island sensitivity, linker placement, and interpretive effects. Cited in Cinque (2020).

Syntax Chamorro

Syllable parser 2020

A syllable parser that takes IPA input and produces syllabified output. Includes integration with the CMU Pronouncing Dictionary (100k+ words), with ARPABET-to-IPA conversion for statistical analysis of English pronunciations.

Phonology R English

HTML interlinear gloss generator 2019

A tool that converts word, gloss, and free translation data into HTML for displaying interlinear glosses—the standard format for presenting linguistic examples with word-by-word translations—on websites.

JavaScript Linguistics

Rhyme in Chamorro poetry 2014

Analysis of 106 rhyme pairs from Joaquin F. Borja's Istreyas Marianas: Chamorro. The study found ~25% strict rhyme and ~75% "abstract rhyme" utilizing associations between segment classes established by Chamorro phonological processes.

Phonology Chamorro