Backend engineer building reliable systems where state, failure, and recovery matter.
I work mainly with Java/Kotlin, Spring, TypeScript, Python, Redis, RabbitMQ, and AWS. My interests are distributed-workload design, concurrency contracts, resilient browser automation, and turning production constraints into small, verifiable APIs.
- Resource reputation and recovery โ reputation-pool is a dependency-free Java engine for leasing resources that can fail, cool down, and recover. reputation-pool-cloud is its hosted open-core counterpart.
- Asynchronous workload pipelines โ I design boundaries around queues, session ownership, idempotency, backpressure, and failure recovery for long-running external work.
- Backend systems that can be explained โ I prefer explicit state transitions, measurable invariants, and tests that challenge the contract rather than merely exercise the happy path.
I am a Backend Engineer at Lemong, an AI company building services for the F&B industry.
- ๋๊ธ๋ชฝ helps independent store owners bring delivery-platform reviews into one place, generate AI response drafts, detect dissatisfied customers, and schedule tailored replies.
- ๋๊ธ๋ชฝ Biz gives franchise headquarters and stores shared AI review operations, cross-store review/order/sales insights, and marketing-reply workflows for customer retention.
I work across the backend APIs, browser-automation workers, and asynchronous job pipelines that make those customer-facing workflows reliable at scale.
I am a member and contributor of Kotest, the Kotlin testing framework. My work there focuses on public API design, concurrency-safe extension points, and Kotlin Multiplatform correctness.
- Designed and implemented a type-safe, hierarchical test metadata API โ #5905 for #5103. The design separates registration-time mutation from immutable execution-time snapshots.
- Replaced a global custom equality registry with a comparison-scoped DSL, avoiding nondeterminism under parallel test execution โ #6010 for #5910.
- Preserved Kotlin assertion type safety while fixing a Kotlin/Native IR linker failure โ #5789, #5828.
Other merged Kotest work covers JSON matcher extensibility, JSON Schema anyOf / oneOf, assertion diagnostics, and fluent assertion consistency: #5756, #5795, #5807, #5835.
I also contribute across the JVM ecosystem:
- Lettuce #3762 โ removed a blocking
Mono.block()path from Redis URI masking so reactive threads do not fail during connection setup. - Armeria #6683 and #6713 โ improved built-in configuration and graceful-shutdown documentation.
I keep exploring and contributing around Spring Batch, Spring Cloud, Redis clients, service frameworks, and test infrastructure.
I write design notes about concurrency, resource ownership, queue behavior, and public API boundaries at my engineering blog.


