Stanislav Rybonka

How I work

The full version of how an engagement runs — how we scope it, where AI tools sit in it, and what happens to your code.

Principles

Every engagement starts from your idea, not a forty-page spec. I would rather spend the first conversation understanding what you are building than reading a document that is already out of date — and if your budget does not match your scope, you will hear it before we start, not halfway through.

From there it is straightforward: I push back on features that do not belong in v1, even when building them would raise the invoice. I flag problems the day I see them, not at the next sprint review. And you work with the engineer who designed your system, not an account manager who relays questions to one.

Working with AI

I use AI coding tools every day, and I build AI systems for a living, so I will be direct about where they sit in delivery. They write first drafts of tests, summarise unfamiliar modules before I read them properly, and turn a migration plan into a checklist. Estimation, delivery and operations here all run with LLM-assisted workflows.

What stays human: architecture decisions, anything touching money, authentication or personal data, and the final review on every pull request. I read every line before it lands. If I could not explain a change to your team without the tool open, it does not ship.

This changes estimates less than people expect. Reading a codebase carefully still takes as long as it takes. Build phases get shorter; review and handover do not.

Your code and data

No client code or data goes into a third-party model without your written consent. When you give it, I use providers and modes that do not train on inputs, and I tell you which ones. Secrets, customer data and anything under NDA stay in your repository and your infrastructure — the tools see source code, never your production database.

Flexipy is an EU company (Estonia, OÜ), so GDPR obligations apply to us directly rather than by extension.

Tools

  • Python 3.12+, Django, DRF, FastAPI, asyncio, Pydantic v2
  • PostgreSQL (with pgvector), Redis, Celery, RabbitMQ, MongoDB
  • Claude and Claude Code; OpenAI, Azure OpenAI, AWS Bedrock
  • LangChain, LangGraph, MCP servers, structured outputs, multi-agent orchestration
  • RAG over pgvector and Qdrant — hybrid search, reranking, layout-aware chunking
  • Langfuse, LangSmith, LLM-as-judge on golden datasets, prompt versioning, token and cost tracking
  • Guardrails — prompt-injection defence, PII redaction, per-tenant key isolation, rate-limit backoff
  • Twilio Media Streams and Azure OpenAI speech-to-speech; YOLO, OpenCV, PDF parsing
  • Docker, Kubernetes, AWS, Azure, Nginx, Gunicorn/Uvicorn, GitHub Actions / GitLab CI
  • pytest, Ruff, mypy, uv, OpenTelemetry, Sentry, Datadog, ELK
  • React and Vue where the frontend is mine
  • Cal.com (self-hosted) for calls

What I decline

  • —One-off scripts
  • —Maintenance-only work
  • —Anything decided on lowest bid — we are not the cheapest option
  • —Stacks I do not work in — I will say so on the first call
  • —Sending your code to a model you have not approved