$ ./katsuba --serve

Igor Katsuba — small tools, shipped by one person.

capabilities:[ shipping , building , writing ]transports:[ github · telegram · email ]status:200 OK — up and serving traffic
// manifest

I make small, sharp tools for developers — apps, CLIs and micro-SaaS — and sell the ones worth paying for. Most of them are for the way we work now: with a few coding agents running beside us.

GET/about200 OK · text/plain

I'm a developer working out of Valencia, and I'm becoming an independent one: building my own products instead of someone else's. Small native apps, micro-SaaS, tools for developers — mostly for working alongside coding agents, because that is how I work all day.

Behind that are twelve years of building for other engineers: frontend platforms, release paths, production reliability, AI agent infrastructure. I still do it as a day job, and it is where the products come from — I build the tools I keep wishing I had. The résumé has the specifics.

The framing on this page isn't a gimmick. It's genuinely how I think about building: define a capability once, expose it through whatever transport the caller speaks — HTTP, MCP, a CLI. Same idea applies to a person. This is me, exposed over the transports below.

what this server does3 endpoints
fn shipping()

Small products that do one thing well and are worth paying for: native apps, micro-SaaS, tools that live in a terminal. One person, short loops, real users.

fn building()

Developer tools first — mostly for the way we work now, with coding agents in the loop. I build what I use every day, then open-source the parts other people can use too.

fn writing()

A blog with 20+ articles — lately on building with AI and what it changes about the job. Explaining things is how I understand them, and it turns out other people find it useful too.

GET/products4 items · application/json
GET/experience5 roles · résumé
ManifestLabsPlatform Team
2025 —

Legal-tech SaaS. The platform, the release path, the incident root cause, and the company's internal AI agent platform.

  • Root-caused a full production outage — a migration's ALTER TABLE stuck behind an orphaned transaction, poisoning the Postgres lock queue until the connection pool went with it — then fixed the class with bounded timeouts at the migration-session layer.
  • Traced a three-day, traffic-independent database CPU climb to one long-open transaction pinning the xmin horizon, and named the single metric that catches it in an hour rather than three days.
  • Built the internal AI agent platform end to end as sole author: Slack and web surfaces, per-user MCP OAuth, sandboxed multi-agent execution, and a durable event log that fixed chat resume losing turns.
Plata CardPrincipal Engineer · Frontend Platform Lead
2022–2025

Consumer fintech. Led the frontend platform team and built the foundation every frontend product shipped on, from the internal CRM to the public site.

  • Led the platform team and owned the shared foundation — architecture, build and release tooling, the component and design-system layer — across every frontend surface the company had.
  • Hired into the team and ran interviews end to end.
  • Started the weekly internal talks, so design decisions got argued in the open instead of in direct messages.
TinkoffStaff Engineer · Frontend Platform
2020–2022

Built the company's frontend platform. Parts were released as open source, which is the visible tenth of it.

  • Built platform systems rather than product features: an in-house error-monitoring service and its browser client, analytics systems, a micro-frontend framework, and the shared build tooling underneath.
  • Led Angular hiring — owned the interview track and kept the bar consistent across a pool of twenty interviewers.
  • Started the weekly talks and knowledge-sharing meeting, which outlived my tenure.
Fix GroupSenior Frontend Developer
2018–2020

Product frontend, and the first tooling I owned rather than used.

RTLabsFrontend Developer
2014–2018

Where I started — large government-scale web applications.

GET /resume →
POST/contactaccepting connections

This server accepts connections.

If you want to talk infrastructure, agents, or the tooling underneath both — or just argue about durable execution — open a connection.