About

Me

I am a front-end engineer who builds applications and components using JavaScript, HTML, and CSS. I love building cool things, especially using JavaScript. I have worked on small and large code bases and enjoy the unique challenges presented by both — today as a Senior Staff Frontend Engineer at Pendo.io. See my full Resume.

Running

I enjoy running and try to do so as often as possible. I prefer trail running, but mostly train on paved roads for time/convenience reasons. Below you can find data about my most recent runs:

Recent Activities

Activity Type Activity Name Distance Pace Elevation Date
Road Run Lunch Run 5.1 mi 7:25 /mi 292 ft
Road Run For those about to rock 5 mi 7:26 /mi 282 ft
Road Run Afternoon Run 0.6 mi 7:37 /mi 46 ft
Road Run Lunch Run 5 mi 7:36 /mi 282 ft
Hike De Lacy creek 1.9 mi 19:32 /mi 128 ft

Recent Stats (last 4 weeks)

  • Run: 4 activities, 15.7 mi

Run Breakdown (last 4 weeks)

  • Road Run: 3.9 mi avg, 7:30 /mi avg, current gear: Nike Pegs

Last updated November 11, 2026

This site

Performance

Lighthouse scores, last measured November 11, 2026 — trend vs. previous audit (November 10, 2026)
Page Perf A11y BP SEO LCP CLS TBT
Home 100– 100– 100– 100– 1.2s– 0– 13ms–
About 100– 100– 100– 100– 0.9s– 0– 0ms–
Resume 100– 100– 100– 100– 0.9s– 0– 0ms–
Blog 100– 100– 100– 100– 0.9s– 0– 0ms–
  • Green = good, orange = needs improvement, red = poor, per Lighthouse's own thresholds.
  • The faint line in a cell traces that metric across the last few audits (newest at right); it plots raw values, not tiers, so short wobbles are normal lab noise — the ↑ ↓ – arrow is the real tier signal.
  • ↑ ↓ – show whether a score's tier improved, regressed, or held since the previous audit — activate ↑ or ↓ for the earlier value.
  • Select ⓘ next to a metric for more about it.
Performance (Perf) — Lighthouse's weighted score (0–100) combining lab metrics — weighted most heavily toward LCP, TBT and CLS. ≥ 90 good, 50–89 needs improvement, < 50 poor. Accessibility (A11y) — Weighted pass/fail automated accessibility checks (Lighthouse runs axe-core). Same 0–100 banding. A perfect score still needs manual testing to confirm — automated checks can't catch everything. Best Practices (BP) — Equally-weighted general web-quality and security checks — HTTPS, no console errors, no deprecated APIs, correct image aspect ratios, a Content Security Policy. Same 0–100 banding. SEO — Basic technical-SEO checks — page is crawlable, has a title and meta description, returns a successful status, uses descriptive link text and a valid canonical. Fundamentals only, not a full SEO audit. Same 0–100 banding. Largest Contentful Paint (LCP) — Time until the largest image or text block in the viewport renders. ≤ 2.5 s good, 2.5–4 s needs improvement, > 4 s poor. Cumulative Layout Shift (CLS) — How much visible content shifts position unexpectedly while the page loads (unitless). ≤ 0.1 good, 0.1–0.25 needs improvement, > 0.25 poor. Total Blocking Time (TBT) — Total time the main thread was blocked by long tasks during load, delaying response to input. ≤ 200 ms good, 200–600 ms needs improvement, > 600 ms poor.