// SENIOR SOFTWARE ENGINEER
Erkin
Qarayev
5+ 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 5+ 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.
Memory & Safety
Cross-session memory with summarization, prompt-injection screening, secret masking on tool output, 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 & Safety
Selenium, Playwright and pytest suites run on every push through CI, plus Datanout's defense-in-depth safety stack — an AST gate on generated code, prompt-injection screening, and secret masking.
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
- Cross-session memory with summarization, token-budgeted context trimming
- AST-based safety gate, prompt-injection screening, and secret masking for model-generated code
FASTMCP · FIGMA · DESIGN-TO-CODE
PanelBoom — Design-to-Code Tool
An internal tool that turns Figma mockups into working Panel and Python dashboards, so designers' work becomes dashboards without hand-coding.
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.
PYTHON · EVAL · CI GATE
kishai — LLM Evaluation Harness
A from-scratch LLM evaluation harness in Python: YAML golden-set suites scored deterministically and by an LLM-as-judge, with a replay mode that gates CI without a GPU.
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 core and the Jupyter-AI agent ecosystem.
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 and integration-first QA wired into CI/CD.
DevOps & Infrastructure
GitLab CI/CD with multi-stage Docker builds, deployed to AWS EC2 and S3.
Changelog
Joined Technosec.io
Joined the Agile team building the JupyterLab analytics platform; became primary author of its frontend extension and test infrastructure.
Frontend extension
Custom file browser, a React/TS widget library over Ant Design and AG Grid, core plugin (primary author).
Pipeline wizard
Data-pipeline wizard with a React Flow editor and two-way ipywidgets/React state sync.
Internal dev tools
Sole-authored a JupyterLab diagnostics/issue-reporter and a Redmine REST toolkit (CLI, TUI, MCP server, 506 tests).
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 ]