Three native languages and one working conviction: a diagnosis you cannot run is still a guess.
Softbrain builds e-Sales Manager, a CRM/SFA platform. Like most companies that have shipped something people depend on, its engineering capacity is consumed by keeping that thing alive — the backlog is maintenance, and maintenance is triage.
I spent my first month on that rotation. Then I moved to the AI team and built the thing that attacks the rotation itself. I am the sole designer and implementer; a second engineer handles log emission and deployment.
Application logs, maintenance tickets, and New Relic and CloudWatch alerts. No human starts it.
Source code, correlated logs, network state, environment and dependency detail — it decides what it needs to look at.
Not the symptom the alert named. The thing underneath it.
A concrete change, not a suggestion to investigate further.
If the fix resolves the failure, the diagnosis was right. If it doesn't, the triage says so before a human spends an hour on it.
Nothing is auto-applied. The sandbox run exists to raise the confidence of the triage a person finally reads — not to close the ticket on its own. An agent that ships unreviewed fixes into a production CRM is a different and much worse product.
It runs against our internal product environment today. Development continues through 2026, toward a team expansion to take it product-ready. Built with Claude and Codex, across AWS and GCP.
Not "business level." I grew up and went to school in Korea, took my degrees in Japanese at Ritsumeikan, and work in English daily. All three are the language I think in, depending on the room.
Before engineering, this was the job. From 2016 to 2024 I worked as a simultaneous and consecutive interpreter — Korean cultural institutions in Japan, industry conventions, game-industry events. Live, in front of an audience, no second draft. You learn a specific discipline there: stay exact while you are under time pressure, and never let the pressure reach your voice.
That turns out to be the same discipline a production incident call asks for, which is not something I expected when I was doing it.
A personal knowledge and operations web application — roughly 11,800 lines of Python and JavaScript, zero runtime dependencies, no external requests. It builds to a single self-contained index.html that still opens from file:// if nothing is serving it.
Free-text captures land in a shared inbox and are turned into typed CSV rows by purpose-built Claude Code skills; the site renders those rows as fifteen independent slices. The interesting constraint is that the contract is the data layer, not the prompt — a skill can be rewritten entirely and the pages still render, because what they agree on is the shape of a row. The test suite fails the build when the documentation and the actual file tree disagree in either direction.