Projects

The natural evolution of your business.

Production software I designed, built, and operate end-to-end. QA on Autodesk Maya and 3ds Max taught me exactly how software breaks — this is what I build when I own the whole stack, from schema to server. Every project below is live. Click through and use it.

evo.ehs

Beta · Live demo

Multi-tenant SaaS for environmental, health & safety compliance at multi-plant manufacturers. Tracks permit deadlines and evidence, manages incidents and corrective actions, runs OSHA incidence-rate reporting, and auto-discovers facility data straight from EPA and Texas TCEQ databases — with per-site live weather and NWS alerts.

  • Python
  • NiceGUI / Quasar
  • PostgreSQL
  • SQLAlchemy
  • Alembic
  • Docker
  • nginx
  • AWS EC2

evo-ai

Live · Ask AI

A multi-tenant Retrieval-Augmented Generation (RAG) platform I designed and built — it turns an organization's own records into a grounded, guarded, cited assistant that answers only from those records and declines everything else. Model-agnostic per tenant, private-capable, and deployed in production as the "Ask AI" capability inside evo.ehs.

  • FastAPI
  • LlamaIndex
  • Qdrant (hybrid)
  • fastembed
  • LiteLLM / Ollama
  • text-to-SQL
  • multi-tenant

EvoPlatform

Architecture

The multi-tenant foundation beneath these apps: shared authentication, per-tenant data isolation at the row level, and an API designed from the ground up as the platform's core — not an add-on bolted to an existing app. A common SDK means a new product ships in days instead of months. Currently proving out against SWAG Estimates and DocketMail ahead of an open-source release.

  • API Design
  • Node.js
  • NestJS
  • JWT
  • PostgreSQL (row-level isolation)
  • Docker

// Internal platform — no public URL. Happy to walk through the architecture in an interview.

EvoCivilCode

Beta

Ask the Texas statutes a question and get an answer grounded in the statutes themselves — every response cited to a specific section, with its hierarchy, the passage it came from, a deep link to the official text, and the snapshot date. A second evo-ai RAG product: the complete statutory corpus retrieved from the official Legislative Council source, parsed into clean sections, and answered by a local model so nothing leaves the box. Guardrails are the product — it tells you what the law says, never what to do.

  • evo-ai (RAG)
  • EvoPlatform
  • Next.js
  • Ollama (local model)
  • Qdrant
  • corpus parsing
  • citation gate

// Beta — retrieval verified by a 30-question citation gate before the product shipped.

SWAG Estimates

In progress

Web-based estimating platform for major industrial capital projects — factories, wind farms, power plants. It's built on an 18-sheet Excel methodology that evolved over 30 years of in-field use, converted into an offline-first web app: 5,121 live formula cells recomputed in the browser, drag-in .xlsx import, and local-to-cloud sync so estimators can work with no connectivity.

  • Vite SPA
  • HyperFormula
  • IndexedDB (offline)
  • Node.js API
  • PostgreSQL
  • Docker
  • AWS EC2

DocketMail

In progress

Automated court-record monitoring for Southeast Texas — surfaces new filings and generates targeted direct-mail pieces from the data, on a schedule.

  • Python
  • PostgreSQL
  • Scheduled pipelines
  • Docker

// Demo login being set up before public access.

zscripts

Live · Open source

Open-source CLI built for AI-assisted development — one-word commands (zstart, zdeploy, zbackup) that wrap the routine start / deploy / backup chores so a coding agent doesn't have to reason through them. It saves tokens, but the real win is keeping the AI's context window focused on the actual work. The tooling I use to run everything on this page.

  • PowerShell

evo.locate

Live · Open source

Self-hosted IP geolocation API — no account, no API key, no per-query cost, and no visitor IP ever leaves the machine it runs on. It returns the same JSON field names as ip2location.io's free tier, so it drops into anything already written against that API by repointing the URL. Data comes from DB-IP's free Lite databases, held locally and refreshed monthly by the service itself.

  • Python
  • FastAPI
  • MaxMind DB
  • Docker
  • pytest

Self-hosted platform

Live

Everything here runs on infrastructure I built and operate end-to-end: a single nginx edge routing every site, containerized services, self-hosted email, Git, and full metrics and dashboards — on one AWS box, no managed PaaS. When something breaks at 2 a.m., I'm the one who fixes it.

  • Docker Compose
  • nginx
  • Let's Encrypt
  • AWS Route 53 / EC2
  • Postfix / Dovecot
  • Gitea
  • Prometheus
  • Grafana
  • Umami

QA Engineering for AI Systems

Case study

Systematic QA / SDET practice applied to a production LLM platform I designed and built — a documented defect loop against text-to-SQL, retrieval, and guardrail failure modes. Every bug tracked with a reproduction, root-cause analysis, a regression test, and verification against database ground truth.

  • Text-to-SQL validation
  • Retrieval eval harness
  • Guardrail regression suites
  • pytest
  • Ground-truth verification

Analytics dashboard

Live · Internal

Self-hosted visitor analytics for every site on this page — sessions, page views by path, status-code distribution, and per-visitor IP geolocation answered locally by evo.locate on the same box, so visitor data never goes to a third-party service. A single HTML dashboard served directly by the nginx edge, parsing its own access logs.

  • nginx
  • vanilla JS
  • Chart.js (self-hosted)
  • evo.locate (geo)

// Internal code — login-protected. Happy to demo it in an interview.

Want the whole picture? See my employment history, résumé, or get in touch — I'm available for new roles.