Clarify the problem
Turn ambiguity into boundaries, contracts, examples, and failure modes.
Staff Software Engineer · Payments, risk, and compliance
I work where product rules, vendor integrations, event flows, and operational risk meet. Recently that has meant compliance services, risk orchestration, API contracts, internal tools, and migrations that leave teams with clearer ownership.

Yonatan Karp-Rudin
Staff Software Engineer, Payments Builder · explainer · team multiplierTurn ambiguity into boundaries, contracts, examples, and failure modes.
Ship the integration, migration plan, internal tool, or reference implementation.
Leave specs, monitors, templates, and upstream fixes that outlive the handoff.
Proof
Compliance platform
Risk architecture
Engineering leverage

How I work
The hard part of backend engineering is often not choosing a framework. It is finding the real boundary: which team owns the rule, which event is authoritative, what happens when a vendor disagrees, and how the next engineer will debug the failure at 2 a.m.
That is where I tend to be useful. I ask until the domain is crisp enough to model, then turn it into production code, API contracts, migration plans, dashboards, runbooks, or diagrams that survive the handoff.
I care about strong implementation, but the higher leverage is making the system easier for the whole team to operate, extend, and argue about with evidence.
Track record
Owns payments/compliance platform reliability across service boundaries, vendor integrations, migration work, and operational tooling.
Led Staff-level risk platform work around orchestration, fraud integrations, tokenization, and event-driven architecture.
Selected work
Self-hosted tool
Self-hosted TTRPG session recorder that turns live table audio into searchable campaign memory. The Python/FastAPI backend handles transcription, speaker diarization, and summary generation; the Svelte 5 frontend keeps review and session lookup usable at the table.
Open source library
Kotlin Multiplatform feature flags library built after an upstream ff4j Jakarta migration stalled before release. It focuses on typed DSL configuration, JDBC/R2DBC/SQLite storage options, and coroutine-safe context propagation so feature decisions can stay explicit across backend boundaries.
Upstream contribution
Added Spring Boot 4 and Jackson 3 support for the Kotlin Spring generator, then followed through on template regressions that surfaced around Retrofit, Jackson converters, and hashmap model generation. The work spans 10 upstream PRs across generator behavior, test fixtures, and compatibility paths.
Technical writing / docs
Software design patterns implemented in idiomatic Kotlin. Actively maintained with MkDocs documentation site.
Writing
Jun 11, 2026
How I gave my AI coding agent a real long-term memory using Claude Code hooks: a self-compiling wiki it writes to itself, with capture, ingest, and recall wired into the session lifecycle.
Read articleJun 26, 2024
A step-by-step walkthrough of reconstructing the massive XKCD #1110 Click and Drag comic from its individual tile images using Kotlin.
Read articleJun 5, 2024
A practical guide to identifying and fixing common RedisTemplate misconfiguration pitfalls in Spring Boot, with a focus on serialization issues.
Read articleRecommendations

I’d love to work with Yonatan again. He’s incredibly smart, cares deeply about quality but balances this with delivery speed, and (maybe most importantly) a great human to be teammates with.

I was privileged to have Yonatan on my team for almost 3 years. Yonatan is a dedicated, intelligent, and hard-working team player who played a key role in our team and was the go-to person for almost any problem. I have seen few people who could match his skills at solving technical problems, coding and design.

Yonatan is a highly talented and disciplined software developer, with an excellent background in both computer science and programming. He is a people-person, with remarkable empathy and ability to recognize when and where students and developers need help and further guidelines. He is also a very pleasant and good-spirited colleague.
Contact
I am most useful in Staff+ backend roles where the job is to ship the system and leave the team better at owning it.
I am useful when the team needs clarity as much as code.