RSSAmplifier

Blog

Vitalii Elenhaupt

Software engineer. Building scalable systems and efficient infrastructure.

veelenga.github.ioRSS feed ↗10 posts

Latest posts

Autonomous agents that sleep

The obvious way to build an autonomous agent is a loop that runs until the work is done. It demos beautifully and falls apart the moment the agent has to wait. The fix is to turn the loop inside-out, and what's left looks a lot more like sleep.

Crystal to Lua bridge

A visual walkthrough of how Crystal and Lua work together — and the surprisingly small data structure that quietly makes it all possible.

One Bedrock knowledge base, many vendors

A knowledge base per vendor is expensive. One shared pile leaks. Metadata-tagged documents with a query-time filter sit in the middle, and that's the pattern that actually scales.

Slack meets Bedrock: analytics, monitoring, and production

Deploying an AI bot is the easy part. Knowing whether it's helping anyone, catching failures before users report them, and keeping costs under control is where the real engineering happens.

Slack meets Bedrock: knowledge bases, tools, and action groups

A chatbot that only answers general questions is a worse Google. This post covers how to give a Bedrock Agent domain-specific intelligence through knowledge bases, Lambda-backed action groups, and a code interpreter.

Slack meets Bedrock: building the gateway

AWS Bedrock Agents speak HTTP. Slack speaks WebSocket. This post covers how to build the gateway that bridges them: Socket Mode, session management, concurrency control, and message formatting.

How the agent loop and cron work together inside Autobot

Building an AI agent that runs autonomously on a schedule requires more than just calling an LLM. This post explores how autobot, a Crystal-based AI agent framework, wires together a ReAct-style tool loop, a fiber-based cron scheduler, and a message bus into a system that fits in 2MB.

Preview skills: visualizations for AI-assisted development

Reviewing raw JSON, CSV, or Mermaid diagrams in the terminal is a cognitive burden. Preview skills solve this by rendering visual previews directly in the browser — no servers, no dependencies.

Code quality skill for AI-assisted development

How a code-quality skill transforms AI-generated code from functional to maintainable by enforcing SOLID principles, eliminating magic numbers, and keeping changes focused on the task at hand.

Generative Zwift Workouts

UX patterns for building an AI workout generator for Zwift, combining generative AI with direct manipulation and multi-layer validation.