TC-01File upload · boundary values
→ 2 validation defects
For an image-upload story I had an agent script 27 files — formats, the 5 MB limit ± 1 byte, minimum dimensions − 1 px across four blocks. I ran every one and reviewed each result myself.
Artem Sheiko
Junior QA Engineer — Web · REST API · AI-assisted testing · C#/.NET · Java
Junior QA Engineer · Web · REST API · AI-assisted testing · C#/.NET · Java
I’m a QA engineer from Kyiv and a Software Engineering student. Since June 2026 I’ve been testing VictoryCenter, a live charity platform, in a Scrum team at SoftServe Academy — from reading the user story to verifying the fix.
I also build things: «навушники», a Telegram Mini App for discovering Ukrainian music, and two open-source Windows apps — Lag, an instant-replay screen recorder, and UWFix, which removes black bars from ultrawide cutscenes. AI agents write the code under my direction, and I test every release myself.
Looking for a Junior QA role, remote or in Kyiv. The quickest way to reach me is Telegram or temkyiv@gmail.com.
Junior QA Engineer and SoftServe Academy Manual QC/QA graduate. Hands-on web and REST API testing on a live charity platform in a Scrum team since June 2026. I analyse requirements, design and run tests, write reproducible bug reports and verify fixes. I use AI agents for routine QA work and verify their output against evidence. I also build and release my own open-source desktop apps in C#/.NET and Java.
Numbers from real testing — not adjectives.
TC-01File upload · boundary values
→ 2 validation defects
For an image-upload story I had an agent script 27 files — formats, the 5 MB limit ± 1 byte, minimum dimensions − 1 px across four blocks. I ran every one and reviewed each result myself.
TC-02Form validation · equivalence classes
→ 4 invalid formats accepted
Equivalence partitioning and boundary values on a single input. The form accepted four addresses it should have rejected.
TC-03Localization · Lag
Lag ships in 17 languages. I check the interface in every one — Ukrainian and English myself, French with a fluent speaker.
TC-04Release testing · Lag
Every release goes through four machines with NVIDIA, AMD and Intel encoders: codecs, containers, multi-track audio, global hotkeys.
TC-05REST API · Postman
Postman collection with Bearer auth, environment variables and JavaScript checks for positive and negative scenarios.
A live product, from story to fix.
I analyse user stories and acceptance criteria with the BA and flag contradictions, gaps and non-testable conditions. Several requirements were corrected before testing started.
Test cases and checklists in Zephyr Scale, linked to Jira stories for traceability. Boundary values and equivalence classes for formats, size limits, image dimensions and text length.
Functional and regression runs on production. DevTools for network requests, DOM and form attributes, device emulation — and measuring the UI against Figma.
Postman with Bearer auth, environments, positive and negative scenarios and JavaScript checks — test data rolled back after each run.
Reproducible reports with steps, priority, screenshots and video, tracked in GitHub Projects; fixes verified with developers. Found localization inconsistencies, an undocumented control in a confirmation dialog and an unlabelled interactive element.
Routine QA with an agent connected to the browser and project tools through MCP: I split the story into small steps, give it only the acceptance criteria and wiki rules, and review every draft before it reaches the team.
Built with AI agents, tested by me. I set the scope, direct the agents, review their output and sign off every release.
Telegram Mini App for discovering Ukrainian music
A TikTok-style feed of 30-second previews that learns your taste and lets through only songs in Ukrainian — so small Ukrainian artists finally get found. Like tracks, follow artists, get notified about new releases.
MAGI language check: three independent signals (lyrics, audio, artist dossier) with zero Russian tracks admitted on the reference set; recommendations improved like-prediction accuracy from 0.61 to 0.73; 650+ automated tests; ~12,700 tracks.
Node.js 24 · Hono · grammY · Drizzle + PostgreSQL · React 19 + Vite · ONNX Runtime · Docker Compose
Open in TelegramInstant replay & screen recorder for Windows
Records into a rolling in-memory buffer — press a hotkey and the last seconds are saved. A custom variable-frame-rate engine on Windows Graphics Capture with NVENC, AMF and QSV encoding, multi-track audio, a clip editor and auto-updates.
My role Owner — scope and roadmap, AI-directed development, release QA on 4 machines, 17 locales, auto-update channel, bilingual docs.
.NET 8 · Avalonia UI · FFmpeg 7.1 · Windows Graphics Capture · Velopack
Ultrawide cutscenes without black bars · Windows & Linux
Finds installed games across Steam, Epic, GOG and Ubisoft Connect, detects the engine (15 of them) and patches the 16:9 aspect-ratio constant for 21:9 and 32:9 monitors — with a backup, byte verification, SHA-256 checksums and one-click restore.
My role Owner — AI-assisted development, behaviour review of patch & restore flows, JUnit 5 tests and GitHub Actions for Windows/Linux.
Java 17 · JavaFX 21 · Maven · Gson · JUnit 5 · GitHub Actions
— Turns out, there was more to see.
398EE33F
~ / homelab
An X96 mini flashed with Armbian Linux — 2 GB of RAM serving this site through nginx and filtering DNS for the home network with AdGuard Home. Static, pre-compressed files: the page costs the box almost nothing.
$ uname -sm Linux aarch64 $ uptime -p — $ free -h | awk '/Mem/{print $3" / "$2}' — / 2.0Gi $ systemctl is-active nginx AdGuardHome active active
Agents take the routine — test data, drafts, scripts. Nothing reaches the team before I’ve checked it against evidence.
Split the story into small steps that can each be checked.
Only what the task needs: acceptance criteria, wiki rules, the relevant files.
Test cases, data, scripts and reports — fast first versions.
Screenshots, logs and the product itself. A claim without proof gets rejected.
BUG-AICaught in review
An agent recorded a test video as evidence. Compression had shifted the colour of a status badge, so the recording could not prove the UI was right. I rejected it and verified against screenshots instead.
Daily drivers Claude Code · Cursor · Codex · Google Antigravity · MCP · Ollama · ChatGPT
Got a product that needs a careful pair of eyes? Let’s find the bugs before your users do.