Systems and AI engineering. Dallas, TX.
Two threads run through most of what I build. Bengali NLP, because the tooling everyone else takes for granted still handles the script badly. And tools I actually run, because the ones I use every day are the ones that get finished.
A repo is easy to describe and hard to verify, so the list below is ordered by how little you have to take my word for.
The claim, the data behind it, and the script that produced it are all in the repo.
- bengali-tokenizer-eval - tokenizer choice changes what Bengali costs you by 5 to 9x. Thirteen SentencePiece tokenizers measured against nine public ones, with the worst failures traced to one character: leave U+09BC out of normalization and byte-fallback climbs from 2% to 20%. Ships the tokenizers, the 3,000-document benchmark, a per-document SHA-256 manifest, a datasheet, frozen results, and the paper
- bangla-llm - the pipeline behind Kotha-1: corpus collection, MinHash-LSH near-dedup, language ID, a 32k BPE tokenizer, and a bf16 pre-training loop for a 306M LLaMA-style Bengali model
Published, deployed, or running on my machine right now.
- undertone - hold a key, speak, release, and the words land in whatever window has focus. Groq Whisper with a local faster-whisper fallback, cleanup guarded against rewriting your slang into corporate English, and clipboard-plus-evdev injection for apps that refuse synthetic keystrokes.
pipx install undertone, runs as a systemd service, and is how I dictate most of my own text - glyphlab - any image into character art without uploading it. ASCII, Braille, halftone, sextants, contour tracing, exported as selectable text, ANSI, GIF, or a playable terminal movie. Also emits buildable LEGO and cross-stitch charts using real BrickLink part numbers and DMC floss codes
- machine-memory - local-first file and repo search daemon, exposed to agents over MCP
- lifeagent - accountability bot that checks what you claim against GitHub, Strava, and Wakatime before it believes you
The interesting part is a specific mechanism, and it is in the source rather than in a dependency.
- granum - insurance appeals optimized the way an immune system optimizes antibodies. Populations of appeal strategies mutate, compete on an LLM judge, then promote or apoptose: negative selection, tournament, elitist retention, feedback-directed mutation, with lineage tracked through Arize Phoenix over MCP
- vitals - see your own pulse on a webcam. Eulerian video magnification and FFT-based rPPG, with the bandpass and peak-picking math in the source rather than a DSP crate
- agentgov - policy engine gating agent trust and release. Signed, idempotent decisions, with homoglyph-aware prompt-injection scanning on agent cards
- Research-Agent - plan, search, analyze, refine, synthesize, write, review as a LangGraph state machine, with LaTeX and BibTeX output hardened against shell-escape injection
- soniq - AI phone agent for small businesses. LiveKit voice pipeline with tenant isolation enforced by Postgres row-level security rather than a WHERE clause
- drift - audio post-production for generated music, with its own beat-synced chroma loop detection and Camelot-wheel arrangement
- slopguard - Reddit moderation triage that asks what a mod should do about a suspicious post rather than only whether it is AI, with an explicit guard against penalizing non-native English
- profgraph - professor intelligence for any LLM: ratings, a teaching-style classifier, and real UT Dallas grade distributions



