Skip to main content

erkin@portfolio:~$ ./run --mode=recruiter

OPEN_TO_WORKUTC --:--:--

// SENIOR SOFTWARE ENGINEER

Erkin
Qarayev

4+ years shipping production software at Technosec.io — JupyterLab analytics platform, notebook-native LLM tooling, merged OSS upstream.

eq@technosec — zsh

role: Senior Software Engineer · Full-Stack Engineer · AI / LLM Engineer · Open-Source Contributor

$ whoami

erkin.qarayev · senior software engineer

$ current_focus

jupyterlab analytics platform · notebook-native LLM tooling

$ role

$ oss --merged

jupyterlab@4.2.0 · jupyter-ai · jupyter-chat

$ status

available_for_opportunities ●

0+

YEARS_EXPERIENCE

0

MERGED_OSS_PRS

0

UPSTREAM_ORGS

0+

PUBLIC_REPOS

[ 01 // ABOUT ]4 MODULES

Building intelligent systems.

Senior Software Engineer with 4+ years at Technosec.io — JupyterLab-based analytics platform and notebook-native LLM tooling. Open-source contributor to JupyterLab and the Jupyter-AI ecosystem.

01

LLM Agents & Tooling

Built Datanout, a notebook-native LLM assistant — a LangChain/LangGraph tool-calling agent with human-in-the-loop approval and a full Model Context Protocol client.

02

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.

03

Full-Stack Development

Python/FastAPI/Tornado backends and React/TypeScript frontends — custom JupyterLab extensions, a React Flow pipeline editor, and real-time WebSocket streaming.

04

Testing & Security

Real-fixture test suites and CI/CD, plus security hardening — HMAC-authenticated boundaries, SSRF/CSRF defense, and per-tenant isolation.

Experience

[ 02 // EXPERIENCE ]2021 — PRESENT

Technosec.io ↗

Senior Software Engineer

2021 — present

LangGraphMCPFastAPITornadoReactTypeScriptJupyterLabPythonSecurity
  • Primary author of the platform's JupyterLab frontend extension — custom file browser, a dozen-component React/TypeScript design system, and the core plugin entry point
  • Built Datanout, 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 with a two-way ipywidgets/React state-sync layer that prevents echo loops
  • 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

Projects

[ 03 // PROJECTS ]6 REPOS
JUPYTERLAB + JUPYTER AI · LANGCHAIN / LANGGRAPHFEATURED

Datanout — Notebook-Native LLM Assistant

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.

  • LangChain/LangGraph tool-calling agent with token streaming
  • Human-in-the-loop approval (allow / deny / ask) with SQLite-persisted, resumable interrupts
  • Full Model Context Protocol client — pooling, per-server circuit breaker, SSRF/DNS-rebinding protection
  • OpenAI vector-store file search, cross-session memory, token-budgeted context trimming
  • AST-based safety gate and prompt-injection screening for model-generated code
LangGraphMCPPythonOpenAIAI Safety

3 HOSTING MODES · HMAC RPC

Cross-Origin Notebook Integration

Connects a Tornado/Python notebook platform to a React/Vite analytics app across three hosting modes over a typed, bidirectional postMessage RPC bridge.

TypeScriptTornadoReactSecurity

AES-256-GCM · CLEAN ARCHITECTURE

diffuseai — Encrypted GenAI Image CLI

A Python CLI for AI image generation with a verified end-to-end encryption layer, driving a self-hosted SDXL backend over ComfyUI.

PythonCryptographyComfyUISDXL

FASTAPI · JWT · STREAMING

kishai — Authenticated LLM-Inference Service

A FastAPI service exposing streaming LLM inference over a local Ollama backend, with authentication, rate limiting, and strict typing.

FastAPIPythonOllamaJWT

NEXT.JS 15 / REACT 19

Analytics Dashboard

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

Next.jsReactTypeScriptDocker

JUPYTERLAB + JUPYTER-AI · MERGED

Open-Source Contributions

Merged contributions across the JupyterLab and Jupyter-AI agent ecosystem, plus fixes in review on the LiteLLM gateway.

JupyterLabOpen SourcePythonTypeScript

Skills

[ 04 // SKILLS ]STACK

AI & LLM Orchestration

Datanout — LangGraph tool-calling agent with human-in-the-loop control, an MCP client, and AST-based safety.

LangGraphCORE
LangChainCORE
Tool-Calling AgentsCORE
MCP ProtocolADV
Vector-Store SearchCORE
Human-in-the-LoopCORE
Prompt EngineeringADV
Claude / OpenAI / OllamaPROV

Languages & Frameworks

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

PythonPRIMARY
TypeScriptPRIMARY
ReactFRONT
Next.jsFRONT
FastAPIBACK
PydanticBACK
TornadoBACK
JupyterLabTOOLING

Testing & Quality

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

pytestUNIT
VitestUNIT
PlaywrightE2E
SeleniumE2E
Visual RegressionQA
E2E AutomationQA

DevOps & Infrastructure

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

CI/CD PipelinesCORE
JenkinsCI
GitLab CI/CDCI
DockerINFRA
RESTful APIsAPI
WebSocketAPI

Changelog

[ 05 // CHANGELOG ]2021 → 2025
2021

Joined Technosec.io

Started building the JupyterLab analytics platform and its test infrastructure.

2022

Frontend extension

Custom file browser, React/TS design system, core plugin (primary author).

2023

React Flow editor

Custom pipeline-graph editor with two-way ipywidgets/React state sync.

2024

Cross-origin integration

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

2025

Datanout + merged OSS

Notebook-native LLM agent; merged PRs into JupyterLab core and Jupyter-AI.

[ 06 // CONTACT ]

initiate_contact()

Open to new opportunities, AI architecture challenges, and innovative engineering problems.

[ erkinqara@proton.me ]
github.com/erkin98 ↗linkedin.com/in/garayev ↗