Dauren Abasov
0
01Selected projects

Projects
9
Years
2022 — 2026
Role
Frontend
02Open source

Libraries

When something I build for a project turns out useful beyond it, I ship it as its own package. Other developers use them — the numbers below come live from npm.

01

1.2K

downloads last month

Listed in the official Nuxt modules directory

vue-why-render

See which Vue components re-render — and why

Most tools only flash a border on re-render. vue-why-render names the exact reactive dependency that triggered it and catches a common trap: a new reference holding the same value.

  • An overlay and a floating panel with stats, the component tree and an event feed
  • Hooks into the Vue DevTools inspector and timeline
  • Render assertions for tests, so extra renders never come back
  • Session reports in JSON with a before / after comparison
  • Vue 3
  • Nuxt module
  • TypeScript
  • DevTools API
02

146

downloads last month

@bigplay/tree-view

Trees and tournament brackets for Vue 3, Vue 2 and Nuxt, zero dependencies

Grew out of the BIGPLAY tournament bracket: I pulled it out of the main codebase into its own package. The platform lost 1000+ lines, and any Vue 3 project can now use the bracket.

295
DOM elements for a 4,095-match bracket — 36,899 without virtualization
4 ms
to render that bracket instead of 161 ms — 40× faster
16×
faster parsing of a 131,071-match bracket: the walk was O(n²) because of shift(), now O(n) — 640 ms → 40 ms
5.9 ms
to lay out 16,383 matches; 1,023 take 0.3 ms
  • Its own ~100-line layout instead of d3: leaves go in order, each parent sits centred over its children
  • The DOM is the bottleneck, not the maths: 1,023 matches lay out in 0.3 ms but take 44 ms to render without virtualization. So only on-screen cards live in the DOM, while the canvas is still sized for the whole tree and the page never jumps
  • All the maths sits in a plain TypeScript core with no Vue in it; the Vue 3 and Vue 2 adapters are thin, about 200 lines each
  • User data is only ever read, never mutated; 283 tests, all passing
  • TypeScript
  • Vue 3
  • Vue 2
  • Nuxt module
  • SVG
  • Vitest
03

1.8K

downloads last month

vue-llm

The AI SDK for Vue and Nuxt: streaming chat, tool calling and in-browser models

useChat() with streaming, tool calling and multiple providers in 10 lines. One API for OpenAI, Anthropic, Gemini and Ollama, and with WebGPU the model can run on the user’s device — no server, no API key.

  • Generative UI: tool calls render as your own Vue components, with streamed arguments and human-in-the-loop
  • Llama, Qwen and SmolLM on WebGPU — nothing leaves the device
  • An LLM tab in Vue DevTools: request timeline, time to first token, tool calls and token usage
  • Zero runtime dependencies — only vue as a peer; the composables also run on Vue 2.7
  • Vue 3
  • Vue 2.7
  • Nuxt module
  • TypeScript
  • SSE
  • WebGPU

Open to freelance work and product teams. Tell me about the task — I'll come back with an approach, a timeline and a budget.