Jonathan Biro

Software engineering & quality automation

Hi, I’m

Jonathan Biro

I build software.
And figure out why it breaks.

7+ years in QA automation and SDET roles at DocMagic and Priceline. I build software, automate the paths that matter, and turn vague reports into bugs a team can reproduce and fix.

This site deploys from public GitHub source (opens in a new tab) through automated quality checks (opens in a new tab) to Netlify.

Illustrated portrait of Jonathan Biro
Jonathan Biro Engineer · Los Angeles, California

01 Career

Professional
experience.

Full background on LinkedIn ↗ (opens in a new tab)
  1. DocMagic

    –present · 4+ years

    QA Automation Engineer

  2. Priceline

    2019–2022 · 3 years, 1 month

    Software Development Engineer in Test (2020–2022)
    QA Automation Engineer (2019–2022)

02 Selected engineering work

The product. The code.
The checks behind it.

Independent project / Web application

BiroMD — quality engineering

I paired frontend development with automated release checks for a medical-practice website. My focus: making sure a patient’s path to a consultation still works after the next change.

TypeScript / Next.js / Playwright / GitHub Actions

BiroMD interface showing the consultation entry point covered by the browser regression tests
BiroMD interface · Project screenshot

Browser regression

Protect the patient journey.

  • Consultation links and mobile navigation
  • Keyboard behavior and accessible interactions
  • Text contrast across light and dark themes
Read the test suite ↗ (opens in a new tab)

Release validation

Catch what a build can miss.

  • Missing routes and broken internal links
  • Sitemap and exported-page mismatches
  • Images exceeding the asset budget
View CI workflows ↗ (opens in a new tab)
Technical example: preventing a dark-mode contrast regression

A consultation-button fix explicitly corrected its dark-mode foreground. The browser regression checks the computed text contrast in both themes against a 4.5:1 minimum.

const cta = page.getByRole("link", {
  name: "Request a Consultation"
}).first();

await expect(cta).toBeVisible();
expect(await textContrast(cta))
  .toBeGreaterThanOrEqual(4.5);

Excerpt from the repository test suite; not a live test result.

Inspect the implementation change ↗ (opens in a new tab)

03 A bit about me

Curious about the why.
Practical about the fix.

I’m a QA Automation Engineer and SDET in Los Angeles. I like getting close enough to the product to understand how it should work—and curious enough to find the ways it doesn’t.

That’s why I build interfaces alongside their tests. I care about automation that catches real regressions, failures that point to the problem, and releases that don’t surprise people.

More about my background ↗ (opens in a new tab)

04 Get in touch

Let’s build
something reliable.

Software engineering · Automation · SDET