RLRoman Levchenko
WorkHow it's builtAI workflow
Get in touch

RL-00 / Independent engineering studio

Roman Levchenko

I design and ship production systems end to end — from architecture and AI pipelines to the pixels.

Senior full-stack engineer, 10+ years. I build AI-powered products with AI agents on the team — and the guardrails to match.

Get in touchSee the work

EU-based · Full UK overlap · 4+ h US East

  • TypeScript
  • React
  • Next.js
  • Node.js
  • NestJS
  • PostgreSQL
  • LLMs
  • Web3

RL-01 / Selected work

Systems I designed and shipped

  • W01 · An AI recruiting platform (EU)2025 — now

    Fewer LLM calls, better matches

    Rebuilt a candidate-to-vacancy matching engine against a measured baseline: about 3× fewer rejected top matches at about a quarter lower LLM cost.

    • Python
    • Node.js
    • Next.js
    • PostgreSQL
    • LLMs
  • W02 · Tennis Expert · own product2025 — now

    A real-money prediction market, built end to end

    Contracts as the source of truth, everything else rebuildable from on-chain events. Polygon sync cut from about 42 s to 6 s.

    • Solidity
    • Polygon
    • NestJS
    • BullMQ
    • Supabase
    • Next.js
    • Thirdweb
  • W03 · A multi-brand live-shopping platform2025 — now

    Search you can trust on a live-commerce platform

    A lean search index kept consistent by domain events, and a Shopify app moved off legacy serverless code onto the platform API.

    • NestJS
    • Angular
    • Shopify
  • W04 · LiveArt2022 — 2025

    One deployment, many artist storefronts

    Multi-tenant Next.js on custom domains with per-site config at the edge, and a visual builder for non-engineers.

    • Next.js
    • Vercel Edge Config
    • Plasmic
    • wagmi / viem
    • Prisma
    • Bitcoin Ordinals
  • W05 · Cuppa

    Turning an AI writer into a managed service

    A Done-For-You workflow, bulk AI generation in background jobs, and inline AI suggestions in the editor.

  • W06 · MicroTrading · own project

    An honest null result

    A trading agent engineered like an experiment: frozen spec, pre-registered tests, 34 configurations, none passed.

  • W07 · This site

    An agent-ready monorepo

    The boilerplate this site runs on: typed contracts, infrastructure as code, ADRs and guardrails enforced by hooks.

RL-02 / Approach

How I work

  1. 01

    Architecture first

    Boundaries, contracts and data flow are settled before the first component. Every decision lands in an ADR with its reasons.

  2. 02

    Typed end to end

    Zod contracts generate the OpenAPI spec that types the client. A stale contract fails CI, not production.

  3. 03

    Decisions by numbers

    Baseline first, change second. An engine change ships only when the benchmark says it is better.

  4. 04

    Guardrails as code

    Hooks, architecture tests and reviews make the right thing the easy thing, for people and for agents.

RL-03 / AI-native engineering

AI agents on the team, fenced in by guardrails

Agents write a lot of my code. Specs, hooks, tests and reviews decide what ships. On Tennis Expert, 522 commits are co-authored with Claude, and a headless agent reviews production logs every night.

How I work with AI agents
  • FlowSpec → plan → agents → review
  • HooksUnsafe edits blocked before they happen
  • SkillsThe architecture, encoded as playbooks
  • MCPAgents read real state, prod read-only

RL-04 / Wins

Measured, not claimed

Blockchain sync time on Polygon, after a finalized-head fix
42 s → 6 s
Fewer rejected top matches after the matching-engine rebuild
~3×
Lower LLM cost per matching run, with less than half the calls
~25%
Automated tests on my own product, including contract invariants
~2,800
Languages on my own product, with parity checked in CI
12
Years shipping production web applications
10+

RL-05 / Services

What I can do for you

  • MVP or proof of concept

    A full-stack product with Next.js and Supabase or a NestJS API, deployed and observable from day one.

  • AI features

    LLM features built into your web app with OpenAI or Claude: retrieval, structured output and evaluation.

  • Rescue and fixes

    Bugs fixed in Next.js, React or Node.js apps: the root cause found, a test written, done.

  • Contract engineering

    A senior engineer in your team on a B2B contract, in EU hours with UK and US East overlap.

Hire me on UpworkGet in touch

RL-06 / Stack

Tools I use in production

Frontend

  • React 19
  • Next.js App Router
  • Angular
  • TypeScript
  • TanStack Query
  • Zustand
  • Tailwind
  • shadcn/ui

Backend

  • Node.js
  • NestJS
  • Express
  • PostgreSQL
  • Drizzle
  • BullMQ / Redis
  • Supabase
  • GraphQL

Cloud and tools

  • Google Cloud
  • AWS
  • Railway
  • Fly.io
  • Docker
  • Turborepo
  • Datadog
  • Vitest / Playwright

AI and Web3

  • Claude Code
  • OpenAI
  • Vercel AI SDK
  • Embeddings / RAG
  • Airflow
  • Solidity
  • viem / wagmi
  • Thirdweb

RL-07 / Experience

Ten years, mostly production

  1. 2025 — nowLead engineer, matching engineAn AI recruiting platform (EU) · contract
  2. 2025 — nowSenior full-stack engineerA multi-brand live-shopping platform · contract
  3. 2025 — nowFounder, lead engineerTennis Expert · own product
  4. 2023 — 2025Full-stack engineerCuppa · contract
  5. 2022 — 2025Full-stack engineerLiveArt · contract
  6. 2020 — 2022Frontend leadResident
  7. 2017 — 2020Frontend leadPitchBook
  8. 2015 — 2017Full-stack developerIndependent projects

RL-08 / Contact

Have a system to build, or one to rescue?

Tell me what you're working on, and I'll get back to you with how I'd approach it.

Prefer email?

LinkedInGitHubUpwork

© 2026 Roman Levchenko · Warsaw, EU

Built with Next.js, NestJS and Postgres on Railway. See how it's built

  • LinkedIn
  • GitHub
  • Upwork