Full-Stack Engineer
We are looking for an experienced Senior Fullstack / AI Engineer who will be responsible for end-to-end feature development — from building intelligent AI agents on the backend to visualizing them through intuitive user interfaces.
Why you’ll love this project: We have absolutely zero legacy code. Our entire stack is bleeding-edge (running the latest versions). We don’t just "plug in an OpenAI API key" — we are building a complex distributed system featuring RAG architecture, vector search, event streaming, and big data analytics.
Our Tech Stack
Frontend:
Interfaces & Build Tools - Vue 3 / React, TypeScript
Backend:
Core Frameworks - Node.js (LTS) + NestJS (core business logic), Python + FastAPI (AI services, orchestration, data processing)
AI & ML:
LLM & Orchestration - OpenAI, Anthropic, Google
Data Storage & Messaging:
Data Infrastructure - PostgreSQL, ClickHouse, Qdrant, Kafka, Redis, S3 / MinIO
Key Responsibilities
Backend: deep expertise in Node.js and/or Python (FastAPI); solid grasp of asynchronous programming, RESTful APIs and microservice architectures.
LLM integration: production experience building or supporting features on LLM APIs (Anthropic, OpenAI or similar) — structured outputs, retries and rate limits, streaming, fallbacks, and an understanding of token economics.
Databases: strong PostgreSQL — query optimisation, execution plans, relational schema troubleshooting, transaction isolation levels.
Debugging and observability: practical production troubleshooting with logs, metrics, distributed tracing (trace_id/request_id) and monitoring dashboards.
Testing: Jest, Supertest or PyTest; robust regression tests; familiarity with evaluating non-deterministic (LLM) behaviour.
AI-assisted development: daily fluency with agentic coding tools (Claude Code, Cursor or similar) as a normal working method, including judgement about when AI output needs verification.
LLM observability and evaluation tooling (Langfuse, prompt/trace platforms, eval frameworks).
Docker and standard CI/CD pipelines.
Queue systems or event-driven architectures (Kafka, RabbitMQ).
Security hygiene: dependency vulnerability triage, secrets management.
Analytical, systematic debugging of unfamiliar codebases · systems thinking about how a small config, code or model change hits a broader ecosystem · full ownership from triage to production verification and post-mortem · clear stakeholder communication of root causes · Agile (Scrum/Kanban) with Jira and Confluence.
What We Are Looking For
Experience Required: Senior, 4–5+ years in product development, with hands-on experience in LLM integration and data engineering
Strong Fullstack Background: Deep knowledge of Node.js, Worker threads, and the NestJS ecosystem (solid understanding of Dependency Injection, Modules, Guards, Interceptors, and Pipes). Proficient in TypeScript (Vue 3, NestJS) and a proven track record of backend development with Python.
Hands-on AI/LLM Experience: A solid understanding of prompt engineering, LangChain chains, embeddings, and semantic search. You know exactly how Claude differs from GPT in production environments.
Vector DB Expertise: Practical experience with Qdrant (or similar vector databases) — including indexing, similarity search, and vector tuning.
Data Infrastructure Literacy: Experience working with distributed systems, message brokers (Kafka), and analytical databases (ClickHouse).
Database Mastery: You clearly understand when to query PostgreSQL, when to aggregate data in ClickHouse (OLAP vs. OLTP), and how vector indexes operate in Qdrant.
Infrastructure Horizons: Experience with caching (Redis), object storage (S3/MinIO), containerization (Docker/Kubernetes), and the AWS ecosystem.
Mindset: Strong analytical skills, a product-driven mindset, the ability to architect fault-tolerant systems, and a dedication to writing clean, maintainable code (SOLID, OOP/FP patterns).
What We Can Offer You:
Consistent monthly payment based on invoices (payments are made via bank transfer/ Payoneer or PayPal).
Remote working from 14:00 to 23:00 EEST, including a one-hour break.
Supportive work/life balance: paid vacation and sick leave.
Opportunities for professional and career growth and development.
Opportunity to use modern approaches and tools to solve business problems.
Our recruitment process:
Interview with HR
Technical interview with team leaders