Skip to content
Professional portfolioRev. 2026.08 · Document 1 of 1

Oliver
Infante

QA EngineerQuality, automation and applied AI.

Software Engineer specialized in QA. I design test cases, run regression suites and chase defects down to their root cause — and anything that can be automated, I automate. I come from development, so I understand the code I'm testing.

Available
Role
QA Engineer
Location
Santo Domingo, Dominican Republic
Certification
ISTQB Foundation · in progress
Education
B.Sc. Software Engineering · INTEC

Document verified and maintained by its author.

§ 1

Profile

I'm a Software Engineer, Magna Cum Laude from INTEC, and my work moves between two worlds that complement each other: development and quality assurance.

At Focused — a cross-platform support system for ADHD patients, psychologists and psychiatrists — I held both roles: I built the Flutter mobile app and was also responsible for QA. I wrote and ran the functional test cases, put together the regression suites for the patient and clinical staff modules, and tracked defects in Azure DevOps through to closure.

That double perspective is what I bring to a quality team: I can read a stack trace, I understand why a defect happens and not just that it happens, and I write reports a developer can act on without a round trip.

At La Infantería Motorsport I run the team's systems and web platform: a Next.js and Supabase site with an admin panel, backed by 72 automated tests. The suite I care most about is the security one, because it doesn't check that things work — it checks that the things that shouldn't work don't: that the public key cannot write to any table or upload files, and that the data is left intact after the attempt.

Outside formal work, my obsession is making technology work for me. I build bots and agents with language models to automate repetitive tasks, I keep a homelab of Linux nodes self-hosting my own services, and I build my PCs with the same attention to detail I put into a test plan.

Right now I'm building Delta, a telemetry analysis platform for sim racing. It's the project where my two worlds meet completely: software that measures, compares and explains where a tenth of a second goes.

Portrait of Oliver Infante, QA Engineer.
Fig. 1Oliver Infante — QA Engineer, Santo Domingo.
Method

Why the quarter mile and QA are the same thing

In drag racing everything is decided in under eleven seconds, and every tenth comes from a number: reaction time, 60-foot, trap speed. You measure, you adjust the setup, you run again. You never guess. Testing software works exactly the same way — the difference is that on the track a defect costs you the race, and in production it costs you the user.

Oliver Infante reviewing telemetry data on a laptop, sitting inside the race car in the paddock.
Fig. 2Reading telemetry between passes: the data decides the next adjustment, not intuition. · Photo: Davide Morillo
On the trackIn software
  1. 01 · MeasureRun telemetryTest case run
  2. 02 · DiagnoseWhere the tenth was lostRoot cause of the defect
  3. 03 · AdjustSetup and launch controlFix and regression
  4. 04 · RepeatNext passNext release

«What doesn't get measured doesn't get better.»

§ 2

Skills

Tools and practices I use daily, grouped by the job they do.

QA and Testing

The core of my day-to-day work.

  • Manual testing
  • Functional test cases
  • Regression testing
  • Automated E2E testing
  • pytest
  • Defect reporting and tracking
  • Root cause analysis
  • QA sign-off

Automation and AI

I build tools to avoid repeating work, including tests where a model grades the result.

  • Agentic systems
  • Anthropic API
  • Local models (Ollama)
  • LLM as a judge
  • Telegram bots
  • Process automation

Tracking and Management

Where the defect lifecycle lives.

  • Azure DevOps
  • Jira
  • Trello

Languages and Frameworks

The development that backs my technical judgment as a tester.

  • Python
  • FastAPI
  • C#
  • .NET
  • TypeScript
  • Next.js
  • Dart
  • Flutter

Databases

To validate data at the source, not only through the interface.

  • PostgreSQL
  • SQL Server
  • MySQL
  • SQLAlchemy
  • Redis

Infrastructure and Systems

I self-host and administer my own environments: hardware, network and services.

  • Docker / Compose
  • Linux (DietPi)
  • nginx
  • Celery
  • SSH
  • Tailscale
  • Git / GitHub
§ 3

How I work

A QA portfolio that only lists tools says nothing. This is what I produce: the process, and two real samples of my documentation.

172
automated testspytest on Delta and vitest on La Infantería
5
simulators supportedCustom telemetry parsers
10
automated E2E scenariosConversational suite graded by an LLM
2+
years in QA and developmentSince February 2024

The cycle, step by step

  1. 01

    Analyze

    I read the requirement looking for what it doesn't say: what happens with empty data, with different permissions, with the connection down.

  2. 02

    Design

    I write the cases prioritized by risk. First the flows that, if they break, stop the user.

  3. 03

    Execute

    I run the suite leaving evidence of every step, so the report doesn't depend on my memory.

  4. 04

    Report

    I document the defect with reproducible steps and evidence. Where I can, I point at the likely cause.

  5. 05

    Verify

    I check the fix and run the regression around it: a repair can break what already worked.

Test case · TC-042Functional · Edge case

Assign a psychologist to a patient already assigned to another professional

Module

Patient management

Priority

High

Preconditions

  1. 01An active patient exists with a psychologist already assigned.
  2. 02The session is signed in with an administrative role holding assignment permission.

Steps

  1. 01Open the patient list and select one with an assigned professional.
  2. 02Go to “Assign professional”.
  3. 03Pick a psychologist different from the current one and confirm.

Expected result

The system warns that the patient already has an assigned professional and requires explicit confirmation before reassigning. The clinical history stays tied to the patient, not to the previous professional.

Actual result

The reassignment goes through with no warning, and the history stops showing on the patient's record.
FailedLed to DEF-118
Defect report · DEF-118Severity Critical

Clinical history disappears from the record when the psychologist is reassigned

Module

Patient management

Priority

High

Environment

Android 13 · build 1.4.2 · QA environment

Steps to reproduce

  1. 01Sign in as an administrator.
  2. 02Open a patient with a history of at least two recorded sessions.
  3. 03Reassign the patient to another psychologist and confirm.
  4. 04Return to the patient's record and open the history tab.

Expected

The history belongs to the patient and stays visible after the reassignment.

Actual

The tab comes up empty. The records are still in the database, but the query filters them by the current professional instead of by the patient.

Impact

The incoming professional treats the patient with no clinical background. In a mental health context that is risk to the patient, not an interface annoyance.

Attached evidence

Screen recording of the reproduction, a capture of the empty record, and a SQL query showing the rows are still there.
§ 4

Experience

  1. Feb 2024 — Present

    Ongoing

    Junior Developer and IT Support

    Carga Fácil GHH

    • Developing and maintaining web applications with .NET and C#.
    • Leading the SEO structure and the design of the company website.
    • Providing IT support and resolving hardware and software incidents for internal teams.
    • .NET
    • C#
    • SEO
    • Web design
    • IT support
  2. Apr 2024 — Jan 2025

    QA Engineer and Mobile Developer

    Focused Project

    • Contributing to a cross-platform support system for ADHD patients, psychologists and psychiatrists (Flutter mobile + web).
    • Writing and executing functional test cases and regression suites for the patient and clinical staff modules.
    • Reporting and tracking defects end to end in Azure DevOps.
    • Taking part in sprint planning and in QA sign-off before each release.
    • Manual QA
    • Azure DevOps
    • Flutter
    • Regression
  3. Ongoing

    Ongoing

    Systems, Web and Brand Lead

    La Infantería Motorsport

    • Building and maintaining the team's web platform on Next.js and Supabase: public site plus an authenticated admin panel.
    • Backing the site with 72 automated vitest tests across three suites: unit, smoke against a running instance, and security.
    • Testing the permission model negatively: that the public key cannot write to any table or upload to Storage, and that the data is left intact after the attempt.
    • Administering the shop's systems and directing brand identity, online presence and results documentation.
    • Providing technical support for the setup of the shop's Mustang chassis.
    • Next.js
    • Supabase
    • vitest
    • Security testing
    • RLS
    • Brand
§ 5

Cases

Work where I applied QA and development end to end.

Case 01Featured

botqa

End-to-end testing engine for WhatsApp customer-service bots. A local model talks to the bot posing as a real customer, and a second model then grades the conversation against a checklist. It started as a way to test the bot at the company I work for, and I released it as a generic tool.

Role
Author — open source

Detail

  • 01Testing a conversational bot by hand doesn't scale, and automating it with text assertions doesn't work either: the correct answer is never literally the same. The way out was to have one model play the customer and another the grader.
  • 02Scenarios are JSON files with a persona, a goal and a checklist, so adding a test case doesn't require touching code.
  • 03The business context is parameterized: the same engine works for a pizzeria, a clinic or a shop.
  • 04Everything runs on local models in Ollama, so no conversation ever leaves the machine.
  • 05It produces an HTML report per run with each criterion met or missed, its evidence, and the full transcript. It includes a load-testing mode with photos and voice notes.
A botqa report showing a test scenario with six graded criteria, three met and three missed, each with its evidence.
Fig. 3Report from a run against a sample business: the incomplete-data scenario exposes three real bot failures, each with the evidence behind it.
  • Node.js
  • Ollama
  • E2E Testing
  • LLM as a judge
  • WhatsApp
  • Open Source
View project
Case 02In development

Delta

Telemetry analysis platform for sim racing: it turns a session's raw data into concrete answers about where time is lost and which setup change wins it back.

Role
Developer — personal project

Detail

  • 01FastAPI backend with PostgreSQL and asynchronous processing on Celery and Redis, all orchestrated with Docker Compose.
  • 02Custom parsers for telemetry and setup files, normalizing track names against an internal database.
  • 03Session analysis and lap-to-lap comparison, supported by the Anthropic API to interpret the results.
  • 04Next.js frontend with user accounts and separate roles for driver, engineer and administrator.
  • 05Backed by a suite of 100 automated pytest tests over the parsers and the analysis engine.
Telemetry traces of a lap in Delta: speed curve with throttle and brake channels along the circuit.
Fig. 4Traces of a lap at Suzuka: speed on top, throttle and brake below. Every late or early braking point shows at the same place on the track.
Telemetry report generated by Delta, with session data, best lap, circuit information and sector analysis.
Fig. 5Session report: car and track data, best lap, reference record, and the sector analysis that interprets the numbers.
  • FastAPI
  • PostgreSQL
  • Celery
  • Next.js
  • Docker
  • pytest
  • Telemetry
View project
Case 03Featured

Focused

ADHD support platform connecting patients, psychologists and psychiatrists in a single mobile and web experience. Final degree project.

Role
Mobile Developer and QA

Detail

  • 01Cross-platform system built with Flutter for mobile, with a web counterpart.
  • 02Writing functional test cases for the patient and clinical staff flows.
  • 03Running regression suites before each release, tracking defects in Azure DevOps.
  • 04Being also the developer of the mobile module, I closed the loop between finding a defect and understanding its root cause.
  • Flutter
  • Dart
  • Manual QA
  • Azure DevOps
  • Healthcare
Case 04In production

Kepubli

Multi-user Telegram bot running in production with real users. It automates the full e-ink reading pipeline: per-user series tracking, conversion to optimized KEPUB and direct delivery to the reader.

Role
Author and maintainer

Detail

  • 01Multi-user architecture: each person keeps their own library and their own notifications.
  • 02Conversion and image-optimization pipeline designed around the limits of electronic paper.
  • 03Deployed with Docker on my own infrastructure, with automated pytest tests.
  • 04It started from a personal problem and ended up a public product with its own landing page.
  • Python
  • Telegram Bot API
  • Docker
  • pytest
  • Automation
View project
Case 05Featured

La Infantería Motorsport

Web platform for the team and the shop: public site plus an authenticated admin panel on Next.js and Supabase. It's the project where my QA work shows best, because the permission model isn't documented — it's verified by tests.

Role
Development, QA and administration

Detail

  • 01Public site and admin panel separated by route, with authenticated access and the panel excluded from search engines.
  • 02Eight PostgreSQL tables with RLS enabled on all of them: the public key only reads what is published.
  • 0372 automated vitest tests across three suites: unit, smoke against a running instance, and security.
  • 04The security suite tests negatively: that the public key cannot write to any table, cannot upload to or list Storage, and that the data is left intact after the attempt.
  • 05Content-Security-Policy with a nonce, asserted by a test instead of trusting it stays in place.
  • Next.js
  • Supabase
  • PostgreSQL
  • vitest
  • Security testing
  • RLS
  • CSP
§ 6

Credentials

Education

B.Sc. in Software Engineering

Magna Cum Laude

INTEC — Instituto Tecnológico de Santo Domingo

2020 — 2025

Certifications

  • ISTQB Foundation LevelIn progress · 2026

Languages

  • SpanishNative
  • EnglishB1/B2 — Professional written communication
§ 7

Outside the code

This is where the habit of measuring everything comes from. It isn't filler: it's the same method applied to other things.

Oliver Infante in a racing suit, holding his helmet in front of a Corvette on the circuit.
Fig. 6Track day with the team.
Black Ford Mustang doing the burnout before a quarter-mile pass, with a wet track and tire smoke.
Fig. 7Burnout before the pass: heating the tire is part of the procedure, not showmanship. · Photo: Davide Morillo

Drag racing

Quarter mile with telemetry and advanced mechanical setups. I work with HP Tuners and bootmod3 on a 2018 Ford Mustang and BMW M4 S58 platforms.

  • HP Tuners
  • bootmod3
  • Telemetry
  • Launch control

Sim racing

Home simulator with Moza R9 direct-drive hardware and custom wheels. I compete in iRacing, Assetto Corsa and RaceRoom.

  • iRacing
  • Assetto Corsa
  • RaceRoom
  • Moza R9

Hardware and homelab

Building PCs with liquid cooling and inverted cases, and self-hosted Linux nodes running my own services.

  • Custom loop
  • Linux
  • Docker
  • Self-hosting

Reading and music

Manga on Kindle and Kobo. In the background, heavy rock, metal and J-rock — and reggaeton when the moment calls for it.

  • Manga
  • E-ink
  • Metal
  • J-rock
§ 8

Contact

I'm open to opportunities in QA, testing and automation. If you have a role or a project in mind, write to me.

Write to me
GitHub
@Inf015