Systems in production, not landing pages.

Applications I built, shipped and still run myself, on one server I administer. Open the ones you can, read the rest.

Kosht

Live product

Personal finance that survives four currencies and a sole-trader tax year.

Next.js 16 · Supabase · Kotlin/Compose · Wear OS

Open the case

CV

Live product

Turns a resume into the version a specific job posting is actually asking for.

Next.js 16 · Supabase · LLM pipeline

Open the case

Papir

Download

A desktop PDF workbench that replaced a paid one, and the phone version of it.

Tauri · Rust · TypeScript · Kotlin/Compose

Open the case
Ihor Kostyniuk

Ihor Kostyniuk

Senior AI Engineer - LLM agents and orchestration, MCP, RAG, Voice AI. Odesa, Ukraine.

Two and a half years shipping production LLM systems on self-hosted infrastructure. Everything on this page runs on machines I administer myself: Docker, Supabase, Caddy, centralised monitoring, nightly backups.

I write the orchestration layer myself instead of adopting a framework - tool-calling loops, custom MCP servers, multi-provider routing with automatic fallback, checkpointed pipelines that resume after a crash, human-in-the-loop gates. End to end means the web app, the native Android app and the server under them.

Also built and running

All projects

These stay behind the glass: screenshots, what the thing does and how it is used.

Meet

Screenshots only

Video calls on my own LiveKit, with the transcript and the decisions written up after.

Next.js 16 · LiveKit · Whisper · Postgres

Open the case

Recruiter

Screenshots only

An ATS that reads the pile of resumes before the recruiter does.

Next.js 16 · Supabase · LLM pipeline

Open the case