Skip to main content
Available for opportunities

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.

0+

Years Experience

0

Merged Open-Source PRs

0

Upstream Orgs Contributed

0+

Public Repositories

02 / Experience

Where I've been
building things.

Senior Software Engineer

Technosec.io

2021 - Present
  • 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
LangGraphMCPFastAPITornadoReactTypeScriptJupyterLabPythonSecurity

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.

Featured

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.

LangGraphMCPPythonOpenAIAI Safety

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.

TypeScriptTornadoReactSecurityJupyterLab

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.

PythonCryptographyComfyUISDXL

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.

FastAPIPythonOllamaJWT

Analytics Dashboard

Next.js 15 / React 19

A business-intelligence dashboard with a typed integration layer and graceful fallbacks, built to engineering-practice standards.

Next.jsReactTypeScriptDocker

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.

JupyterLabOpen SourcePythonTypeScript

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.

LangGraphCore
LangChainCore
Tool-Calling AgentsCore
Vector-Store SearchCore
Prompt EngineeringAdvanced
Claude APIProvider
OpenAI APIProvider
OllamaProvider
Human-in-the-LoopCore
MCP ProtocolAdvanced

Languages & Frameworks

Full-stack development with Python and TypeScript, building real-time dashboards and FastAPI backends.

PythonPrimary
TypeScriptPrimary
ReactFrontend
Next.jsFrontend
FastAPIBackend
PydanticBackend
JupyterLabTooling

Testing & Quality

Real-fixture test suites (~1,000 tests) and integration-first QA wired into CI/CD.

SeleniumE2E
PlaywrightE2E
pytestUnit
VitestUnit
Visual RegressionQA
E2E AutomationQA

DevOps & Infrastructure

CI/CD pipelines reducing deployment from hours to minutes, with parallel execution and Docker containerization.

CI/CD PipelinesCore
JenkinsCI
GitLab CI/CDCI
DockerInfra
RESTful APIsAPI
WebSocketAPI

Learning journey

Key milestones in my growth as an engineer.

2021

Joined Technosec.io

Started building the JupyterLab-based analytics platform and its test infrastructure.

2022

Founded the JupyterLab frontend extension

Custom file browser, a React/TypeScript design system, and the core plugin (dominant author).

2023

React Flow editor + AG Grid migration

Built a custom pipeline-graph editor and led an AG Grid major-version migration (v27 → v35).

2024

Cross-origin notebook ↔ analytics integration

Three hosting modes behind an HMAC-SHA256 authenticated RPC bridge.

2025

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.