Testeo software crítico hace 8 años. Revelos es mi laboratorio personal: productos reales que construyo con IA y pruebo como si fueran a producción.
Soy QA Engineer con ocho años testeando software crítico en mercados de capitales, procesamiento de pagos y plataformas ERP/CRM. Construyo frameworks de automatización desde cero con Playwright y Cypress, y los ejecuto a diario con Jenkins y Docker para que las regresiones aparezcan horas después del commit, no el día del release.
Uso Claude como copiloto para acelerar el scaffolding, la generación de tests y el refactoring, pero la arquitectura es mía y reviso cada línea que llega al repositorio. Trabajo en español, inglés e italiano con equipos Agile distribuidos, hoy en remoto desde Italia.
Años en QA
Productos en producción
Idiomas: ES · EN · IT
QA Automation Engineer
Pagos y ERP. Migré la suite de API de Postman a Cypress, unificando API y UI en CI.
QA Analyst
CRM integrado con Salesforce y flujos de portabilidad numérica bajo requisitos regulatorios.
QA Tester & Implementation Specialist
Software financiero e impositivo: testing de motores de cálculo contra normativa argentina, triage de defectos en Jira y soporte en implementaciones con clientes.
QA Automation Engineer
Suite de automatización desde cero con Playwright, BDD y POM, construida con Claude. Jenkins + Docker la ejecutaban a diario.
QA Automation Engineer
Testing de derivados y clearing. Tests en Playwright con aserciones en MariaDB, integrados al ciclo diario de clearing.
Proyectos propios, publicados y funcionando. No son maquetas: puedes usarlos hoy.
Extensión Chrome
Todos tus chats de IA en un solo lugar. Guarda, organiza y busca tus conversaciones de ChatGPT, Claude, Gemini, Perplexity y Grok.
Ver Tabora
App offline
Un cancionero confiable para ensayos y shows en vivo: totalmente offline, rápido y sin distracciones.
Ver ChordFlowLanding page para una pastelería: responsive, rápida y lista para publicar. Un ejemplo real de lo que puedo hacer para un negocio.
Ver la landingLa economía argentina en datos: dólar, inflación, tasas y reservas desde la API pública del BCRA. Fue mi proyecto final de Full Stack en PHP en EducacionIT; seis años después lo reconstruí con IA.
Ver DatARCuando empecé a usar IA para construir mis frameworks de testing, vi que el mismo método servía para algo más grande: llevar una idea hasta un producto que funciona de verdad.
Desarrollo con Claude como copiloto, pero las decisiones de arquitectura y la revisión de cada línea son mías. Y como vengo del QA, nada se publica sin pasar por pruebas: flujos felices, casos borde y regresión.
Dos frameworks de referencia en dos stacks distintos. Los construí con Claude como copiloto, y Claude también trabaja dentro de cada uno, diagnosticando las fallas.
Tests en Python y Playwright sobre la tienda demo de Sauce Labs: compra completa, carrito, ordenamiento y usuarios con bugs conocidos. Corren en Chromium, Firefox y WebKit en cada push.
# tests/test_complete_purchase_full.py @pytest.mark.smoke def test_complete_purchase(inventory_page): # already logged in via storage_state cart = inventory_page.add_to_cart(BACKPACK).go_to_cart() cart.should_contain(BACKPACK) overview = (cart.checkout() .fill_customer(DEFAULT_CUSTOMER) .continue_to_overview()) overview.finish().should_show_order_confirmation() # known bugs: strict xfail per affected user @pytest.mark.parametrize("user", users_with_known_bugs(SORTING_BROKEN), indirect=True) def test_sort_by_price_high_to_low(inventory_page): ...
Tests en JavaScript y Cypress sobre el demo de OrangeHRM, un sistema de RR. HH.: login y seguridad de sesión, permisos por rol, gestión de usuarios y empleados, red y accesibilidad. Corren en Chrome y Firefox.
// cypress/e2e/admin/user-management.cy.js it("creates a user from the UI", { tags: "@smoke" }, () => { const user = buildUser({ role: "Admin" }); systemUsersPage.visit().clickAdd(); userFormPage.fill({ ...user, employee }); userFormPage.save().then(({ response }) => { expect(response.statusCode).to.eq(200); cleanup.trackUser(response.body.data.id); }); systemUsersPage.toast.shouldShow(messages.toast.saved); // The new account works: log in with it through the UI. cy.clearAllCookies(); loginPage.visit().login(user.username, user.password); cy.location("pathname").should("include", "/dashboard"); });
¿Una idea que merece su landing page? ¿Un bug que nadie logra encontrar? ¿O solo ganas de charlar? Mi bandeja de entrada está abierta:
nesticokevin@gmail.com