// Code. Deploy. Scale. Repeat.

Building Reliable Web Systems

I build web applications and the systems behind them. Currently at Hounder, developing in Drupal, WordPress, and Laravel for counties, airports, and utilities — sites where a broken page means someone can't renew a permit.

Current Status

System StatusOnline
RoleWeb Developer @ Hounder
Active Projects5
FocusReliable Systems
AvailabilityEmployed

Terminal // Portfolio Console

> initializing portfolio...

> loading projects...

> scanning system status...

> checking availability...

> loading contact links...

> portfolio ready

Projects Built

5

Current Focus

Reliable Systems

Core Stack

PHP · Drupal · WordPress · Laravel

Availability

Employed

Projects

Featured Projects

View all projects
Live

Project

UAB — Blaze a Brighter Future

A fully custom WordPress build for the University of Alabama at Birmingham's alumni campaign, showcasing graduate career stories to prospective students. Hand-built theme and page templates with no parent theme or page builder, plus custom blocks and ACF fields so university staff can publish new alumni spotlights without touching code. Responsive across the full browser matrix. Built at Hounder.

  • WordPress
  • PHP
  • ACF
  • Custom Theme
  • JavaScript
  • Responsive CSS
Live

Project

Blackjack Tutor

A PyGame blackjack trainer that evaluates every decision against the mathematically correct basic strategy in real time, tracks accuracy by category, and explains mistakes with rule-based coaching. Full 6-deck engine with splits, doubles, surrender, and insurance, backed by 682 tests at 96% coverage. Created with Joon Rho.

  • Python
  • PyGame
  • pytest
  • Ruff
Live

Project

PokeGuess

A Pokemon guessing game where players identify Pokemon from silhouettes and clues. Built with React 19 and Vite, styled with Tailwind CSS v4, and routed with React Router v7. Created with Eric Morales.

  • React
  • Vite
  • Tailwind CSS
  • React Router
Live

Project

Habit Tracker

A command-line tool that generates a professional Excel spreadsheet for tracking daily habits across an entire year. Features interactive CLI prompts for custom habits, monthly sheets with conditional formatting, automated success rate calculations, and a yearly summary dashboard with trend charts. Built with Python and xlsxwriter.

  • Python
  • xlsxwriter
  • CLI
  • Excel

Experience

Professional Work

Live

Role

Web DeveloperHounder

April 2026 – Present

Client sites in Drupal, WordPress, and Laravel across the full production lifecycle: custom components and page templates, PHP and server-side logic, responsive CSS, migrations, and Lighthouse accessibility audits. The clients are public agencies, so the QA bar is high and the browser matrix is wide.

Different stack than my personal projects, same priorities. A Drupal build for a county and a Next.js storefront both come down to whether it's reliable, whether it's maintainable by the next person, and whether it works for everyone who needs it.

  • PHP
  • Drupal
  • WordPress
  • Laravel
  • Twig
  • Accessibility

Skills

Technical Skills

CMS & PHP

  • Drupal
  • WordPress
  • Laravel
  • PHP
  • Twig
  • Content Migrations

Frontend

  • Custom Theming & Templates
  • Semantic HTML
  • Responsive CSS
  • JavaScript
  • React / Next.js
  • TypeScript

Backend

  • Server-Side Logic
  • Custom Modules & Plugins
  • REST APIs & Webhooks
  • Authentication
  • Node.js
  • Python

Databases

  • MySQL
  • SQL Queries & Debugging
  • Drush & WP-CLI DB Syncs
  • Environment Sync (Prod → Local)
  • Schema & Update Hooks
  • Data Modeling

Quality & Accessibility

  • Accessibility / WCAG
  • Lighthouse Audits
  • Cross-Browser QA
  • Testing
  • Performance
  • Security

Infrastructure

  • Acquia
  • Pantheon
  • Laravel Forge
  • Vercel
  • Docker
  • GitHub Actions / CI/CD

Deployment Architecture

Active

Source Control
CI / CD
Deployment
API Layer
Database
Cache / Storage
Monitoring
Code moves through CI/CD into a deployment target.App services connect to APIs, data, storage, and monitoring.

What I Optimize For

Focus

Reliability

Systems that fail clearly and recover cleanly.

Performance

Fast interfaces, efficient APIs, and tuned queries.

Maintainability

Readable code, focused tests, and simple ownership.

Security

Safer auth, validation, and data handling by default.

Engineering Judgment

Architecture Decisions

A few examples of how I think through technical tradeoffs when building products that need to stay maintainable.

Decision

Keep configuration in code, not in the database

Why

Version-controlled config means every environment can be rebuilt the same way, and a change is reviewable before it reaches production instead of being clicked into a live admin UI.

Tradeoff

More deploy discipline up front, but no drift between local, staging, and prod.

Decision

Build for the content editor, not just the launch

Why

Public agencies maintain these sites for years with non-technical staff, so structured fields and defined components hold up better than a freeform editor that decays after handoff.

Tradeoff

Less flexibility on any single page, but the site still looks intentional a year later.

Decision

Audit for accessibility before launch, not after

Why

Public-sector sites have compliance obligations and a wide range of users; catching issues during the build is cheaper than remediating a live site.

Tradeoff

Slower initial delivery, but no separate remediation project later.

Decision

Support the browser matrix the audience actually uses

Why

A county or utility site serves everyone, including people on older hardware and locked-down government machines, so the target is what visitors actually run rather than whatever is current on my own setup.

Tradeoff

More conservative CSS and JavaScript choices, but the site works for the people it was built for.