Skip to content

Latest commit

Β 

History

73 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Tommy Hoang β€” Professional Portfolio

Website LinkedIn GitHub Aperca LLC QA Vibe App Tests Deploy IndexNow

About Tommy Hoang

QA Tech Lead Β· Agentic AI QA Engineer Β· Senior Quality Engineer Β· Security & Compliance Testing

Professional portfolio showcasing 9+ years of experience in quality engineering, agentic AI QA orchestration, security & compliance testing, mobile development, and entrepreneurship.

πŸš€ Professional Highlights

  • QA Tech Lead & Agentic AI QA Pioneer β€” built end-to-end agentic AI QA orchestration platforms with multi-agent test generation, self-healing selectors, and autonomous defect triage
  • Security & Compliance QA β€” PCI DSS, SOC 2, HIPAA audit readiness; OWASP ZAP integrated in CI/CD; AT&T DirecTV fraud-payment QA
  • Performance Engineering β€” K6/Grafana/InfluxDB; reduced backend p95 latency by 35%, cut test suite execution time by 60%
  • API Quality β€” lifted API test coverage from 65% β†’ 92% at Cognizant; automated RCA reduced root-cause time by 40%
  • Founder of Aperca LLC β€” mobile apps and browser extensions with 10K+ downloads and 4.8β˜… average rating
  • Published Author β€” We Will Find a Place to Sleep Tonight (Hurricane Katrina memoir)
  • Founder of QA Vibe App β€” qavibeapp.com β€” QA engineering blog covering AI-powered testing, Playwright/K6/Robot Framework tutorials, and developer gear reviews
  • Current Role: QA Tech Lead at Aperca LLC (2023 – Present) | Senior QA Engineer at Dispel (Jun 2025 – Present)

πŸ“ Repository Structure

thoangdev.github.io/
β”œβ”€β”€ index.html                  # Main SPA portfolio (1 300+ lines)
β”œβ”€β”€ assets/
β”‚   β”œβ”€β”€ resume-pdf.html         # Downloadable resume (top-1% optimised)
β”‚   β”œβ”€β”€ resume-pdf.html         # PDF-ready resume
β”‚   β”œβ”€β”€ logos/                  # Company / brand logos
β”‚   └── pdf-generator.html      # PDF generation helper
β”œβ”€β”€ css/
β”‚   β”œβ”€β”€ styles.css              # Main stylesheet
β”‚   └── theme.css               # Theme overrides
β”œβ”€β”€ js/
β”‚   β”œβ”€β”€ scripts-optimized.js    # Navigation, drawer, smooth scroll, reveal logic
β”‚   β”œβ”€β”€ contact-form.js         # Contact form validation and submit handling
β”‚   β”œβ”€β”€ pdf-generator.js        # Resume PDF access and print helper
β”‚   └── resume-print.js         # Resume auto-print behavior for printable HTML
β”œβ”€β”€ tests/
β”‚   β”œβ”€β”€ *.test.js               # Node-based unit, integration, and smoke tests
β”‚   └── helpers/                # Lightweight DOM test fakes
β”œβ”€β”€ 8f3a7d2c9b4e1056.txt        # IndexNow key verification file
β”œβ”€β”€ google5e85760eebc133b5.html # Google Search Console verification
β”œβ”€β”€ sitemap.xml                 # XML sitemap (homepage + resume-pdf)
β”œβ”€β”€ robots.txt                  # Crawler directives
β”œβ”€β”€ 404.html                    # Custom error page
└── .github/
    └── workflows/
        β”œβ”€β”€ test.yml            # CI test runner for push / PR / manual
        β”œβ”€β”€ deploy.yml          # Build β†’ inject secrets β†’ deploy to Pages
        └── indexnow.yml        # Ping Google/Bing/Yandex via IndexNow API

Test Strategy

  • Unit tests cover pure client-side helpers such as email validation, active nav state mapping, swipe thresholds, and PDF filename generation.
  • Integration-style tests cover DOM-driven behavior such as contact form submit states, analytics calls, drawer open/close flows, smooth scrolling, reveal observers, and resume print behavior.
  • Smoke tests start a local static HTTP server and verify the real HTML pages, 404 fallback, and extracted runtime scripts are served with the expected critical elements.

Running Tests

PowerShell (Windows):

$files = Get-ChildItem "tests" -Recurse -Filter *.test.js | ForEach-Object { $_.FullName }
node --test $files

Bash (macOS / Linux / GitHub Actions):

mapfile -t files < <(find tests -type f -name '*.test.js' | sort)
node --test "${files[@]}"

πŸ›  Technical Expertise

9 years across: Aperca LLC Β· Dispel Β· Cognizant Β· DXC Technology Β· insightsoftware Β· Dialexa (IBM) Β· Accruent (Fortive)

Domain Tools & Skills
Test Automation Robot Framework, Playwright, Selenium, Cypress, Appium
Agentic AI QA LangChain, CrewAI, OpenAI API, multi-agent orchestration, self-healing selectors
Performance Testing K6, JMeter, NeoLoad, Grafana, InfluxDB
Security & Compliance OWASP ZAP, PCI DSS, SOC 2, HIPAA, DevSecOps
Audit & Governance Compliance Audit, Risk-Based Testing, Release Gate Governance, Defect Trend Reporting
DevOps / CI-CD Docker, GitHub Actions, Jenkins, AWS
Programming Python, JavaScript, Java, C#
Databases PostgreSQL, MySQL
Monitoring Grafana, InfluxDB, PostHog, Tuskr

πŸ“± Aperca LLC Products

Mobile Applications: WealthTrackr Β· Oz and Inches Β· Date Night Decider Β· Fastcarb

Browser Extensions: PinNote Β· Tab Resource Monitor Β· MarkUpShot Β· Clipboard+ Β· DailySync

✍️ QA Vibe App β€” Blog

qavibeapp.com β€” A modern learning hub for QA engineers and automation testers who want to level up with AI-powered testing workflows.

  • Real-world, step-by-step tutorials: Playwright, K6, Robot Framework, OWASP ZAP
  • AI-powered QA workflows: Claude, OpenAI Codex, LLM-generated test cases
  • Career growth content for breaking into QA or advancing in tech
  • Tech unboxings and honest reviews of developer tools and gear

πŸ† Key Metrics

Metric Value
Manual test reduction 70%
Production bug escapes 0
API test coverage (peak) 92%
Test development speed 60% faster
App downloads 10K+
Years QA experience 9+

βš™οΈ CI/CD & SEO Infrastructure

Test Workflow (.github/workflows/test.yml)

  • Triggers on push to main, every pull request, and workflow_dispatch
  • Uses Node's built-in test runner; no npm install or package.json required
  • Runs unit, integration-style, and local static smoke tests from the tests/ directory

Deploy Workflow (.github/workflows/deploy.yml)

  • Triggers after the CI Tests workflow succeeds on pushes to main, plus workflow_dispatch
  • Injects GA_MEASUREMENT_ID secret at build time via sed substitution (replaces __GA_MEASUREMENT_ID__ placeholder in index.html)
  • Deploys via official actions/deploy-pages to GitHub Pages
  • Concurrency guard prevents overlapping deployments
  • Checks out the tested commit SHA so the deployed artifact matches the validated revision

Required secret: GA_MEASUREMENT_ID β†’ your Google Analytics 4 Measurement ID (e.g. G-XXXXXXXXXX)

Setup:

  1. Repo Settings β†’ Pages β†’ Source β†’ set to GitHub Actions
  2. Settings β†’ Secrets β†’ Actions β†’ New secret: GA_MEASUREMENT_ID = <your GA4 ID>

IndexNow Workflow (.github/workflows/indexnow.yml)

  • Triggers on push to main, weekly schedule (Mondays 06:00 UTC), and workflow_dispatch
  • Bulk-submits 8 URLs via JSON POST to api.indexnow.org (relays to Google, Bing, Yandex, Seznam, Naver)
  • Also directly pings www.bing.com/indexnow
  • IndexNow key: 8f3a7d2c9b4e1056 (verification file at site root)

πŸ“„ Certifications

  • CompTIA Security+
  • AWS Certified Cloud Practitioner
  • Google Cybersecurity Certificate
  • Google Project Management
  • Professional Scrum Master (Scrum.org)

πŸ“¬ Contact

Email hoangtommyquoc@gmail.com
Phone (504) 453-8178
LinkedIn linkedin.com/in/tommyqhoang
GitHub github.com/thoangdev
Location New Orleans, LA β€” Remote

Last updated: April 15, 2026

About

🌐 Personal resume and portfolio site built with HTML/CSS/JS and hosted via GitHub Pages. Showcasing my skills, projects, and experience in tech.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Used by

Contributors

Languages