Projects

Tools I've built, programs I've led, apps I've shipped.

Work projects are described at the level of what they do and how they're built, with no proprietary models, client data, or internal system details. Each one is labelled honestly: in daily use, prototype, or proof of concept. Two have interactive demos rebuilt from scratch on synthetic data. Personal apps are live and linked.

Investment data & automation

Internal tooling at Argent Trust Oklahoma.

Delivered 2025

Legacy Data-Provider Transition

LATE 2024 – 2025 · PYTHON · VBA · POWER QUERY · EXCEL · LSEG WORKSPACE

The office's investment models had run on a single market-data provider for more than 20 years. When something in the data looked off, I followed up and learned the provider was shutting down, with six weeks' notice. I negotiated an extension to several months and led the work.

  • Ran demos with replacement providers and helped choose LSEG, then met with the outgoing provider's remaining staff to capture as much of their methodology as I could before they closed.
  • Reverse-engineered the provider's discontinued proprietary calculations and rebuilt them on the new data.
  • Converted the Excel model workbooks the investment process runs on, generating stock workbooks from a master template and batch-processing hundreds of files per run, with Power Query consolidation and automation that handles add-ins, link refreshes, calculation timing, and missing values.
  • The models kept running through the cutover, and the automation cut prep time about 90% on the affected recurring reports.
Research Dashboard demo — company view with earnings trend, synthetic dataInternal tool

Investment Research Database & Stock Dashboard

2026 · PYTHON · SQLITE · REACT · VITE · SHEETJS · RECHARTS

The investment team's stock research lives in ~3,900 Excel model workbooks, each built for depth on a single name. This added a cross-sectional layer on top: a queryable database and a browsable dashboard.

  • A Python ingest reads every workbook into a SQLite database, with screening, cross-sectional, and ticker-history functions that surface names that may warrant a fresh look.
  • A companion React dashboard adds search, company overviews, side-by-side comparison, sector filters, and relative-positioning charts.
  • A companion stock-file database consolidates about 3,000 individual stock spreadsheets into one. Before cutover it was checked with a verification script and a parallel “shadow run” against the old files, which caught a bug that was silently dropping correction rows.
In daily use

Daily Pipelines & Operations Automation

2025–2026 · PYTHON · EXCEL · OUTLOOK · PUBLIC MARKET DATA · TASK SCHEDULER

Scheduled tools that took recurring manual work off the investment team: about 40–50 hours a month across the cash report, trade checks, and earnings updates.

  • Daily cash report: about an hour by hand each day, now about 30 seconds, with more detail, consistent formatting, and backfill for missed days.
  • Trade-blotter cash checks: roughly two hours each by hand, several times a month; now about two minutes, and more thorough.
  • Daily discount-rate model: recreates a rate the legacy provider used to supply, a core input to the office's models, from public market data. Runs every business day, logs history, backfills gaps, and emails the result to the team.
  • Reconciliation tool: built for a trust team outside Investments; a quarterly reconciliation that took days by hand now runs in seconds.
  • Shared plumbing: one email sender, a central path module that let every tool survive the move to SharePoint, and bulk-rename and account-matching utilities with preview and rollback.
In weekly use

Earnings Automation Suite

2025–2026 · PYTHON · LSEG WORKSPACE · WINDOWS COM · OUTLOOK · TASK SCHEDULER

Three tools that replaced manual earnings data entry and a manual weekly scan.

  • Earnings-trend updater: pulls earnings, dividend, and estimate data from LSEG into the stock-model workbooks through COM and recalculates valuation fields. It saves about 30 hours every quarter, and a one-time catch-up run brought long-stale names current.
  • Weekly earnings alert: scans about 3,000 securities each week and emails beats, misses, revenue surprises, and outlook changes, with a built-in error alert.
  • Stock-split alert: flags true splits and filters out depositary-receipt noise.
Portfolio Monitor demo — concentration flags by account, synthetic dataPrototype

Portfolio Analytics: Concentration, Drift & Optimization

2026 · PYTHON · SQL · PANDAS · UNIT TESTS

Working prototypes built on a reusable Python package I wrote for querying account data.

  • Concentration monitor (prototype): flags single-stock concentration against target equity at the book, family, and account level, with dollar buy and sell labels, and compares sector exposure with the S&P 500. Test output never exposes client identifiers.
  • Model-drift analysis (prototype): compares holdings with model positions to produce buy/sell drift signals, built to replace a manual monthly Excel workflow and matching its output format.
  • Optimizer and risk summary (proofs of concept): mean-variance and Black–Litterman optimization across about 13 asset classes, and a one-page risk summary covering volatility, Sharpe and Sortino ratios, tracking error, capture ratios, and drawdown.
Portfolio Monitor demo — allocation study with growth and efficient-frontier charts, synthetic dataResearch

38-Year Asset Allocation Study

2026 · PYTHON · LSEG · PLOTLY

An allocation study over ~38 years of market data across U.S. equities, international equities, and intermediate fixed income, built as an interactive Plotly dashboard for use in client conversations.

  • Efficient-frontier portfolios, rolling-period analysis, and how the optimal mix shifts over time.
  • 60/40 and 70/30 versus all-equity, and growth of a hypothetical investment.

AI programs

Programs and presentations, 2026.

Editorial

AI Wednesday

MAR 2026 – PRESENT · NODE.JS · DOCX-JS

A weekly internal AI briefing written for finance and wealth-management professionals rather than technical specialists.

  • Each edition covers industry developments, AI in finance and wealth management, new models and tools, risks, and a term of the week — with sources and plain-language explanations.
  • Fixed editorial structure with source attribution and a Term of the Week, produced through an automated workflow; 22 editions as of October 2026.
Governance

AI Task Force & Enterprise AI Pilot

JUNE 2026 – PRESENT · ARGENT TRUST OKLAHOMA

Member of Argent's AI Task Force since June 2026, and one of the most active participants in the firm's enterprise AI pilot.

  • Recurring feedback to senior leadership on adoption, backed by a check-in workflow I built to track use cases and time saved.
  • Documented and presented 18 automation and AI projects to senior leadership.
  • Helped shape a documentation framework for internal tools.
Speaking

AI Basics — Executives of Tulsa & Argent Lunch & Learn

2026 · PRESENTATIONS
  • Executives of Tulsa: invited talk to about 25 retired executives on how large language models work, where they fail, and how non-technical users can start, with a one-page take-home guide. The Q&A ran 15 minutes over, and I was invited back.
  • Argent Tulsa Lunch & Learn (May 2026): co-developed and co-presented an AI Basics session for ~20 employees, adapted for a trust-company audience with practical use cases and acceptable-use guidance.

Personal apps

Built end to end — design, database, front end, iOS build, tests, deployment.

Iron Ledger

2025 – PRESENT · REACT · SUPABASE · VERCEL · CAPACITOR iOS · HEALTHKIT · APNs

Strength-training and nutrition tracker with a lift mode and an activity mode, used daily by me and a small group of friends.

  • Custom, user-editable training programs stored in the database with friend sharing; friends graph with per-metric stat sharing and leaderboards.
  • Recipes, meal slots, supplements, macro targets, weekly-average weigh-ins, Apple Watch workout import via HealthKit.
  • Postgres with row-level security and server-side RPCs; native push; guided tour and What's New; 700+ automated tests. Native watchOS companion in progress.

Manifest

2026 – PRESENT · NEXT.JS · TYPESCRIPT · SUPABASE · PWA · CAPACITOR iOS · PYTHON

Offline-first planning app for weekly lists, packing lists, recipes, and grocery runs.

  • IndexedDB mirror with an outbox for offline edits; email-OTP auth with row-level security; push reminders and scheduled notifications.
  • Global search, locked/private lists, photo attachments, rich text, recipe import from URL, calendar view, onboarding tour and changelog.
  • A Python archiver mirrors data nightly into Markdown notes with YAML frontmatter, with fixture-based tests. MVP plus ~50 post-MVP work orders shipped in roughly three weeks.

Quartermaster

2026 – PRESENT · NEXT.JS · SUPABASE · VERCEL · CAPACITOR iOS · ANTHROPIC API

Home inventory system for physical storage with printed QR labels that resolve straight to the item.

  • Server-rendered Next.js with server actions and API routes; OTP auth and row-level security.
  • AI-assisted itemization from photos, item types and links, consumables with low-stock tracking, maintenance reminders, multi-photo support.
  • Crash observability, guided tour and help centre, ~20 verification scripts, nightly backup with restore drills.

Earlier

University

Shell Oil Company / OU Corporate Valuation Challenge — Finalist

AUG – DEC 2021 · UNIVERSITY OF OKLAHOMA

Produced an investment recommendation for a publicly traded corporation using comparable-company, precedent-transaction, and discounted-cash-flow models, presented to a panel of professional judges.