// SENIOR SOFTWARE ENGINEER
Erkin
Qarayev
4+ years shipping production software at Technosec.io — JupyterLab analytics platform, notebook-native LLM tooling, merged OSS upstream.
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 ●
YEARS_EXPERIENCE
MERGED_OSS_PRS
UPSTREAM_ORGS
PUBLIC_REPOS
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.
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.
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.
Experience
Projects
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
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.
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.
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.
NEXT.JS 15 / REACT 19
Analytics Dashboard
A business-intelligence dashboard with a typed integration layer and graceful fallbacks, built to engineering-practice standards.
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.
Skills
AI & LLM Orchestration
Datanout — 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 — 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.
Changelog
Joined Technosec.io
Started building the JupyterLab analytics platform and its test infrastructure.
Frontend extension
Custom file browser, React/TS design system, core plugin (primary author).
React Flow editor
Custom pipeline-graph editor with two-way ipywidgets/React state sync.
Cross-origin integration
Three hosting modes behind an HMAC-SHA256 authenticated RPC bridge.
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 ]