Skip to content

Software Developer · Automation & AI Agents · Hamburg · dimitripisarev.com

Automate work.Build AI agents.Write software.

Automation, AI agents, web applications, and backends: designed, built, and shipped by Dimitri Pisarev. Independent software developer in Hamburg, working with clients across Germany.

A real request200 OK

GET /api/v1/now

HTTP/2 200 OK

{
  status: "ok",  focus: "a queue-based automation runner",  version: "v1.9.0",  region: "local"}

On load, this page queries its own endpoint.

/build

What I build

  • 01

    Automation & AI Agents

    Workflow automation, integrations, tool-grounded AI agents, background jobs, and data pipelines: systems that quietly remove repetitive work and report to Telegram.

    Node.js · Webhooks · Queues · APIs

  • 02

    Web Applications & Custom Software

    Modern web products, dashboards, internal tools, customer-facing platforms, and SaaS: built to be fast and stay maintainable.

    Laravel · Livewire · React · Next.js

  • 03

    Backends & APIs

    Backend services, APIs, auth, databases, storage: the reusable building blocks products are assembled from.

    Postgres · Redis · Object Storage · Edge

  • 04

    Telegram Bots & Mini Apps

    From notification bots to full shops with payments: right inside Telegram, no app store, no install friction.

    Bot API · Mini Apps · Payments · Webhooks

  • 05

    Networks & CDN

    Site-to-site VPN with WireGuard, CDN architecture, and caching layers: infrastructure that keeps products fast and reachable.

    WireGuard · Cloudflare · Docker · Edge

Röstwerk Shop — loading…
/work

Selected work

Röstwerk AI Support Agent

In production

A customer-support agent that shows its work: every answer grounded in tool results (order status, stock, policies), every step visible as a live trace, every run costed to the micro-dollar. Live on this site, also exposed as a public MCP server.

TypeScript · gpt-5-nano · Responses API · MCP · Zod

/work/ai-support-agent

Schwärzwerk

In production

German DSGVO redaction that survives German text: a 14-group regex layer over official ID formats decides on overlap, a fine-tuned GLiNER2 model catches free-form names and addresses. 17 PII types, trained on 50,000+ synthetic examples, measured at F1 0.916, in production at firms.

Python · GLiNER2 · PyTorch · Regex-Hybrid

/work/schwaerzwerk

searxng-mcp-server

In production

A self-hosted SearXNG instance as the search backend for AI coding clients: web, image, news, video and music search, plus page fetch as clean Markdown. No API keys, no third-party tracking. SSRF and DNS-rebind guards are re-checked on every redirect hop, and fetched pages arrive wrapped against prompt injection.

TypeScript · MCP · SearXNG · Node.js

/work/searxng-mcp-server · GitHub ↗ · npm ↗

prindeck

In production

A Linux control panel for the Brother MFC-L2710DW, the client the vendor ships only for Windows and macOS: SNMP status and toner, eSCL scanning, CUPS printing in one native window. Open protocols only, no vendor drivers, three evenings from spike to v0.1.0.

Rust · Tauri 2 · eSCL · SNMP

/work/prindeck · GitHub ↗

Automation Runner

Prototype

Recurring client workflows needed a reliable, observable runner: without the weight of a full orchestration platform.

TypeScript · BullMQ · Postgres · Redis

Link follows

Webhook Relay

In design

Inbound webhooks need intake, retries, and routing before they ever touch product code.

Node.js · Hono · Postgres

Link follows

TG Shop Engine

Prototype

A coffee roastery (demo client “Röstwerk”) wants to sell where its customers already are: a Telegram shop: catalog in chat, Mini App storefront, Stars payments with one-tap refunds, a monthly coffee subscription, live order status, and inline sharing.

Bot API · Mini Apps · Stars Payments · grammY

https://t.me/roestwerk_bot

Outreach Engine

In production

TypeScript · Node.js 26 · SQLite/FTS5 · SMTP/IMAP · Embeddings

/work/outreach-engine

A self-contained outreach pipeline: a public open-data feed of 20,000+ records lands in local SQLite, passes a two-stage ranking (BM25 retrieval, then an embedding rerank against a target profile), and is worked through personalized, jittered delivery while an IMAP reader auto-files replies into four intents. Zero runtime dependencies: SMTP, IMAP, ZIP, DOCX and XLSX are hand-rolled.

The demo entries are placeholders; the other projects run in production.

/agent

An agent at work

Ask the shop's support agent a question. The right panel shows everything the model actually does: intent, tool calls, latency, token cost. Grounded answers instead of invented ones.

Röstwerk Support Agent — loading…
/now

Now

  • BuildingA queue-based automation runner with first-class observability
  • ExploringPostgres as a queue: SKIP LOCKED, logical replication, partitioning
  • ReadingDesigning Data-Intensive Applications: again, slower
  • Writing43
  • Openfor new projects
publishing rhythm · 12 weeks43 posts
← 12Wheute →
Building

A queue-based automation runner with first-class observability

Exploring

Postgres as a queue: SKIP LOCKED, logical replication, partitioning

Reading

Designing Data-Intensive Applications: again, slower

/contact

Have somethingworth building?

Automation, an AI agent, a web app, or a backend: if it should exist and work, let's talk. Direct, technical, no pitch decks.

Get in touch
Kanäleerreichbar

Hamburg · usually replies within 24h