Available for new challenges

Michał
Zagalski

Senior Full-Stack Engineer · AI Agents & LLM Automation

10+ years building production software for business owners and product teams, measured in their numbers: +23% user engagement, +35% organic traffic, +40% qualified leads. Since 2025 I build LLM agents that automate business processes end to end: multi-step pipelines that gather context, write, check and publish; semantic retrieval over pgvector embeddings; an independent LLM reviewer as the quality gate; and model fallbacks that keep cost and availability under control. Every agent ships with automated tests, logs that show which model decided, and a defined failure mode. I start from the process and the metric, not from the model.

Michał Zagalski

Performance

100/100

PageSpeed Score

Experience

10+ Yrs

Full-Stack Dev

Location

Warsaw

Poland / Remote

AI Agents & Automation

00 // AGENTS, EVALS, GUARDRAILS

DOMAR — product-description agent

An online door & window shop needed unique product descriptions, with no invented product facts.

The agent collects the manufacturer's catalog text, a local LLM (Qwen 3.5 on llama-server) writes only from that source, then gates run from cheapest to most expensive: rule checks for invented facts, a similarity gate for uniqueness, and an independent Gemini-based reviewer agent with a local fallback.

Failure mode is “no description”, never “wrong description”. Measured end-to-end runs on real catalog items (acceptance rate, tokens/s, latency) go to the owner as the basis for choosing models.

Multi-step pipelineLLM-as-judgeGuardrailsLocal LLMGeminiVitest

GetName.pl — LLM layer for a domain marketplace

A domain marketplace needed its catalog categorized and valued without manual work.

Batch classification of domains with structured JSON output and confidence scores, an LLM client with a local primary model (Ollama) and OpenAI fallback, an AI valuation assistant and a Telegram bot for admin operations.

Local model first, paid API only as fallback: cost and availability under control.

Structured outputModel fallbackOllamaOpenAINuxt 4PostgreSQL

DexPaprika — payment gateway for AI agents

Let AI agents pay for market-data API calls per request, without accounts or API keys.

Built Cloudflare Workers that gate API routes behind x402 (USDC on Base) and the Machine Payments Protocol, with routes and pricing configured in D1, a shared request log and an admin dashboard.

x402MPPCloudflare WorkersD1API integration

arachnit-crawler — semantic search

Find duplicate and off-topic pages on a website without sending its content to an external API.

Local embeddings (bge-small via Transformers.js) stored in pgvector with an HNSW index, computed by BullMQ background workers next to 50+ technical SEO checks.

RAG / embeddingspgvectorTransformers.jsBullMQOpen source

Work Experience

01 // PROFESSIONAL JOURNEY

Lead Consultant / Contractor

Senior Full-Stack & AI Automation Engineer

May 2019 - Present

Warsaw, Poland

  • AI agents & process automation (2025 – present): product-description agent for the DOMAR online shop (local LLM writer, rule and uniqueness gates, independent Gemini-based reviewer with local fallback, 970+ tests in the codebase, measured eval runs handed to the owner); LLM layer for GetName.pl (structured batch classification, Ollama → OpenAI fallback); built the DexPaprika payment gateway that lets AI agents pay per API call (x402, MPP).
  • Production quality at CoinPaprika & DexPaprika: Server-Timing on every response with a slow-call log, post-deploy health gates for cold TTFB and LCP with limits calibrated in CI, link canaries in CI; 800+ merged pull requests across the company's repositories.
  • DexPaprika (CoinPaprika) — real-time DEX explorer: Collaborated with a product team of 5 to migrate from Vue 3 to Nuxt 4 SSR on Cloudflare Workers; led an 8-phase performance program that lifted user engagement 23% through sub-second loads (PageSpeed Desktop 100, Mobile 95.6, CLS 0.000). Re-platformed Bootstrap to Tailwind CSS v4 (53% CSS reduction) and shipped a 3-tier stale-while-revalidate edge cache with critical-CSS injection. Owned the visual redesign and mobile UX rewrite (thumb-bar navigation, swipe gestures, design-token component drawer, TV board mode); raised markdown, llms.txt, and structured-data agent-readiness to 100.
  • CoinPaprika — cryptocurrency data platform: Working with a cross-functional team of 8, architecting a Next.js 15+ migration of a legacy PHP/Vue 2 platform on a Turborepo (pnpm workspaces); coordinating the roadmap with product and business stakeholders for a zero-downtime transition. Shipped the official CoinPaprika PHP SDK v1.5.0 and Node.js API client v3.0.0 (21 new endpoints, native fetch, retry/AbortSignal, dual CJS/ESM, CI), plus an AI Article-Writer Assistant (Cloudflare D1, Durable Objects, multi-LLM: Claude / OpenAI / OpenRouter).
  • GetName.pl — premium .pl domain marketplace: Sole technical lead reporting directly to the founder; delivered the MVP in 8 weeks. Built a Nuxt 4 marketplace (11 feature layers) with full NASK EPP registry integration and a Web3 layer (Solidity: GNRegistry, GNMarketplace, GNToken ERC-20, NFT domains on Polygon). Implemented real-time anti-snipe auctions, an AI domain-valuation assistant (OpenAI), multi-payment (Stripe, Przelewy24, crypto), and SIWE auth (MetaMask / WalletConnect / Coinbase / Safe). PostgreSQL (40+ tables), Redis, Drizzle ORM, Better Auth.
  • DOMAR — e-commerce & business platforms: Coordinated directly with the business owner to migrate a legacy PHP e-commerce platform (8,000+ products) to Next.js 16 / React 19 with PostgreSQL, Drizzle, Valkey, and Polish full-text search; improved organic traffic 35% through an SEO-optimized architecture (ISR, RFQ). Built multilingual Next.js 15/16 + PayloadCMS sites on Cloudflare D1/R2 with a Claude-API content pipeline and 120+ automated SEO scripts, plus zlecenia.domar.biz.pl — a Laravel order-management app for a door & window company's individual customer orders.
  • LeoKlima.pl — HVAC company site: Migrated to Next.js 15 + PayloadCMS with an automated lead-generation pipeline that increased qualified leads 40%; deployed on Cloudflare edge for sub-100ms response times nationwide (multilingual PL/EN/UA, Turnstile, JSON-LD).
  • Veterinary Management System: Delivered end-to-end — from requirements-gathering with clinic staff to production deployment — a Next.js 15 clinic-management app with Stripe payments, medical records, a business-analytics dashboard, and Fabric.js annotation, replacing a 20-year legacy system with zero downtime.
  • Selected additional delivery: Led a team building a Vue 3 / Vuetify digital-signage platform (McDonald's locations); migrated a roofing company from Astro to Next.js 15 + PayloadCMS; delivered enterprise contract engagements (SoftWizards "Profix" suite; an Azure DevOps digital-signage platform); and built a Vue + Django + MLflow workflow UI and a Rust + SwiftUI iOS fitness app.
AI agentsLLMOpsNext.js 15/16Nuxt 4Cloudflare WorkersPerformance

Levitated.pl

Software Developer

2017 - 2019

Remote

  • Developed PHP REST API for property geolocation.
  • Managed CraftCMS websites and built a Django platform for personal trainers with Stripe payments.
PHPDjangoStripeCraftCMS

Polcode

Software Developer

2016 - 2017

Warsaw, Poland

  • Built a Yii2 coupon generation app and an Angular + Laravel volleyball coaching toolkit.
  • Handled e-commerce bug fixes for legacy Laravel/jQuery applications.
LaravelAngularYii2jQuery

Akademia Nauki

Software Developer

2015 - 2016

Warsaw, Poland

  • Developed a Laravel mailing system for newsletter campaigns.
  • Managed Moodle e-learning platforms.
LaravelMoodlePHP

Technical Arsenal

02 // SKILLS & TOOLS

AI Agents & LLMOps

Multi-step agent pipelinesTool use / agent skillsStructured outputRAG / pgvectorLLM-as-judge evalsGuardrailsModel fallback & cost control

Languages

TypeScriptPythonGoPHPSQLRustJava

Frontend

Vue 3Nuxt 4ReactNext.js 15/16AstroSvelteSwiftUITailwind CSS v4

Backend

Node.jsGoLaravelSymfonyFastAPIDjangoPayloadCMSBullMQ

Edge & Cloud

Cloudflare WorkersD1 / R2Durable ObjectsKVOpenNextAWSAzureDockerCI/CD

Databases

PostgreSQLpgvectorMySQLSQLiteRedis / ValkeyPrismaDrizzle ORM

Models & APIs

ClaudeOpenAIGemini (Google GenAI SDK)OpenRouterllama.cpp / OllamaTransformers.jsLocal embeddings

Web3

SolidityHardhatEthers.jsViemSIWEWalletConnectERC-20 / NFTPolygon

Tooling & Test

GitViteTurborepopnpm workspacesBunVitestPlaywrightGitHub ActionsSOPS

Publications

03 // TECHNICAL WRITING

Open Source

04 // COMMUNITY CONTRIBUTIONS

arachnit-crawler

Self-hosted SEO crawler & auditor: 50+ on-page/technical checks, semantic duplicate detection, cross-crawl regression tracking. Next.js 16, React 19, Node 22, BullMQ, PostgreSQL 18 + pgvector, Valkey, Transformers.js local embeddings. AGPL-3.0.

przelewy24-ts-sdk

First-party TypeScript SDK for the Przelewy24 payment gateway: transaction registration, SHA-384 webhook verification, refunds, multi-currency, zero runtime deps, ESM+CJS, with Nuxt 4 and Next.js 15 adapters.

design.md (Google Labs)

Authored an open-source PR (closed, not merged) proposing a `design.md import` reverse command that generates a DESIGN.md from a Node.js project via static analysis (framework detection, Tailwind v3/v4 config and CSS custom-property parsing, icon-library inference); ~4,300 LOC across 51 files.

ghclocify

Turns your GitHub activity (commits, PRs, issues, reviews) into Clockify time entries through both APIs, with a preview before import and safe re-runs, without handing credentials to a third party. Cloudflare Worker, TypeScript. Live at ghclocify.com.

browser-curl

WAF resilience testing tool: validates web-application-firewall configurations by simulating real Chrome request patterns (headers and HTTP/2 fingerprinting). MIT.

parallel-requests

Claude Code skill that detects sequential independent HTTP calls and refactors them into parallel execution.

nask-epp-client

TypeScript client for the NASK EPP protocol (Polish .pl domain registry).

figma-exporter

Node/TypeScript CLI that bulk-exports an entire Figma account (incl. .fig binaries) via Playwright browser automation; resumable, with zip bundling.

iledcolor

Pure-Python, local-first Bluetooth-LE driver and CLI for RGB LED panels; reverse-engineered the vendor protocol to replace a privacy-invasive vendor app.

Conferences

05 // CONTINUOUS LEARNING

NuxtNation 2022 & 2024
Vue.js Nation 2023 & 2025
ViteConf 2024
Vue.js DE 2024

Education

06 // ACADEMIC BACKGROUND

B.Sc. Electrical Engineering

Warsaw University of Technology

2014 - 2018

Additional Learning

07 // BOOKS & COURSES

The Pragmatic Programmer
Clean Code
Fluent Python
Ethereum with Solidity (Udemy)

Interests

08 // BEYOND THE CODE

AI agents & LLM evaluation
Process automation
Open-source
Performance engineering
Sailing
Animal-welfare volunteering (Warsaw, since 2016)

Let's build something fast.

Currently open to senior roles, AI agent and process-automation projects, and performance consulting.

Get in touch

© 2026 MICHAŁ ZAGALSKI

BUILT WITH REACT + EXPRESS + TAILWIND V4

WARSAW, PL // 52.2297° N, 21.0122° E