Summary
Engineer with 6+ years building and operating the systems a business decision has to
stand on: ETL pipelines, search and backend services, internal tooling, production AI agents
and workflow automation, and the analytics layers on top of them. I take an ambiguous problem
and give it clear edges, deciding what to build, naming the tradeoffs out loud, and owning the result
from problem framing to shipped output. I have carried work zero-to-one inside startups
and hardened it inside larger, structured organizations, which is why the title on the
door has changed while the discipline underneath it has not. What an organization gets is an engineer
who treats correctness as a contract, drives adoption by making tools practical for the people who use
them, and closes the loop between what a system does and what a decision needs.
Experience
Quality Analyst // AI Agents, Data Engineering & Reporting Automation
Apple Maps (Contract), Austin, TX
Apr 2025 – Present
- Designed and shipped 7 internal AI agents and reusable skills spanning professional writing, repository analysis, automation review, KPI identification, structured brainstorming, and spreadsheet and slide-deck generation, cutting an estimated 4 hours of manual work per day across the team.
- Own the technical direction end to end, from problem framing and agent design through iteration in production, and lead enablement by demoing tools and spreading AI workflow patterns the rest of the team now reuses.
- Own ETL pipelines that ingest file-based and relational inputs, run Python and Pandas transformations, and load structured tables built for recurring reporting and ad hoc analysis.
- Consolidated fragmented scripts into a modular Python ETL package with defined entry points, schema validation, quality enforcement, and stage-level logging, so a failure traces to the exact stage that caused it.
- Designed LLM-assisted workflows for semi-structured reporting inputs, then built the post-processing layer that validates and corrects those outputs against the relational data model. The model is the check, not the model output.
- Automated recurring reporting with Airflow-scheduled jobs that query analytical tables, compute aggregates, and populate presentation templates, eliminating 16 hours per week of manual reporting.
- Partnered with reporting and operations stakeholders to define KPIs, calculation logic, and refresh cadence, so pipeline output matches the logic the decision is actually reasoned with.
Tech: Python, SQL, AI agents & skills, LLM tooling, Pandas, Airflow, PostgreSQL, AWS, Docker, Selenium
Software Engineer // Freelance, Backend & AI Integration
Freelance Software Development, Austin, TX
Mar 2024 – Jan 2025
- Designed a multi-tenant permission model for a collaborative media platform, layering org and team approval gates, scoped ORM query paths, and object-level ownership checks so isolation held at three independent points instead of one filter a future change could quietly break.
- Integrated an API-backed AI assistant into onboarding flows, persisting request and response metadata in relational tables to drive in-app guidance.
- Chose server-side revocable tokens over stateless JWTs so an admin revoking a member's access took effect immediately. For a B2B tool, access control has to be instant.
- Designed normalized relational schemas with the right keys, indexes, and constraints, maintained through migrations as the model evolved.
- Cut response times on heavy read paths by profiling query plans and adding targeted single and composite indexes, reducing load on the database.
- Ran a self-audit of the codebase against its own documentation before a technical review, found a live bug in the uploads endpoint, fixed it, and adopted "verify against source, not docs" as a standing habit.
Tech: Python, Django, DRF, JavaScript, Vue.js, PostgreSQL, Redis, Docker, GraphQL
Senior Backend Engineer // Search & Backend Systems
ThinkOnward (Startup), Austin, TX
Sep 2022 – Feb 2024
- Built an async, event-driven ingestion pipeline where Lambda parsed S3 files, extracted structured fields, and indexed 100K documents into OpenSearch, with a field-mapping redesign that prevented drift and preserved lineage.
- Cut query time on core reporting endpoints from 8 seconds to under 1 second by redesigning index mappings and query shapes.
- Led zero-to-one system design from greenfield, turning ambiguous product goals into technical roadmaps with real boundaries and holding engineering, product, and customer-facing teams aligned as the architecture moved.
- Built a geospatial polygon system tied to the OpenSearch index for well-location queries.
- Wrote the backend API and design specs covering data flows, contracts, and failure modes for teams who were not in the room when the decisions were made.
- Ran containerized services on AWS with Git-based CI/CD (builds, schema migrations, automated testing), keeping rapid iteration from costing system stability.
Tech: Python, Django, PostgreSQL, OpenSearch, AWS (ECS, EC2, Lambda, S3), Docker, GraphQL, Airflow
Software Engineer // Freelance, Backend & Data Engineering
Freelance Software Development, Austin, TX
Aug 2020 – Sep 2022
- Delivered backend and data engineering for small clients and early-stage products, building internal tooling and pipelines in Python, Django, and AWS.
Tech: Python, Django, AWS, PostgreSQL
Team Lead / Software Engineer // Performance Management & Analytics
Caterpillar Inc., Victoria, TX
Mar 2018 – Aug 2020
- Designed and built a REST API-backed performance-management system that introduced traceability to factory workflows, ingesting raw data points once and exposing them as daily and weekly aggregates and trend views.
- Wrote the SQL transformation layer behind throughput, quality, and cost metrics, feeding the charts and dashboards operations leadership used to allocate time, work, and resources.
- Ran root cause analysis through KPI decomposition, trend analysis, and anomaly detection, then recommended workflow changes and measured the effect: 65% improvement in measured output quality and a 50% cut in rework resource usage.
- Defined requirements with QA and environmental teams so the system measured what the operation actually needed.
Tech: Python, Flask, SQL, MySQL, HTML/CSS, AWS
Selected Projects
ReportingAuto Python, Pandas, ETL
A recipe-driven reporting engine. Column rules and analyses (correlations, crosstabs, outliers, time series) are configured once; every report after that runs itself, each output tagged with a run ID so it traces back to the recipe that produced it.
Logger FastAPI, Vue.js, PostgreSQL, Docker
A full-stack time tracker whose real work is the auth layer: HttpOnly-cookie sessions, refresh tokens that rotate on every use with reuse detection per RFC 6819, and a single-flight guard so a burst of concurrent requests cannot log a valid session out.
ShopFloor FastAPI, GraphQL, PostgreSQL, Vue.js
A manufacturing execution and quality-tracking system, work orders, routings, bills of materials, and a click-to-draw floor-plan editor over an SVG plant map, sitting behind one typed GraphQL API over 16 SQLAlchemy models with a deliberately flat, N+1-free schema.
Media Co-Lab Django, DRF, Vue.js, PostgreSQL, Docker
A multi-tenant media collaboration platform where organizations contain teams, every item carries a comment feed and a live WebSocket relay, and tenant isolation is held by a three-layer permission model rather than a single query filter.