Skip to content
View artem-dovhyi-dev's full-sized avatar
🏠
Working from home
🏠
Working from home

Block or report artem-dovhyi-dev

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. 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
artem-dovhyi-dev/README.md

Artem Dovhyi

Senior Software & AI Product Engineer

Web products · LLM features · AI evaluation

LinkedIn Website Email

Remote · UTC+7 APAC, EU and US East overlap


I build the user-facing side of LLM features and the evaluation that shows they still work after the next change. The regression runner I built for AI assistants was adopted by six teams in about three months.

🧪 Featured work: a regression runner for AI assistants

AI assistant teams on an enterprise financial product couldn't tell whether a change had made their assistant worse across a real conversation. I designed and built the check they adopted.

flowchart LR
  QA["QA expectations<br/>in plain language"] --> R["Regression runner"]
  R <-->|"multi-turn conversation"| A["AI assistant<br/>via the product API"]
  S["Simulated user"] -->|"answers clarifying questions"| R
  R --> J["LLM judge"]
  J --> Rep["Report:<br/>verdict, cost, latency"]
Loading
  • The real product, not a prompt check. The runner holds the whole conversation through the product's own API.
  • A simulated user answers the assistant's clarifying questions, so the test reaches the answer.
  • An LLM judge on AWS Bedrock scores the result against what QA expects.
  • Cost and latency on every run, because every test is itself a set of LLM calls.
  • One engine, many teams. Each assistant team keeps its own test suite.
6 about 3 months about 90%
AI assistant teams adopted it from first implementation to adoption agreement between the judge and QA review

A QA engineer on my team saw the need. I took it from a proof of concept to the shared tool, and the technical implementation is mine.

🧱 Before that

5+ years of production React and TypeScript. On an enterprise advertising platform I created the shared UI library that four modules adopted, and covered the frontend lead role for four months across three subteams.

🛠️ Toolbox

AI and LLM: LLM evaluation · LLM-as-judge · multi-turn conversation testing · simulated users · cost, token and latency tracking · AI assistant UIs

AWS Bedrock Claude Amazon Nova

Frontend

TypeScript React React Query Redux Zustand Jotai WebSockets

Tooling and delivery

Node.js Docker GitHub Actions AWS ECR VS Code extensions

Quality

Vitest Jest Testing Library Storybook Zod

🤝 Work with me

I'm looking for contract work with product teams shipping LLM features.

  • 🌏 Remote, UTC+7. Live overlap with Sydney morning, EU afternoon, and US East late morning.
  • 🧾 Contracting through Temorix LLC, a US company. USD invoicing, B2B contract.
  • 📬 artem@temorix.com · LinkedIn · temorix.com

Pinned Loading

  1. Cattygram_New Cattygram_New Public

    Rewrited Cattygram with using TypeScript, Redux-Saga, Redux-Toolkit, ESlint

    TypeScript

  2. Stormotion Stormotion Public

    Game with AI + custom settings | Done

    TypeScript

  3. LightningConnect LightningConnect Public

    Mock DB and filter results

    JavaScript