Revenue platform
A revenue-intelligence app I built alone at a Series C software company. Each part is its own entry.
- A revenue platform built by one personA Postgres copy of the sales stack, refreshed hourly, with a Next.js app, agents and evaluations on top. Built and run alone in six months.
- Chat that answers only from cited dataA chat assistant that answers only from tool results, and the search fix that took an acronym query from zero rows to eight.
- A read-only SQL tool for the modelA SQL tool behind five walls. Adversarial passes kept breaking the text scanner, and the walls Postgres enforces held.
- A job queue in a Postgres table45 kinds of scheduled job on one Postgres table and a five-minute wake-up, and the starvation bug that came back after the first fix.
- Company data in your own AI assistantA read-only MCP endpoint, with the app as its own OAuth server and about 70 lines of hand-written JSON-RPC, that keeps each person's access.
- Row-level security on every requestPer-request Postgres row-level security, and five ways it failed: a deny-list, default grants, a missing field, a sequence and a superuser test.
- An evaluation suite for prompt changesSix AI surfaces, three kinds of check and a free offline replay, under a rule that every prompt change needs a before and after run.
- Hard stops on AI-drafted sales emailAI drafts that cannot be sent word for word, a block that fails closed, and a cheaper model that checks who really said what.
- Account briefs where every sentence citesNightly account briefs with a citation on every sentence and a judge that strikes, never rewrites. I missed the strike-rate bar and kept it.
- A Monte Carlo bookings forecastA simulation of every open and future deal climbing a stage ladder, 20,000 runs, where one data judgement moved the headline about threefold.
- What-if territory designerA sandbox that draws sales territories from account data, with a rebalance rule that provably ends and a flag proven not to change old output.
- Buying signals and an evidence ledgerRanked prospect signals where no source may claim a confidence: typed observations with receipts, weighted in code and scored at read time.
- Voice role-play with an AI prospectSpoken practice against an AI prospect for each pipeline stage, seeded from real call moments and graded on a five-part rubric through a forced tool.
- Nightly grader for practice pitchesPractice pitches transcribed locally and graded overnight. Any quote the model cites must be found in the transcript, or it is dropped.
- Nightly review of late-stage dealsA nightly dossier for each late-stage deal, graded factor by factor with cited quotes, where an unknown factor is left out of the score.
- Buyer emotion and a nightly coachTone of voice measured per call with the audio deleted after, and a nightly coach that only remembers what it can cite.
- My Day, the reps' home pageThe reps' home page: one model-written greeting a day, and a work queue built by plain rules so it changes only when the data does.
- A ledger of hours savedAn estimate of hours the platform gave back, built to undercount: coefficients below published sources, a daily cap, history that self-repairs.
- Customer metrics that tie outCustomer metrics rebuilt locally from raw rows and checked every organisation-week against the official query, with guards against an empty pull.
- Capacity planner and activity trackerA hiring model that reruns on every slider tick, built so no rate is applied twice, plus an hourly tracker of rep activity.
- How one person kept it honestThe habits behind about 200,000 lines built alone: tests from 73 to about 7,000, append-only migrations, a fixed ladder for production writes.
- A panel of models redesigns the productFive models drew 22 pages in two visual directions, one model argued both directions down, and I wrote up what to keep and what to leave.
FastScribe
My transcription product, live on open speech models and my own GPU.
- FastScribe: transcription on my own GPUA free audio-to-text service on open speech models, run by GPU workers on a home server that opens no inbound port.
- Whisper speed on GPU and CPUA recorded benchmark of whisper.cpp on an RTX 3090 Ti and 32 EPYC cores, and the earlier speed figure it made me retire.
- Whisper accuracy across twelve languagesError rates for 12 languages on production settings, and a silent speech-loss bug that short-clip benchmarks could never see.
- Security audit of FastScribeThree waves of fixes from an independent audit: a read guard that fails closed, quota by real object size and an enforced CSP.
- FastScribe pages built from data122 pages from dynamic routes, a link graph tested so no page is an orphan, Spanish pages with hreflang, and guides built on measurements.
NearbyWatch
Nashville public records, resolved to the parcel. Pipeline finished, app to come.
- NearbyWatch: city records near an addressA nightly pipeline that turns Nashville council, planning and permit records into scored, parcel-linked items. The web app is not built yet.
- Matching city records to parcelsA five-rung ladder that ties free-text city records to county parcels in PostGIS, behind a precision gate set before the run.
Zcash Crosslink
Running a finalizer on the testnet and sending fixes upstream.
Home AI stack
One server, local and cloud models, and races before any model is adopted.
Nothing under that filter.
Career
Apr 2026 – Present
GTM Engineer
Optimal Dynamics, New York, hybrid
First revenue operations hire. Built the function from zero: planning, territories, compensation modelling and CRM governance. Then designed, built and ran, alone, the AI systems the sales team worked in every day: a revenue-intelligence platform of about 200,000 lines with about 7,000 automated tests, agents on a job queue, outbound email drafting behind compliance gates, an MCP connector scoped by row-level security, call-transcript search, and a prospecting pipeline that scores accounts and carves them into territories.
Feb 2020 – Apr 2026
Analyst, SIGMA Venture Partners
SIGMA Actuarial Consulting Group, Nashville
Early-stage fund with a software focus. Evaluated prospective investments, sourced deals and worked on portfolio companies’ go-to-market strategy. Investments include SkyKick, Uplinq, FLYR Labs, Runa HR and ROOM. Half the role was property and casualty actuarial consulting for insurers and risk managers.
Feb 2022 – Dec 2025
Principal
DECKO (The Deck Co.)
Pitch deck development for founders raising early rounds.
Mar 2021 – Jul 2024
GSV Cup Judge
ASU+GSV Summit
Judged a global pitch competition for pre-seed and seed education technology startups.
Feb 2020 – Jun 2021
Teaching Assistant, Fintech
Trilogy Education, at Vanderbilt, Nashville
Taught financial programming in Python and pandas, machine learning in finance with scikit-learn, time-series forecasting, and smart contracts in Solidity.
Jan 2019 – Jan 2020
Quantitative Analyst
Regions Bank, Birmingham, Alabama
Model validation across market risk, loss forecasting, revenue forecasting and anti-money-laundering models. Credit portfolio work on concentration risk and stress testing.
May 2018 – Aug 2018
Analyst
Merlinos & Associates, Peachtree Corners, Georgia
Reserving, rate-making and valuation across 35 projects. Built the firm’s first cyber liability rating manual and premium rater for a Fortune 50 client.
Education
2017 – 2018
M.S., Actuarial Science
Georgia State University, Robinson College of Business
2013 – 2017
B.S., Economics, cum laude
Birmingham-Southern College. NCAA baseball, four conference titles.
Certificates
FINRA SIE. Palantir Foundry and AIP Builder Foundations. Stanford Databases: Semistructured Data. HBS Online Leading with Finance.