// freelance · vienna · remote

Artsiom Kunitsyn

I help teams extract data, ship APIs, and build web products. Python, FastAPI, React, PostgreSQL — done well, shipped on time.

Available for new projects · April 2026
02 — services

What I do

Four core offerings. All projects are scoped, fixed-price or hourly, and shipped with documentation.

→ 01

Web scraping & monitoring

Robust crawlers with proxy rotation, JS rendering via Playwright, and structured output. From single-site scrapers using requests + parsel to distributed pipelines monitoring hundreds of sources around the clock.

PlaywrightScrapycurl_cffiProxies
→ 02

FastAPI backends

Production-ready REST and WebSocket APIs with async PostgreSQL, Pydantic validation, OAuth2/JWT auth, Celery background jobs, and clean OpenAPI specs your team can actually use.

FastAPIPostgresCeleryPydantic
→ 03

React applications

Dashboards, internal tools, and customer-facing SPAs built with React, TypeScript, Vite, and Tailwind. TanStack Query for data, Zustand for state — fast, accessible, easy to maintain.

ReactTypeScriptViteTailwind
→ 04

Python automation

Scripts and pipelines that replace manual work — data cleaning, report generation, scheduled jobs via cron or Airflow, and integrations between SaaS tools. Containerized and deployable anywhere.

PythonDockerAirflowETL
03 — work

Selected projects

A few representative engagements, plus a live side project. Some client details are abstracted to respect confidentiality.

→ 01
Self-hosted product
live

ArtGraph — the art world's data layer

A live, self-hosted side project: a structured database of artists, artworks, and the connections between them. End-to-end work — scrapers ingesting public sources, a normalized PostgreSQL schema, FastAPI backend, and a React frontend, all running on my own infrastructure.

FastAPIPostgreSQLReactTypeScriptPythonDocker
→ 02
E-commerce intelligence

Price monitoring pipeline

Distributed scraper tracking 12 retailer sites every 2 hours. Detects price changes, stock movements, and competitor promotions for a mid-market retail client.

Playwrightcurl_cffiPostgreSQLCeleryDocker
~2M product checks / day
→ 03
SaaS platform

Internal analytics dashboard

Real-time analytics dashboard for an early-stage SaaS, replacing a Metabase setup. Custom drill-downs, scheduled email reports, and role-based access.

FastAPIReactTypeScriptTimescaleDBTailwind
40% faster query times
→ 04
Data pipeline

Public records aggregator

Aggregator pulling structured data from regulatory and government sources, normalizing schemas, and serving via a clean REST API to downstream clients.

PythonFastAPIPostgresRedisAirflow
8 sources unified
04 — stack

Tools I work with

A pragmatic stack — chosen for stability, not novelty. I use what I know well so I can ship faster.

languages
PythonTypeScriptJavaScriptSQLBashHTMLCSS
web scraping
PlaywrightSeleniumScrapyrequestshttpxcurl_cffiparselBeautiful SouplxmlProxy rotationAnti-bot bypass
backend
FastAPIDjangoFlaskPostgreSQLMySQLSQLiteSQLAlchemyAlembicPydanticRedisMemcachedCeleryRQRabbitMQ
frontend
ReactTypeScriptViteTailwind CSSCSS ModulesTanStack QueryZustandReact RouterVitest
devops & infra
DockerDocker ComposeLinuxNginxCaddyCloudflareGitHub ActionssystemdcronAirflow
tools & practices
Gitpytestruffmypypre-commitOpenAPIRESTWebSocketsOAuth2JWT
05 — about

A bit about me

I'm Artsiom — a software engineer based in Vienna, working independently with clients across Europe and the US. My background is in Python and full-stack development, with a particular focus on data extraction and backend systems.

I started as a backend engineer, spent years building data pipelines and APIs at product companies, and now run a small freelance practice. I work directly with founders and engineering leads — no account managers, no middlemen.

When I'm not coding, I'm usually reading, hiking, or self-hosting more services on the home server this site runs on.

based in
Vienna, Austria
timezone
CET / CEST (UTC+1/+2)
working since
2018
languages
English (C1) · Belarusian (native) · Russian (native) · German (A2)
06 — contact

Let's build something.

Got a scraping problem, an API to ship, or a web app to build? Send me a brief and I'll reply within a working day.