purrminal/
An open-source, Tamagotchi-style terminal pet — published to npm, built solo with AI leverage. Data-driven JSON for themes / evolution / i18n, hardened against corrupted state, non-TTY, and time-jump edge cases.
nova-lab ❯ whoami
AI-native Product Engineer. I run a production CRM for a US company end-to-end — payments, reporting, leaderboards — on Kotlin + Spring + AWS, where real money flows through the payment path and decisions are made on the dashboards. I turn a non-technical stakeholder’s fuzzy ask into a scoped spec with the edge cases designed in, then ship it on architecture that stays correct and stays up.
nova-lab ❯ cat about.md
Most engineering time is lost in the gap between what a stakeholder says they want and what a system actually needs to do. That gap is where I work. A non-technical stakeholder hands me a fuzzy ask — “set me up so I can contribute to the backend and query the data,” or “we want a TV leaderboard.” I turn it into a scoped spec: explicit goals and non-goals, the constraints that surface mid-conversation, and the edge cases that decide whether it survives contact with real data — refund-then-rebill records that silently skew dashboard counts, ISO-week boundaries and timezones, null-team rows, least-privilege DB access so the safe path is also the easy one.
Then I ship it. I work AI-native — code and ship with AI — but the speed only counts because I built the guardrails that keep AI-generated code honest: ArchUnit checks that fail the build on a bad layer dependency, a spec→review loop on every PR, integration tests against a real database, health-checked GitHub Actions deploys, and backends exposed as MCP tools so agents can call them too. So the numbers a stakeholder makes decisions on stay correct, and the server stays up. Backend-first, but I own the whole line: Kotlin/Java + Spring backend, AWS infra, and an AI-assisted React frontend that ships working UI. Spec to production, solo.
nova-lab ❯ ls ~/projects
crm/ purrminal/ mentor/ # one of these hatches into a cat
A production CRM at a US company, owned end-to-end from Seoul. I take ambiguous stakeholder asks, scope them into specs with edge cases designed in, and ship payment, leaderboard, and reporting features solo — on an ArchUnit-enforced clean architecture, with integration tests on a real database and health-checked deploys, so the numbers stay correct and the server stays up.
An open-source, Tamagotchi-style terminal pet — published to npm, built solo with AI leverage. Data-driven JSON for themes / evolution / i18n, hardened against corrupted state, non-TTY, and time-jump edge cases.
Backend mentor at a developer bootcamp in Korea — I code-review and grade student Spring / Kotlin sprint missions, and built tooling that automates PR retrieval, retrospective verification, and grading.
nova-lab ❯ cat stack.txt
backend → Kotlin (primary) · Java · Spring Boot · Postgres · JPA + Flyway infra → AWS · Docker · Nginx · health-checked rolling deploys · Prometheus + Grafana ci/cd → GitHub Actions · test + ArchUnit gates · Docker build · versioned health-checked deploys frontend → React 18 · TypeScript · Vite · Tailwind · TanStack Query (AI-assisted — ships working UI) ai → AI-accelerated dev inside guardrails (ArchUnit, review loop) · lightly exploring Spring AI quality → ArchUnit · MockK + JUnit5 · Testcontainers · spec → impl → review
nova-lab ❯ contact --role 'Founding / Product Engineer'
open to US Founding / Product Engineer roles. Remote from Seoul (UTC+9), already shipping production for a US company — async/remote is solved, not theoretical. Let’s talk.
nova.kim@nova-lab.io