Evgenii Perminov

Principal Full-Stack Engineer

Backend-heavy full-stack engineering – Node.js/TypeScript distributed systems, with applied RAG and LLM engineering.

Summary

Software engineer with 11 years of experience, strongest in Node.js/TypeScript backends and event-driven distributed systems. Recent work covers RAG pipelines, vector search, LLM integrations and MCP tooling. I own delivery end-to-end: architecture, implementation and running production systems.

Core Technologies

  • Languages: TypeScript, JavaScript, Python, SQL, Go
  • Backend & Data: Node.js, NestJS, REST APIs, event-driven microservices, Kafka, RabbitMQ, PostgreSQL, Redis
  • AI & Retrieval: RAG pipelines, vector search, Qdrant, embeddings, LLM integration, Ollama, MCP
  • Infrastructure: Docker, Kubernetes, AWS, GitOps, Argo CD, GitHub Actions, CI/CD, observability
  • Frontend: React, Next.js, Redux, Tailwind CSS

Experience

Principal Software Engineer

Present

Clairbytes OÜTallinn, Estonia | Remote

Offer InspectorSaaS, in production

  • Built and launched Offer Inspector, a full-stack salary comparison SaaS using Next.js, React, NestJS, PostgreSQL and Go workers, covering authentication, billing, tax logic, localization and production infrastructure.
  • Designed an AST-based tax engine for salary calculations across Estonia and Poland, supporting multiple legal forms, net-to-gross calculations, employer costs, paid leave and effective salary comparisons.
  • Set up GitOps-based deployment on a self-hosted k3s cluster with Argo CD, blue-green releases, automated database migrations and encrypted secrets.
  • Added application and infrastructure observability using OpenTelemetry, Prometheus, Grafana, Loki and Tempo, including database metrics, tracing, dashboards and Slack alerts.
  • Integrated Creem subscriptions with server-side entitlements, usage quotas, idempotent webhook processing, feature flags and daily exchange-rate synchronization.

Embeddoriumopen source

  • Built a distributed ingestion pipeline with Dramatiq, RabbitMQ, PostgreSQL outbox events, idempotent jobs and bounded retries.
  • Separated canonical datasets from indexing pipelines, allowing the same corpus to be tested with different chunkers and embedding models while keeping experiment configurations reproducible.
  • Implemented dense, BM25 and hybrid retrieval with cross-encoder reranking plus RRF, DBSF and weighted score fusion.
  • Built a chunker-independent evaluation system using document character spans, with Recall@K, MRR, nDCG, Hit Rate and Passage Coverage metrics.

Experience (continued)

Senior Software Engineer

Katana Cloud InventoryTallinn, Estonia | Remote

  • Built and scaled Node.js/TypeScript services in a Kafka-driven platform of ~100 microservices on PostgreSQL, owning them from schema design through production support.
  • Delivered cross-team features end-to-end, including a public API gateway, webhooks, sales orders and inventory planner, aligning API contracts and rollout with the teams consuming them.
  • Re-architected manufacturing-planning logic to reduce calculation time and eliminate recurring calculation errors.
  • Led technical investigations, estimation and epic planning across teams, and tuned PostgreSQL schemas, queries and CI/CD for faster tests and more reliable deployments.

Senior Software Engineer

Huawei R&D LabSaint Petersburg, Russia | Remote

  • Built the front end of a C/C++ IDE delivered as a Visual Studio Code extension, using the Visual Studio Code API with TypeScript, Node.js and Svelte.
  • Implemented a gRPC remote-debugging server and the CI/CD pipeline that packaged and shipped each release of the extension.

Full-Stack Developer

DiversidoRemote

  • Built Node.js backends (Express, NestJS, PostgreSQL, GraphQL) and React/Redux front ends for client products, including real-time features over WebSockets.
  • Containerized services with Docker and shipped them to AWS through CI/CD pipelines, working directly with clients to turn requirements into delivered features.

Full-Stack Developer

EcombixSaint Petersburg, Russia

  • Built and maintained a TypeScript integration service on RabbitMQ that connected the platform with the Shopify, Magento and WooCommerce APIs.

Earlier Software Engineering Experience

7Bits, Avelix, Burning ButtonsOmsk, Russia

  • Junior Backend Developer, Burning Buttons (Sep 2016 – Mar 2017): built a Facebook chatbot on Node.js, Express and PostgreSQL with Stripe payments.
  • Junior Frontend Developer, 7Bits and Avelix (Sep 2014 – Sep 2016): built React and Redux interfaces for banking and medical applications.

Education

Bachelor’s Degree in Applied Mathematics and IT

Dostoevsky Omsk State University

Languages

  • English: Advanced
  • Russian: Native
  • Estonian: Beginner