A business person who ships.

Octavio Benavides

I find real problems inside my own businesses and build the systems that solve them — then I keep them running.

I'm a finance senior at UT Austin's McCombs School of Business, currently underwriting commercial real estate and self-storage deals as a Strategic Investments intern at HPI Real Estate Services and Investments. I also co-founded a real estate wholesaling business — and when I couldn't find good enough data to run it, I taught myself to build the systems myself. Today three businesses run on software I wrote, on schedules, unattended, with zero paid data vendors.

103,931 leads generated
100+ Texas counties covered
3 businesses running on systems I built
2 operators working my pipeline daily

Builds

Systems that run real businesses

Four production systems, each built to solve a problem I had, each still running today.

Statewide Foreclosure Lead Engine

Active

A Texas-wide property-distress data platform built to replace paid lead vendors. 27 county-specific scraping engines plus PDF-extraction pipelines cover 100+ additional counties, running unattended every hour from 5 AM to 9 PM with zero paid data vendors. It has generated 103,931 qualified leads across 10 counties, mined a 61,918-record cash-buyer database from 103,000+ deed records, and enriches leads with GIS spatial-join matching at a 98.6% match rate. Leaflet map dashboards on Cloudflare Pages are used daily by a business partner and two contract call operators.

  • PowerShell 7
  • Python
  • Claude API
  • ArcGIS REST
  • Playwright
  • Leaflet
  • Cloudflare Pages
Watch demo →

Call Operations Automation Pipeline

Live

Automates the daily workflow of a two-person cold-calling team: call-recording ingestion twice a day via email, warm-lead detection scanning three times a day against a live 4,700-row operations sheet, and a mobile tap-to-call lead board. It has auto-indexed 315+ recordings, and it's written entirely in the Python standard library so a routine dependency update can't break a system non-technical operators rely on every day.

  • Python 3.12 (stdlib only)
  • Gmail IMAP
  • Google Sheets API
  • Windows Task Scheduler
Watch demo →

AI Pulse — Daily Intelligence Engine

Active

An autonomous daily briefing system that scrapes 25+ sources — RSS, Reddit, Hacker News, arXiv — processes 360-390 stories per run, and uses an LLM agent to rank and summarize them into an HTML briefing delivered every morning at 6:30 AM, no manual step required.

  • PowerShell 7
  • Claude Code (headless mode)
  • RSS / REST APIs
Watch demo →

Private-Seller Vehicle Finder

Live

Built for a family-owned used-car dealership: scans Craigslist and OfferUp within a 30-mile radius, values each vehicle with an LLM, decodes VINs through the free federal NHTSA vPIC API, and auto-flags scam or bait listings before a human ever looks at them.

  • PowerShell 7
  • Claude API
  • NHTSA vPIC API
Watch demo →

How I Build

My actual workflow

Not a philosophy — just what I've learned running four production systems mostly solo.

01 Plan in plain language first

Before I write a line of code or a prompt, I write out the plan the way I'd explain it to my business partner — no jargon, no assumed architecture. If I can't describe what a system should do in plain sentences, I'm not ready to build it. That plan becomes the spec I hand to the model, and it's the first thing I check when something breaks: usually the bug is that the plan was wrong, not the code.

02 Delegate the research, save judgment for what matters

I run most of my systems through Claude Code, and I've learned to treat model choice like a budget. Cheap, fast models do the research — scanning county websites, summarizing scraped pages, checking whether a scraper's output looks right. I reserve the expensive, high-reasoning model for the calls that actually require judgment: architecture decisions, data-quality tradeoffs, anything where a wrong call is costly to unwind. That split is what let one person build and maintain 27 county-specific engines without burning unlimited time or money.

03 JSON is the source of truth, generated files are disposable

Every pipeline I run keeps its real state in structured data — JSON, a spreadsheet, a database — never in a one-off script's local variables. Scripts, dashboards, and reports get regenerated from that data whenever they're stale; I never hand-edit an output file, because the next run would just overwrite it anyway. That discipline is what makes it safe to delete and rebuild almost anything in these systems without losing real information.

04 Build for the person who isn't technical

My business partner and the operators who use these tools day to day aren't developers, and they shouldn't have to think like one. The call pipeline is written only in Python's standard library, on purpose, so a routine dependency update can't break a tool a non-technical person depends on to do their job. The lead dashboards are a map with taps and clicks, not a database console. If a tool needs a manual to use, I consider that a bug.

05 Automate for the failure, not just the success

Anything that runs unattended will eventually fail unattended — a site changes its HTML, an API rate-limits, a scheduled task silently doesn't fire. I design for that from the start: runs that are safe to retry, logs that say what actually happened, and scheduled jobs that pick back up rather than requiring a person to notice and restart them. That's the difference between a demo and a system three people depend on every day.

Background

One continuous story

I've been finding problems and building businesses around them since high school. The tools just got better.

Why I'm making this move

People ask why a finance major is applying to product, solutions, and forward-deployed engineering roles instead of investment analyst seats. Here's the honest answer: when my own business needed better data, I didn't buy a subscription — I built the pipeline myself, and it worked better than anything I could have bought. I found out I'd rather build the system than run the spreadsheet it produces. I want to do that with a team, at a bigger scale, on a product that isn't just mine.

Resume

Two versions, tailored to the role

Pick whichever matches the role you're evaluating me for.

Contact

Get in touch

The fastest way to reach me is email.