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
– PresentClairbytes OÜTallinn, Estonia | Remote
Offer Inspector – SaaS, 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.
Embeddorium – open 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
Languages
- English: Advanced
- Russian: Native
- Estonian: Beginner