Skip to content
View ehnruiz's full-sized avatar
🎯
Focusing
🎯
Focusing

Sponsoring

@CoreBunch

Organizations

@arthrex

Block or report ehnruiz

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
ehnruiz/README.md

Web platform engineer and manager | TypeScript Β· Node.js Β· Next.js Β· Astro Β· Playwright Β· AWS Β· AI agents as a team

Typing SVG

Website LinkedIn GitHub


Role Location Open source Writing



πŸ‘‹ About Me

const emmanuel: Engineer = {
  name:     "Emmanuel Ruiz",
  role:     "Software engineering manager, Arthrex (global medical device company)",
  location: "Southwest Florida Β· speaks English and French",

  focus: [
    "🌐 The web platform behind arthrex.com and its family of sites",
    "🩻 X-Ray: a Playwright quality gate that audits ~50 sites every week and on demand",
    "πŸ€– Working with AI agents as a team: skills, MCP servers, review loops, handoffs",
    "πŸ“ˆ SEO, structured data and AI visibility for a regulated industry",
    "πŸ§‘β€πŸ€β€πŸ§‘ Leading a team that ships weekly without trading away quality",
  ],

  stack: {
    languages:  ["TypeScript", "JavaScript", "Python", "Ruby", "Shell"],
    web:        ["Next.js", "React", "Astro", "Jekyll", "Rails", "MDX docs"],
    quality:    ["Playwright", "Vitest", "Lighthouse", "axe", "CodeQL"],
    delivery:   ["GitHub Actions", "Docker", "Kubernetes manifests", "AWS CDK", "Azure"],
    ai:         ["Claude Code", "MCP", "agent skills", "embeddings", "LLM-as-judge"],
  },

  principle: "Pace is a feature. Quality is the floor, not the ceiling.",
};

πŸš€ What I Build

⭐ Flagship: X-Ray, a quality gate for a family of websites

X-Ray crawls a site with Playwright and checks it before it goes live and every week after: content, links, images, rendering, browser errors, SEO, accessibility, consent and brand terms. It runs on about 50 Arthrex sites and reports to a dashboard, to Teams and to Jira.

  • πŸ§ͺ 60+ checks, each a pure function over a page snapshot, every heuristic shipped with a negative test, so a false positive is treated as a bug
  • 🏷️ A Site Health Score that discloses what did not run instead of awarding partial credit
  • πŸ”Œ An MCP server and a CLI, so people and agents can start an audit, read findings and ask what a check means
  • πŸ€– Built with AI agents as a team: a supervisor routes scoped tickets to cheaper models, reviewers judge diffs, hooks guard secrets and the test gate
  • πŸ“ The story of its first month is in One Month at the Frontier

TypeScript Node.js Playwright Vitest MCP GitHub Actions

πŸ”’ Internal to Arthrex, so the repository is private. The essay above is the public write-up.

🌐 Platforms and sites

Project What it is Tech Where
πŸ₯ arthrex.com platform The Next.js platform behind arthrex.com: structured data for videos and techniques, ISR, 404 handling, SEO hardening and performance work. Next.js TypeScript arthrex.com Β· πŸ”’ private repo
πŸš€ Astro + design tokens Rebuilding a marketing site on Astro with a token-based design system, measured against the live site with X-Ray and Lighthouse. Astro πŸ”’ private proof of concept
πŸ–₯️ X-Ray portal A Next.js front end over X-Ray's reports: history per site, findings by rule across the portfolio, signed report links, deployed with AWS CDK. Next.js AWS πŸ”’ private repo
✍️ mister99.dev Essays on building software with AI agents, published with Jekyll and GitHub Pages, with generated link-preview cards. Jekyll Visit · Repo

🀝 Open source

Project Contribution Tech Where
🧱 Instatic Evaluating an open-source visual CMS for static sites; fixing what I hit on the way: CSS custom properties dropped by the publisher, imported color and font tokens whose var() references were not rewritten. TypeScript Pull requests · Issues

πŸ› οΈ Toolbox


Area What I reach for
Web platforms Next.js, React, Astro, Jekyll, Rails, Webflow, headless CMSs (Kontent.ai, Builder.io, Instatic)
Quality and testing Playwright, Vitest, Lighthouse, axe, CrUX field data, CodeQL, test-first checks with negative cases
SEO and content Structured data (JSON-LD), hreflang, canonicals, Core Web Vitals, brand and claim validation, AI visibility
Delivery and infra GitHub Actions, Docker, Kubernetes manifests, AWS CDK and App Runner, Azure, GitHub Packages
AI tooling Claude Code skills and hooks, MCP servers, multi-model supervision, LLM-as-judge evals, embeddings
Automation Power Automate and Teams flows, Jira and Confluence integrations, scheduled audits

πŸ”­ Current Interests

  • πŸ€– AI agents as a team, not a tool. Supervisor and worker roles on different models, skills that encode how a repo is judged, hooks that block secrets and loose files, handoffs between sessions. The question I keep asking: how far can a small team's pace go without the quality floor moving?
  • πŸ“‘ AI visibility. How LLM answer engines read, cite and rank sites, and which page-level signals move that for a regulated industry. Measured, not guessed.
  • 🧱 Static-first publishing. Astro, design tokens and an open-source visual CMS as an alternative to Webflow for marketing sites, judged by the same audit as the sites they would replace.
  • 🧠 Embeddings in quality checks. Paraphrase detection for approved claims, portfolio overlap and prompt answerability, on small open models.
  • πŸͺ Consent that actually works. Checking that each consent category only activates its own tags, on real banners, with a real browser.
  • ✍️ Writing it down. One essay a month on what building at this pace teaches, at mister99.dev.

πŸ“Š Activity



Contribution calendar

Most of my commits land in private Arthrex repositories: about 1,900 contributions across 24 repositories in the past year (October 2026). The graph above counts them; the public repository list does not.


✍️ Writing

One Month at the Frontier

One Month at the Frontier What thirty days of building X-Ray taught me about pace, quality and leading with AI


Pinned Loading

  1. ehnruiz.github.io ehnruiz.github.io Public

    Build a Jekyll blog in minutes, without touching the command line.

    HTML 1

  2. Instatic Instatic Public

    Forked from CoreBunch/Instatic

    The open-source alternative to Webflow, Framer and WordPress. Agentic self-hosted visual CMS outputting clean static pages. Users, roles, plugins, content, database, it's all there.

    TypeScript

  3. claude-skills claude-skills Public

    Claude Code skills and subagents: route work across model tiers, hand off between sessions, write tickets people read, keep AI credit out of your commits.

    Python