Bishkek, Kyrgyzstan (UTC+6, EU-morning overlap; remote B2B) · Available for contract work Static SSG · self-hosted Pre-rendered to static HTML with Nuxt and served from my own VPS — no runtime server, no third-party hosting.

Timur Kadyrbekov

LLM Systems Engineer — Evaluation & Backend (Python, TypeScript)

I build and measure LLM systems that have to survive real users: evaluation against ground truth settled outside the system, structured outputs, and the retry-and-fallback layer around them. The harness is public — on the answers it rates ≥0.9 confident, the model is wrong 36% of the time.

Timur Kadyrbekov
Focus & Core Competencies

Production LLM Systems

Evaluations, Tracing & Fallbacks

Building evaluation harnesses, LLM observability/tracing, structured output validation (Pydantic/Zod), and multi-model routing with strict latency and cost optimization.

Full-stack Product Engineering

APIs, Databases & Interfaces

Owning web applications end-to-end since 2021 — PostgreSQL schemas, serializable transactions where correctness depends on them, Redis/BullMQ queues, NestJS services, and Vue 3 / Nuxt UIs.

Agentic Developer Workflows

MCP Servers & AGENTS.md

Operating inside agentic AI systems daily — repository AGENTS.md context maintainer, custom MCP tools, and agent-assisted review, which is where my day-to-day practice with tool calling and structured outputs started.

terminal — guest@tk-shell
System initialized. Welcome to Timur's Interactive Terminal.
tk-shell:~$
5+Years ExperienceVue.js & Nuxt ecosystem, since 2021
8European MarketsRoad-toll vignette marketplace, shipped end-to-end
40%Less Manual WorkThrough custom admin dashboards
25%Query SpeedupDatabase indexing & query optimization

01 — About

Background & Philosophy

I took my first paid client work in 2020, went full-time commercial in 2021, and am reading for a computer engineering degree at Kyrgyz-Turkish Manas University alongside it — graduating 2029. That early start is the reason a production track record and a student ID show up on the same page, and I would rather state it than have you work it out from the dates.

Since then: Vue 3 / Nuxt front ends and NestJS APIs for B2B clients in food delivery and retail, a national accommodation-classification platform for the Kyrgyz government, and a multi-tenant commerce platform that turns free-text WhatsApp messages into structured orders. I care about the parts that decide whether software is correct rather than merely finished — a serializable transaction where two bookings race for one room, an outbox where a notification must not be delivered twice, a schema-validated response where a model may return garbage.

  • Vue 3 / Nuxt — single-page and server-rendered applications, owned from requirements to deploy.
  • Database & API design — PostgreSQL schema and migrations, NestJS controllers, and locking where correctness depends on it.
  • LLM evaluation — OOBench scores resolvers against settled prediction markets; the harness and its numbers are public.
  • RU / KY / EN — Russian and Kyrgyz native, English at professional working proficiency.
Timur Kadyrbekov
1 / 4

02 — Skills

Skills & tools

LLM Evaluation

  • Ground truth from external settlement, not a model judge
  • Stratified dataset construction with a published rejection ledger
  • Naive and reference baselines in the same table as every result
  • Calibration: Brier, ECE, reliability diagrams, P(wrong | confidence ≥ 0.9)
  • McNemar on paired arms, Wilson intervals, minimum detectable effect stated before the delta
  • Regression gate replaying recorded responses — no key, no network

LLM Systems

  • Pydantic-validated response contracts with a repair retry on schema failure
  • Citation grounding checked outside the schema, so fabricated source ids are measured
  • Failure policy separating transport, schema, harness fault and safety refusal
  • Prompt-prefix cache economics and per-call usage accounting
  • Gemini and Anthropic APIs behind one resolver interface
  • Model Context Protocol (MCP) servers

Languages

  • Python — evaluation harnesses, dataset pipelines, mypy --strict
  • TypeScript — 5 years, primary in production
  • SQL — PostgreSQL, window functions, CTEs, query plans
  • JavaScript (ES6+)

Backend & Data

  • NestJS, Express, Node.js
  • PostgreSQL schema design & migrations
  • Prisma, TypeORM
  • Serializable transactions & row-level locking for correctness
  • Transactional outbox with idempotent relay
  • Redis / BullMQ background jobs and queues
  • Multi-tenant architecture with tenant-scoped data access

Frontend

  • Vue 3 / Nuxt 3–4 — 5 years
  • Pinia, Composition API
  • Offline-first PWAs with IndexedDB mutation queues
  • Telegram Web Apps
  • React 19 / Next.js — in progress

Testing & Ops

  • Vitest, Playwright
  • Concurrency and race-condition integration tests
  • GitHub Actions CI/CD
  • Docker & Docker Compose

03 — Projects

Selected work

Vignette ID

Vignette ID

Fullstack Developer

Problem
Travellers buying road-toll vignettes for European countries had to navigate a different government portal for each one.
Approach
Built the marketplace end to end across 8 countries: authentication, user profiles, checkout, and an admin panel with Telegram login. Redesigned the PostgreSQL schema and the NestJS API layer on top of it, replacing string-interpolated queries with parameterised ones and closing the SQL-injection surface. Replaced manual profit reporting with generated analytics dashboards.
Result
Shipped and operating across 8 countries. Manual reporting work replaced by generated dashboards.
  • Vue 3
  • Nuxt
  • NestJS
  • PostgreSQL
  • TypeScript
View site
OOBench — Optimistic Oracle Bench

OOBench — Optimistic Oracle Bench

Author

Problem
Almost every LLM evaluation grades itself. Either a human judges the output, or a second model does — so the benchmark inherits whatever bias the judge has, and nobody can say whether a change actually helped. Resolver systems (given a question and evidence, decide the outcome) are especially exposed: the interesting failures are confident wrong answers, which is exactly what a model-judge is worst at catching.
Approach
Score resolver output against settled Polymarket/UMA markets, so ground truth is how the market actually paid out — externally settled and financially incentivised rather than a judgement call. 50 questions drawn from 4,947 harvested candidates through a published funnel, every rejection recorded with its reason, and the domain’s 72%-NO base rate measured and then forced to 50/50 so the naive always_no baseline scores 0.500 and sits in the same table as every model. Every resolver call must return a fixed schema — outcome, confidence, reasoning, sources, conflicts detected — validated before it is scored; a malformed response gets one repair retry and then a recorded hard_fail rather than a crash.
Result
The headline result is that the evidence barely helps: against a forced closed-book control that must answer, 4,800 tokens of dated documents move accuracy from 0.520 to 0.533 — a lift of +0.013 with the two intervals ([0.393, 0.667] and [0.38, 0.66]) lying on top of each other. Two explanations survive and the benchmark does not yet separate them. Calibration is the clearer failure: 36% of the answers the model rates at least 90% confident are wrong, and an explicit UNRESOLVABLE option moved ECE from 0.192 to 0.114 at the cost of abstaining on 37% of questions instead of 25% (McNemar p=0.63, not significant). Three statistical bugs were found and fixed in review, all of which flattered the result. Citation grounding 1.000; $0.002 and p95 2.6 s per resolution; CI gate replays 182 cassettes with no API key and no network.
  • Python
  • pydantic
  • pytest
  • mypy --strict
  • Gemini & Anthropic APIs
  • GitHub Actions
View Case Study
ГСКСР КР

ГСКСР КР

Founder & Lead Developer

Problem
Kyrgyzstan classified and regulated tourist accommodation on paper. Hotels and guesthouses were assessed manually, auditor assignment was discretionary, and there was no public record a traveller or a ministry could check.
Approach
Built a multi-role B2G platform end to end: a 158-criterion self-assessment engine for accommodation providers, a deterministic auditor-assignment algorithm chosen specifically so allocation could not be disputed as arbitrary, five role-scoped dashboards (owner, expert, ministry official, admin, public registry), and a public registry with QR-verified listings.
Result
Demonstrated as an operational system to an intergovernmental Asian Development Bank working group. In production and under continuing support, delivered through TK Projects LLC; bank payment integration for classification fees in progress.
  • NestJS
  • Prisma
  • PostgreSQL
  • Vue 3
  • TypeScript
View site
Kataloga

Kataloga

Founder & Lead Developer

Problem
Small merchants in Kyrgyzstan take orders as free-text messages — "два букета роз и тюльпаны" arrives in WhatsApp and someone copies it into a notebook. Orders get lost, totals get miscounted, and replies are slow enough to cost the sale.
Approach
Built a multi-tenant commerce platform where that message becomes a structured order. An LLM extracts line items against the merchant's own catalogue and returns them as validated JSON, so an unparseable message degrades to a human-handled order rather than a bad one. Around it: per-tenant Telegram bots dispatched by webhook, WhatsApp integration, Telegram Web App storefronts, tenant-scoped data access at the ORM layer, role-based access with an audit trail, and RU/KY/EN throughout.
Result
Live and functional, no paying merchants. Useful lesson in distribution over engineering: the storefront was built Telegram-first for a market that runs on Instagram and WhatsApp, and the free-text order parser — the part that actually matched the market — was treated as a side feature.
  • NestJS
  • Prisma
  • PostgreSQL
  • Nuxt 4
  • Vue 3
  • Telegram Web Apps
  • LLM structured extraction
View site
NomadCore

NomadCore

Personal project (solo)

Problem
Guest houses in Kyrgyzstan track bookings in paper journals and WhatsApp. Double bookings are routine, connectivity is unreliable, and there is no availability data anyone else could consume.
Approach
Built a property management system where correctness under concurrency was the actual requirement. Anti-overbooking runs in a serializable transaction with SELECT ... FOR UPDATE on the room row and retries on serialization failure (Postgres 40001 / Prisma P2034), covered by an integration test that fires two competing bookings at one room and asserts exactly one survives. Dates are stored as half-open intervals so back-to-back stays do not collide. Offline sync uses an optimistic-locking row version against a Dexie mutation queue in the browser. Notifications go through a transactional outbox whose relay uses the event id as the queue job id, making delivery idempotent.
Result
Runs locally via Docker Compose (PostgreSQL + Redis); not publicly deployed. Front end later ported to React 19 / Next.js as a separate study project.
  • NestJS
  • Prisma
  • PostgreSQL
  • Redis
  • BullMQ
  • Nuxt PWA
  • Dexie
  • TypeScript
Berrywood Family

Berrywood Family

Frontend Developer (Combo Agency)

Problem
A restaurant group with 10+ distinct brands (Tunguska, Sadko, Bulgakov, and others) needed a unified hub site to showcase properties and drive traffic to individual restaurant sites.
Approach
Built a multi-brand showcase site with animated typography, a group-wide cashback loyalty program, and news and careers sections.
Result
Live production site linking 10+ active restaurant brands under one network.
  • WordPress
  • Vue.js
  • JavaScript
  • Custom animation
View site
Pepel Restaurant

Pepel Restaurant

Frontend Developer (Combo Agency)

Problem
A concept restaurant in Irkutsk needed an immersive, story-driven web presence matching its narrative-led brand.
Approach
Built the responsive frontend — hero video section, interactive menu gallery, table-reservation widget integration, multi-language toggle (RU/EN), tiered loyalty program display, and dynamic events feed.
  • WordPress
  • Vue.js
  • JavaScript
  • Custom templating
View site

04 — Experience

Experience

  1. Jul 2026 – Present

    Founder / Lead Developer · TK Projects LLC

    Own company, formed to deliver and support the national accommodation-classification platform (ГСКСР КР) under contract, rather than as a personal project. Currently integrating a bank payment gateway for the collection of state classification fees.

  2. Apr 2023 – Jul 2026

    Full-stack Developer · Combo Agency

    One of four front-end developers in a team of about ten (four front end, two–three back end, two–three project managers, one designer), shipping Vue 3 / Nuxt front ends for B2B clients in food delivery and retail across 7+ projects. Sole front-end developer on Lemma and bellini.delivery — the entire client-facing surface of both was mine. Owned pepel.rest end to end, and built both the WordPress side and the front end of berrywoodfamily.ru, a hub for a group of 10+ restaurant brands. Reviewed other developers’ code across the team’s projects and worked on the architecture of the agency’s own site. Set up and maintained the agentic development workflow the team codified in AGENTS.md — repository context, agent-assisted review — which is where my day-to-day practice with tool calling and structured outputs started.

  3. Jul 2021 – Mar 2023

    Fullstack Developer · Vignette ID

    Built a digital road-toll vignette marketplace covering 8 European countries end to end. Redesigned the PostgreSQL schema and NestJS API layer, parameterising queries and closing the SQL-injection surface. Replaced manual profit reporting with generated analytics dashboards. Introduced code review standards and CI/CD, which cut the rate of defects reaching production.

  4. Jul 2020 – Jul 2021

    Web Developer · Freelance (part-time)

    Part-time client work while still at school. Vue.js / Nuxt and Node.js sites and small applications for local businesses, from schema design through deployment.

05 — Contact

Let’s talk

Open to remote frontend / fullstack roles and interesting contract work. The fastest way to reach me is email.

Email me