Ivan Plankin

AI does the engineering · Rust keeps critical state explicit

PORTFOLIO

I build AI systems for reality.

I define the objective, constraints, and acceptance criteria. AI agents research the domain, design the system, write the code, and verify it in real use. The work does not end at the first successful path: failure, version changes, and unusual input still need a predictable outcome. Rust makes critical state and recovery explicit where it matters.

I define the objective, constraints, and acceptance criteria. AI agents research, design, write, and verify the system; Rust keeps critical state and recovery explicit through failure and change.

AI GATEWAY / WHEN CONDITIONS CHANGE

The route changes. The model and conversation stay.

The application requests a specific model. The gateway changes account, network path, or version only after proving the candidate is eligible. If no route remains, it returns an explicit failure—without substituting the model or losing context.

01

One request enters

The application uses the OpenAI or Anthropic format. The gateway translates messages, tools, and streaming events into the selected provider's protocol.

02

Quota or the network path disappears

The gateway selects another eligible account and network path for the same model when one exists. If none remain, it returns an explicit no-route failure without changing the requested model or discarding the conversation context.

03

The version changes without cutting streams

A candidate first completes a real model response. Only then does it receive new traffic; open SSE and WebSocket streams finish on the previous version.

TWO MORE SYSTEMS

One revision. Sending only after approval.

Hermes keeps text, visuals, approval, and schedule together through publication. The Telegram MCP separates AI access to context from the authority to send.

01

AI runs a Telegram channel end to end

IN DEVELOPMENT

The system studies channel history and expert materials, plans topics, prepares text and visuals, binds approval to one publication package, publishes to Telegram, and records the response for the next cycle.

CONTENT SYSTEM / ONE REVISION

One revision binds copy, visual, approval, schedule, and publication; response data at 24/48 hours stays separate from live counters for the next plan.

  1. 01Channel history + source material
  2. 02Copy + visual on one revision
  3. 03Approval + schedule
  4. 04Publication + 24/48h response data
CategoryAI automationToolsRUST / TOKIO / GRAMMERS / AXUM / NIX
02

Telegram MCP server in Rust

IN DEVELOPMENT

AI finds an exact dialog and message, reads nearby context, and downloads an attachment into a managed workspace. Text replies pass through a separate private approval button.

TELEGRAM MCP / ACCESS DOES NOT GRANT SEND AUTHORITY

AI can assemble the exact context, but send authority stays with the person; approval and the send result persist across restarts.

  1. 01Exact thread
  2. 02Nearby context + attachment
  3. 03Personal approval
  4. 04Send + durable result
CategoryAI automationToolsRUST / TOKIO / MCP / MTPROTO
PUBLIC INDEX

Other projects and repositories

01

Telegram Desktop tdata converter in Rust

Private data
02

Rust MCP server for D2 diagrams

AI automation
03

Persistent memory for AI coding agents

AI automation
04

Website, bot, and booking for a specialist

Public product
05

Rust workstation power controller

Model infrastructure
06

Gemini key rotation and routing

ARCHIVED
AI service
Contacts

Discuss a system

If you want to examine a project or codebase, continue an existing system, or test an architectural choice, write through the channel you prefer. Public source is linked from the relevant project.

Send a message

Name the project or describe the system and the question you want to discuss.