ealeng
Menu

Blog

Notes on evaluating AI systems

Practical writing on eval datasets, LLM judges, agent evaluation, and quality gates, with real numbers wherever possible.

Oct 10, 2026 · 2 min read

How Many Evals Are Enough?

Your eval score went from 84% to 86%. Is that a real improvement, or noise? A practical guide to sizing eval sets.

evalsstatisticsdatasets

Oct 3, 2026 · 2 min read

Your LLM Judge Is a Measuring Instrument. Calibrate It.

LLM-as-judge is only as trustworthy as its agreement with humans. How to measure that agreement, and what to do when it's low.

llm-as-judgeevals

Jun 11, 2026 · 1 min read

What if your software could explain itself? AI agent mapping user journey to a software architecture

A video walkthrough of an AI agent that maps a user journey onto the software architecture behind it.

agentsvideo

Jun 4, 2026 · 7 min read

The Only Three Levers That Actually Reduce LLM Costs

When teams start building AI-powered products, the first optimization question is usually: “Should we use a cheaper model?” That’s a good question, but it’s only one piece of a much bigger…

llm-costsagents

Mar 17, 2026 · 3 min read

Understanding RAG Retrieval Strategies: How to Get the Best Answers from LLMs

Modern AI applications increasingly rely on Retrieval-Augmented Generation (RAG) to answer complex queries. RAG combines retrieval from a knowledge base with LLM generation for more accurate,…

rag

Mar 11, 2026 · 2 min read

Building a Kill-Switch for Your AI Agent: Stopping Execution Safely

In the world of AI agents and autonomous workflows, it’s easy to imagine the “rogue AI” scenario: your agent starts reasoning, executing tasks, or modifying state, and suddenly you realize — you…

agentssafety

Mar 7, 2026 · 9 min read

An AI Agent That Investigates Broken Builds

AI coding tools have made writing code faster than ever. Cursor, Copilot, ChatGPT — you describe what you want, the code appears, you ship it. Velocity is up. PR volume is up. And CI failures?…

agentsci-cd

Feb 27, 2026 · 5 min read

When Your Safety Net Catches Your AI: Why Validation Layers Matter in LLM Applications

I was running my AI-powered release risk agent against a set of Eval test cases when something interesting happened. The system threw an error — and it was exactly the right thing to do. Let me…

safetyllm-apps

Feb 19, 2026 · 6 min read

I Got Interviewed by an AI — and It Asked Me the Same Question Twice

Recently I had an interview conducted by an AI system. It was actually pretty interesting — and a little funny. At one point the AI asked me: “If you work onsite, which state will you work from?”…

evalsconversational-ai

Feb 15, 2026 · 8 min read

Extending Promptfoo with RAGAS: Adding RAG-Specific Metrics to Your Eval Pipeline

Promptfoo is excellent at what it does: comparing prompts, running assertions, and catching regressions in CI. But if you’re building a RAG pipeline, Promptfoo’s built-in assertions — contains,…

evalsrag

Feb 9, 2026 · 3 min read

LLM-as-Judge Pattern

Using one LLM to evaluate another LLM’s output is one of the most powerful eval techniques. It is also one of the most dangerous if done carelessly. How to Write a Judge Prompt A good judge prompt…

llm-as-judgeevals

Feb 5, 2026 · 6 min read

Exploring Dialogflow CX: How Google Thinks About Conversational AI at Scale

I’ve been experimenting with Dialogflow CX, Google’s conversational AI platform, and it feels meaningfully different from what we usually think of as a “conversational agent.” That might be…

conversational-aiagents

Feb 1, 2026 · 9 min read

Single-Turn vs Task-Based (Multi-Turn) Evaluation

Most AI agent failures don’t come from “bad prompts.”They come from treating agents like static functions instead of dynamic systems. Once an agent can: …it is no longer a prompt.It is a…

evalsagents

Jan 16, 2026 · 5 min read

Putting It All Together: A Practical Guide to LLM / AI Evaluation Methods

When I first started learning about LLM and AI evaluations, I struggled to put all the different evaluation methods into a single mental model. Every blog, paper, or tool seemed to focus on one…

evalsllm-as-judge

Jan 12, 2026 · 4 min read

Your LLM Benchmark Is Lying to You

Everyone wants to know which LLM is “better at coding.” We point to leaderboards, single scores, colorful charts, and declare a winner. But if you’ve ever shipped software to production, you…

evals

Jan 6, 2026 · 1 min read

Even iguana can be 10x developer

Last weekend I spent time setting up an “advanced agents” coding workflow — the kind that promises to magically build applications for you while you sleep. Well, the only thing that didn’t sleep…

dev-productivity

Dec 31, 2025 · 1 min read

Build ATS-Optimized Resumes with AI | Full Feature Tour Job Search

I have built AI-powered web application for managing resume alongside job postings and applications. Features intelligent resume optimization, job description analysis, and interview preparation…

ai-engineeringvideo

Dec 23, 2025 · 1 min read

How I Built an AI Content Generator with LangChain + OpenAI (and a Raccoon)

In this video, I’ll walk you through how I use LangChain and OpenAI models to automatically generate engaging content and hashtags for my social media app — featuring our star raccoon 🦝. You’ll…

ai-engineeringvideo

Dec 11, 2025 · 1 min read

How Cursor AI and Sentry MCP Turns You Into a 10x Debugger

Unlock a next-level debugging workflow by combining Cursor AI with Sentry MCP. In this video, I walk through a real example of how AI can detect, analyze, and fix application issues with almost no…

mcpdev-productivityvideo

Nov 15, 2025 · 2 min read

Level up your AI Engineering skills

Not that long ago, I set a personal goal — to dive deep into AI and see how far it can actually go in making life and work easier. Call me lazy, but I’m all about working smarter, not harder. So,…

ai-engineeringlearning

Nov 3, 2025 · 2 min read

Model Context Protocol (MCP) for AI-Powered Browser Automation

Model Context Protocol (MCP) is great for AI-powered browser automation and debugging, with notable implementations from Playwright MCP by Microsoft and Chrome DevTools MCP by Google. These two…

mcptesting

May 27, 2025 · 3 min read

The Evolving Role of SDETs: From Testers to Quality Engineers

Software testing isn’t dying—it’s evolving. In many industries outside of Finance, Healthcare, or Defense, there’s a growing tolerance for minor bug escapes. Not because quality is being ignored,…

thoughts

Feb 21, 2025 · 1 min read

Bug Reporting Made Easy with Chrome DevTools AI Assistant

Bug reporting is a critical part of software development, but it can often be time-consuming and require deep debugging skills. Chrome DevTools AI Assistant aims to simplify this process by…

thoughts

Feb 10, 2025 · 3 min read

Monorepo pre-commit hooks with Husky

Managing a monorepo brings incredible benefits, such as code reuse and unified project management, but it also comes with unique challenges, particularly when it comes to test automation. Running…

thoughts

Feb 7, 2025 · 2 min read

AI vs SDET or SDET and AI ?

There’s a lot of talk about AI replacing SQE and SDETs. Here’s why AI falls short when it comes to testing: 1. AI Can’t Architect Test Automation Frameworks AI can generate test cases, but who…

thoughts

Jan 27, 2025 · 2 min read

Monitoring and debugging your app with Sentry.io

As a test engineer, observability tools are a crucial part of my workflow. They help me triage errors, understand user behavior, and map out service dependencies. This weekend, I decided to dive…

devopsjavascript

Jan 21, 2025 · 3 min read

How to make sure the Code and Libraries are Secure with SonarQube

Last year, I was interviewing at a cybersecurity company, and one of the questions they asked was: How do you make sure the code and libraries that you use are secure? I knew about security…

test-automationdevopsjavascript

Nov 2, 2024 · 2 min read

How to add code formating to your JavaScript project

To set up linters and code formatting for a React and Express project, you’ll want to use ESLint for linting and Prettier for consistent formatting. Here’s a step-by-step guide for frontend and…

test-automationjavascript

Oct 31, 2024 · 2 min read

How to add Swagger OpenAPI docs to NodeJS Express

Setting up OpenAPI (Swagger) in your Express app allows you to generate interactive API documentation. Follow these steps to integrate OpenAPI with your Express app. 1. Install Dependencies You’ll…

test-automationdevopsjavascript

Oct 30, 2024 · 3 min read

Docker setup for NodeJS application

Here’s a Docker setup to containerize both the React frontend and the Express backend efficiently. Below are the two separate Dockerfiles and a docker-compose.yml to orchestrate them. 1.…

test-automationdevops

Oct 28, 2024 · 3 min read

How Playwright Communicates With Browsers

Playwright communicates with browsers through browser-specific protocols over a WebSocket or process communication channel. Each supported browser (like Chromium, WebKit, and Firefox) exposes an…

test-automationjavascriptui-testing

Oct 8, 2024 · 5 min read

A Comprehensive Guide to Initiating a Test Automation

Many companies I’ve worked for or interviewed with have faced a common challenge: successfully initiating a test automation project. During interviews, it’s common for interviewers to mention that…

test-automationui-testing

Jul 20, 2024 · 6 min read

E2E Test Automation Design Patterns

Throughout my career, I have worked with various test automation frameworks, including Selenium WebDriver (Java, Python), WebdriverIO (JavaScript), Puppeteer (JavaScript), Cypress, and Playwright…

test-automationjavascriptui-testing

Jul 2, 2024 · 3 min read

iOS Mobile UI Testing with XCUI Test

I recently worked on an iOS ToDo list application for a couple of reasons: to learn more about SwiftUI and to have a pet project for practicing XCUI Test. This simple ToDo list application uses…

test-automationmobile-testing

Jun 16, 2024 · 1 min read

Postman Generative AI Backend API Testing

In this tutorial, I’m exploring Postman Generative AI for Backend API Integration Testing

api-testingtest-automation

May 21, 2024 · 10 min read

Changing Quality Culture, from Startup to Enterprise (shift left)

I recently presented at the Chicago QA Association, where I talked about changing the quality culture in the organization. As a company progresses through various stages, it’s crucial to ensure…

test-automationui-testing

Mar 7, 2024 · 1 min read

Using Postman proxy for data setup

Quick video on how to use Postman Proxy for website data setup automation

api-testingtest-automation

Dec 27, 2023 · 2 min read

E2E Testing Framework Design

When building an E2E testing solution it is important to understand how the application works not only from UI (black box) perspective but also how backend services interact one with another, how…

test-automationui-testing

Oct 12, 2023 · 4 min read

Cypress vs Playwright (2023)

I’m always looking for ways to improve testing and team performance, as described in the book “Accelerate” having fast feedback is crucial for high-performing teams. So lately, I’ve come across…

test-automationjavascriptui-testing

Sep 5, 2023 · 4 min read

Improving Software Testing Efficiency: Why E2E Tests Are Slow and How to Speed Them Up

In the fast-paced world of software development, speed is paramount. Being the first to market can make all the difference, allowing you to reap the rewards of your hard work. Software testing is…

test-automationui-testing

Jun 20, 2023 · 6 min read

Fixing Flaky E2E Tests in Cypress

One of the biggest challenges in E2E testing is to overcome flaky tests. In this blog post, I will share a few approaches that I use to reduce flakiness in Cypress (the test framework I’m using…

test-automation

May 21, 2023 · 4 min read

Understand E2E Test Automation

Almost everywhere I worked management (including QA managers) and developers have different perspectives on the role of test automation and how it works. In this post, I will try to explain my…

test-automationthoughtsui-testing

Sep 7, 2022 · 3 min read

Re-inventing testing pyramid

The testing pyramid introduced by Mike Cohn in his book Succeeding with Agile (2009), originally had only 3 tiers, given it was more than a decade ago we should ask ourselves is that still…

thoughts

Nov 25, 2020 · 2 min read

Python API testing beyond the GET request.

Recently I wrote a blog post on API testing in Python, but I only talked about GET requests there. In this tutorial we are going to look at POST and PUT requests and how to provide data for it.…

api-testingtest-automationpython

Nov 15, 2020 · 3 min read

Performance testing with JMeter

JMeter is a powerful tool for load and performance testing. In this tutorial we going to look on how to install JMeter on MacOS, record and run your test. To install JMeter on Mac open up the…

test-automationperformance-testing

Nov 14, 2020 · 2 min read

Visual Testing with Jest and Puppeteer

In this tutorial we are going to create a Visual Regression Tests with Jest and Puppeteer. If you not familiar with visual regression testing, it is tests based on image recognition, basically we…

test-automationjavascriptui-testing

Nov 11, 2020 · 1 min read

Django Database Model Unit Testing

Working with databases always have some challenges. The main problem is if we run tests against real database it can get flooded with fake data and yes you going to run apps against test…

test-automationpythonsql

Nov 11, 2020 · 2 min read

Health Check of a Public Website using Python

So you running public website and you have something like Jenkins server where you can execute small programs and monitor state of your website. There are many advanced paid solutions for that,…

test-automationpython

Nov 4, 2020 · 2 min read

Detox Test Reports in Jenkins

In this blog post we going to integrate Detox reports in Jenkins CI/CD pipeline. But first let’s see how test reports working in Jenkins. Most likely you going to have JUnit plugin pre-installed…

devopsjavascriptmobile-testing

Oct 29, 2020 · 3 min read

Debugging Detox UI tests in React Native

Those who worked with mobile applications UI testing in Appium used to elements finder which comes with Appium Inspector, but when you work with Detox finding elements is quite challenging. In…

javascriptmobile-testing

Sep 24, 2020 · 2 min read

API testing with Python

There are many ways of doing API testing, the most popular tools is Postman (JavaScript) and RestAssured (Java), in this post we going to use Python request library to test Deck of Cards API.…

api-testingtest-automationpython

Sep 4, 2020 · 2 min read

Automating Checkers with Selenium in Python

I’m originally from Russia and since I was a kid I been playing Chess and Checkers. I have heard about competitions between humans and computers, and it was always interesting to me what is going…

test-automationpythonui-testing

Aug 23, 2020 · 1 min read

Configure NodeJS in Jenkins

I’m currently working on ReactJS and Reactive Native application in order for me to build the app in Jenkins I need to install NodeJS plugin and configure it. Here is how to do it. Assuming you…

test-automationdevops

Aug 7, 2020 · 1 min read

JavaScript UI Testing with Puppeteer: Improving Click function

In ReactJs project I’m working on we are using Puppeteer as UI testing framework, the framework is part of node dev dependencies and living with app source code. Since development team constantly…

test-automationjavascriptui-testing

Jul 30, 2020 · 1 min read

Changing iOS and Android simulator status bar for Visual Testing

There is lots of talk lately about visual testing and benefits of catching UI bugs upfront and even though it’s pretty easy task for modern web browser testing, it can be complicated for mobile…

test-automationmobile-testing

Jul 22, 2020 · 1 min read

How to access Digital Ocean droplet on Mac / Linux

This is a short how-to guide how to access Digital Ocean droplet from your machine First let’s create a droplet. Assuming you already have digital ocean account, click Create and then Droplets…

devops

Jun 30, 2020 · 1 min read

Using Loading Animation in your Test Automation

In test automation, there is quite often the situation when we need to wait for the page to load before interacting with UI elements on the page. If the page is too heavy and developers don’t want…

test-automationpythonui-testing

Jun 27, 2020 · 1 min read

Retry failed Detox tests with Mocha

UI tests are flaky, especially when you run it on mobile devices. There are multiple factors that can lead to false-positive test results, if that happens you would want retry failed test before…

test-automationjavascriptmobile-testing

Jun 25, 2020 · 3 min read

Running JavaScript Appium on Azure DevOps

So you built your Appium tests and running it locally, then developer make changes and asking you to run tests, you dropping everything making a build against his branch for android and ios…

test-automationdevopsjavascriptmobile-testing

Jun 22, 2020 · 1 min read

React-app with Puppeteer, Jest and Travis CI

E2E testing of React applications could be done with multiple frameworks, including WebdriverIO, Cypress, or Puppeteer. In this blog post, we going to see how to setup Puppeteer with Jest and run…

test-automationdevopsjavascriptui-testing

Jun 13, 2020 · 2 min read

Abstracting Appium Capabilities from test file

In the previous blog we set Appium to run with Jest and added desired capabilities to beforeAll hook. While this approach will work for a small project when you dealing with a fairly large…

test-automationjavascriptmobile-testing

Jun 11, 2020 · 2 min read

Mobile Testing with Appium, Jest and WebdriverIO

While there are lots of blogs on how to run Appium with Mocha, there is not much info on how to do it with Jest as a test runner. In this blog post, we will set up Appium with Jest and WebdriverIO…

test-automationjavascriptmobile-testing

Jun 9, 2020 · 2 min read

E2E Testing React Native Applications

There are few frameworks that are suitable for React Native apps testing, the most popular is Appium and Detox. Appium is a standalone testing application and Detox is more of a grey box testing…

test-automationjavascriptmobile-testing

Jun 4, 2020 · 1 min read

Launch Android emulator on macOS using command line

Testing mobile applications I quite often have to launch Android emulator, there is an option to launch through Android Studio and then UI of AVD. Working in automation space I don’t want all…

test-automationdevopsmobile-testing

Jun 3, 2020 · 1 min read

Xpath cheatsheet

Often I find myself using certain XPath patterns and then forgetting how to do it, so I decided to create XPath cheatsheet. 1. XPath to search by partial id, so let say you have div id which…

test-automationui-testing

May 23, 2020 · 2 min read

How to set environment variables in Node.js

Lately, I been working a lot with JavaScript and Node.js, one thing I struggled is setting up environment variables so I could run my automation tests based on the flag I passed. As a test runner…

test-automationjavascriptui-testing

Apr 3, 2020 · 2 min read

JavaScript Event Delegation

For my study project, I’m building a Chat application, similar to Slack. And if you ever used Slack you know there are different channels and if there is no channel that you need for the project,…

javascript

Mar 23, 2020 · 1 min read

Cypress.io quick reference

This blog post will be used for Cypress.io quick reference, use the official website for more detailed information on how things work in Cypress Starting cypress locally (more detailed info on the…

test-automationjavascript

Mar 18, 2020 · 1 min read

Flask quick reference

This post will be updating constantly to keep different flask commands cheat sheet. Set the environment variable FLASK_APP to be application.py Change Flask running port

flaskpython

Mar 5, 2020 · 1 min read

Cypress.io interacting with tables and lists

Often we get to a situation when we have a list, table or even div elements which have no way to differentiate one from another, here is an example: If you using WebDriver most likely you would…

test-automationjavascriptui-testing

Mar 1, 2020 · 5 min read

Is working from home worth it?

“People already work remote, they just don’t realize it. Those who work on the first floor, almost never talk face to face with those who work on the second floor” – someone posted it on Linkedin,…

thoughts

Feb 24, 2020 · 1 min read

Get checkbox value in Flask and Jinja2

Here is how to get checkbox value from jinja2 template in a flask, first let’s create our jinja2 file: Then lets retrieve value from the form: Where rating is the name of input boxes

flaskpython

Feb 23, 2020 · 1 min read

How to use sessions in Flask

One of the things you need to do as a developer of the application is track who is logged in to your application so you can display pages related to that specific user. In Flask you can use…

flaskpython

Feb 22, 2020 · 1 min read

Ignore CSV header in Python

Sometimes you would get a data sheet as CSV file which needs to import in SQL, the problem is CSV files don’t really care what data type in the sheet, unlike SQL. Let’s say you have a books CSV…

python

Feb 19, 2020 · 1 min read

Pipenv how to create python virtual environment

First things first we need to install pipenv, so make sure you have python 3.* and pip installed on your machine. Then create directory for your project (or navigate to existing one): Once you…

python

Jan 18, 2020 · 4 min read

South Florida Test Automation Meetup Notes, January 2020

A little bit of history before we jump to January meetup notes. About four years ago I got a chance to lead South Florida Test Automation Meetup, together with Philip Daye we started organizing…

test-automation

Jan 7, 2020 · 3 min read

Do we have to do UI automation for everything in 2020?

Lately, we more and more hear that not every UI test needs to be automated. I tend to disagree with this statement. Even though there are cases where automating something will take longer than…

test-automation