6+ years in distributed systems · building AI-native architecture
🌍 Open to remote opportunities — backend, AI systems, agent infrastructure
- Core stack: Node.js · TypeScript · NestJS · Go · AWS
- Built and scaled microservices in production — 40+ services (Fintech) and 98-service clinical data lake (Life Sciences)
- Deep AWS experience: Lambda, ECS, SQS, S3, API Gateway, Secrets Manager, CodeBuild
- Event-driven architecture: Kafka · RabbitMQ · Redis Streams
- Actively building AI agent infrastructure — multi-agent runtimes, LLM orchestration, MCP servers
- MSc thesis: Gamma — a browser-native multi-agent runtime system (NestJS microkernel + Redis Streams Memory Bus)
- Open-source contributor — 30+ merged PRs in top TypeScript/AI-tooling repos, repeat contributor in 4 of them
What I actually use and build with:
| Tool / Technology | How I use it |
|---|---|
| Anthropic Claude API | Agent reasoning, orchestration, code generation, multi-turn pipelines |
| OpenAI API (GPT-4) | Multi-provider gateway, fallback routing, embeddings |
| Google Gemini API | Vision, classification, real-time narration (gemini-2.0-flash) |
| Model Context Protocol (MCP) | Building MCP servers for external services (Monobank, Viber, etc.) |
| RAG + pgvector | Semantic search pipelines over custom knowledge bases |
| Ollama / Llama 3 / Qwen | Local inference, offline agent loops, cost-free experimentation |
| Multi-agent architecture | Hierarchical agent systems with lifecycle management, inter-agent bus |
| SSE + WebSocket streaming | Real-time LLM token delivery to clients |
Personal AI Projects — MCP servers (TypeScript):
- monobank-mcp — MCP server for Monobank Open API: accounts, statements, exchange rates, webhooks, Corporate API
- liqpay-mcp — MCP server for LiqPay, Ukraine's leading payment platform (PrivatBank)
- viber-mcp — MCP server for Viber messenger (Rakuten Viber Bot API)
Active contributor to TypeScript / AI-tooling projects — sorted by merge depth, not just stars. The repeat merges are the part I'm proudest of: maintainers keep taking my PRs, not just the first one.
| Project | ⭐ | Merged | What I fixed |
|---|---|---|---|
| yamadashy/repomix | 27k | 5 | Windows path-separator tree bug, --token-count-tree underscore-dir bug, Cloudflare Turnstile fix, GitHub shorthand auto-detect, case-insensitive extensions |
| danny-avila/LibreChat | 40k | 4 | Agent conversation-starters dropped from list projection, Bedrock MCP tool-description compat, Redis cluster-safe cache delete, artifacts capability gate |
| mastra-ai/mastra | 25k | 4 | DurableAgent readOnly-memory persistence fix, durable-agent tool-fork fix, type-inference & observability fixes |
| assistant-ui/assistant-ui | 10k | 4 | Popover tab-select fix, AG-UI message export, reasoning copy exclusion |
| ChromeDevTools/chrome-devtools-mcp (Google) | 44k | 2 | Multi-file upload support, npm registry config in MCP install |
| CopilotKit/CopilotKit | 35k | 2 | Re-landed dropped run-started event bridge for the Web Inspector, forward core headers on owned thread-store requests |
| ComposioHQ/composio | 29k | 2 | Nullable/relaxed output schema for third-party API nulls, resolve $ref/$defs so file flags survive schema dereferencing |
| promptfoo/promptfoo | 22k | 2 | Code-scan comment validation, extension-hook prompt preservation |
| labring/FastGPT | 29k | 1 | MCP transport: fall back to legacy SSE only on 4xx errors |
| rohitg00/agentmemory | 21k | 1 | Memory recall format & endpoint fix |
| ax-llm/ax | 2.7k | 1 | Expose request body in error traces |
| alpic-ai/skybridge | 1.7k | 1 | CSS asset URL transform skip |
I don't farm PRs across dozens of repos. I go back to the same ones after a merge and find the next real bug there — that's why 4 repos above have repeated merges instead of a single drive-by fix.
- Every PR ships with a root-cause writeup, a regression test verified against the unfixed code (not just green CI), and a negative control
- No hallucinated claims about how someone else's system behaves — if I'm not sure, I say so or go check
- When a maintainer asks for changes, I re-review the whole diff, not just the line they pointed at
- Result: maintainers respond in kind — same-day merges, "Awesome, thanks for your contribution!" instead of silence
Earlier projects before shifting focus to AI systems:
- Built apps interacting with Solana blockchain (Web3.js, RPC, transactions)
- DEX integrations: Raydium, Orca, Meteora, Phoenix, Openbook, Lifinity
- On-chain arbitrage bot with Jito MEV bundle submission and 3-hop route discovery
- Real-time wallet & transaction monitoring with Telegram alerts




