Erkin Qarayev
Senior full-stack engineer building a JupyterLab-based analytics platform and notebook-native LLM tooling. 4+ years shipping production software at Technosec.io, with merged contributions to JupyterLab and Jupyter-AI.
01 / About
Building intelligent systems
that solve real problems.
Senior Software Engineer with 4+ years at Technosec.io, building a JupyterLab-based analytics platform and notebook-native LLM tooling. Open-source contributor to JupyterLab and the Jupyter-AI ecosystem.
LLM Agents & Tooling
Built Rovanaut, a notebook-native LLM assistant — a LangChain/LangGraph tool-calling agent with human-in-the-loop approval and a full Model Context Protocol client.
Retrieval & Safety
OpenAI vector-store file search, cross-session memory, and an AST-based safety gate that blocks unsafe imports and calls in model-generated code.
Full-Stack Development
Python/FastAPI/Tornado backends and React/TypeScript frontends — custom JupyterLab extensions, a React Flow pipeline editor, and real-time WebSocket streaming.
Testing & Security
Real-fixture test suites and CI/CD, plus security hardening — HMAC-authenticated boundaries, SSRF/CSRF defense, and per-tenant isolation.
Years Experience
Merged Open-Source PRs
Upstream Orgs Contributed
Public Repositories
02 / Experience
Where I've been
building things.
Senior Software Engineer
Technosec.io
- Founded the platform's JupyterLab frontend extension — custom file browser, a dozen-component React/TypeScript design system, and the core plugin entry point (dominant author)
- Built Rovanaut, a notebook-native LLM assistant — LangChain/LangGraph tool-calling agent, human-in-the-loop approval with resumable persisted interrupts, a full Model Context Protocol client, OpenAI vector-store file search, and AST-based code safety
- Architected a cross-origin notebook ↔ analytics integration across 3 hosting modes, secured by an HMAC-SHA256 authenticated RPC bridge
- Built a custom React Flow pipeline-graph editor and led an AG Grid major-version migration (v27 → v35)
- Hardened filesystem, persistence, and lifecycle layers against path-traversal, SSRF, and environment-variable injection; enforced per-tenant session isolation
- Rebuilt the test suite on real fixtures (~1,000 tests) and decomposed a large coordinator class with zero behavior change
- Merged contributions to JupyterLab core (shipped in 4.2.0) and the Jupyter-AI agent stack
03 / Projects
What I've built.
From multi-agent AI platforms to real-time dashboards, each project represents a deep dive into solving complex engineering challenges.
Rovanaut — Notebook-Native LLM Assistant
JupyterLab + Jupyter AI · LangChain / LangGraph
A JupyterLab extension that drops an AI assistant into the notebook and lets it call tools — run cells, edit notebooks, read files, reach external servers — to do real work. Shipped as a Python server extension plus an NPM frontend, auto-discovered via the jupyter_ai.personas entry point.
Cross-Origin Notebook Integration
3 Hosting Modes · HMAC-Authenticated RPC
Connects a Tornado/Python Jupyter notebook platform to a React/Vite analytics app across three hosting modes — iframe-embedded, same-origin SPA behind a reverse proxy, and an embedded Lumino-shell panel — over a typed, bidirectional postMessage RPC bridge.
diffuseai — Encrypted GenAI Image CLI
AES-256-GCM · Clean Architecture
A Python CLI for AI image generation with a verified end-to-end encryption layer, driving a self-hosted SDXL backend over ComfyUI in clean-architecture layers.
kishai — Authenticated LLM-Inference Service
FastAPI · JWT · Streaming
A FastAPI service exposing streaming LLM inference over a local Ollama backend, with authentication, rate limiting, and strict typing.
Analytics Dashboard
Next.js 15 / React 19
A business-intelligence dashboard with a typed integration layer and graceful fallbacks, built to engineering-practice standards.
Open-Source Contributions
JupyterLab + Jupyter-AI (merged)
Merged contributions across the JupyterLab and Jupyter-AI agent ecosystem, plus fixes in review on the LiteLLM gateway.
04 / Skills
Technical expertise.
From low-level infrastructure to high-level AI orchestration, a comprehensive toolkit honed through real-world production systems.
AI & LLM Orchestration
Built Rovanaut, a notebook-native LLM assistant — a LangGraph tool-calling agent with human-in-the-loop control, an MCP client, and AST-based safety.
Languages & Frameworks
Full-stack development with Python and TypeScript, building real-time dashboards and FastAPI backends.
Testing & Quality
Real-fixture test suites (~1,000 tests) and integration-first QA wired into CI/CD.
DevOps & Infrastructure
CI/CD pipelines reducing deployment from hours to minutes, with parallel execution and Docker containerization.
Learning journey
Key milestones in my growth as an engineer.
Joined Technosec.io
Started building the JupyterLab-based analytics platform and its test infrastructure.
Founded the JupyterLab frontend extension
Custom file browser, a React/TypeScript design system, and the core plugin (dominant author).
React Flow editor + AG Grid migration
Built a custom pipeline-graph editor and led an AG Grid major-version migration (v27 → v35).
Cross-origin notebook ↔ analytics integration
Three hosting modes behind an HMAC-SHA256 authenticated RPC bridge.
Built Rovanaut + merged open-source contributions
Notebook-native LLM agent (LangGraph, MCP, OpenAI vector search); merged PRs into JupyterLab core and Jupyter-AI.
05 / Contact
Let's build something
extraordinary.
I'm always interested in discussing new opportunities, AI architecture challenges, or innovative engineering problems.