Yimoon Kang

nimuni · Full-stack Engineer

Work conditions
Sejong, Korea / Remote OK

Summary

I am a full-stack engineer. I started in frontend. I build and operate products alone: screens, servers, apps, and deployment.

Key results

  1. A multi-tenant permission model that blocks privilege escalation

    Core-X smart poultry farm control platform · Go · PostgreSQL · Next.js

    • I split permissions into three axes: organization membership, admin delegation, and contract.
    • When a contract ends, the system removes only the widget feature permissions. Organization admins keep access to their farms.
    • A user cannot give another user a role that is stronger than their own role.
    • The system rejects a request when it cannot make a decision (fail-closed).
    • Tests lock these rules.
  2. Two payment providers connected through direct Windows DLL calls

    Zzalkak AR video album kiosk · Electron · Vue.js

    • The payment providers supplied only a Windows DLL. I called the DLL directly from the Node.js runtime in Electron.
    • I moved the payment flow behind an interface. I added the second provider without changes to the flow code.
    • With the second provider, payment completes on the kiosk screen and the card terminal display. No separate payment window opens.
    • About 10 kiosks in the field operated with this payment flow.
  3. Builds moved off the production server

    Better Me clinic solution · Next.js

    • I decreased the build time from about 5 minutes to about 3 minutes.
    • I moved the build off the production server. The build no longer takes resources from the backend during deployment.
    • The manual instance replacement step stayed. Deployment during business hours stayed difficult.

Products in operation

Product details are on Products.

  • imagine-mate

    imagine-mate is a community service for writing clubs.

    Learn more
  • ReCellFileServer

    ReCellFileServer is an app that changes an unused Android device into a file server.

    Learn more

Career summary

Total experience: 8 years 10 months. This total does not include gaps between jobs.

  1. 2025.07 – 2026.07

    Robotware AI

    Senior Researcher

    Core-X smart poultry farm control platform. I led the web control screens, the Go API server, and the React Native app as the main developer. I used AI development tools in separate review loops by role.

    1 project
    • Core-X Smart Poultry Farm Monitoring Platform

      2025.07~2026.07

      Problem

      Organization/farm/house and widget permissions, multi-replica schedulers, and tablet OTA delivery all carried operational risk where a small omission could leak data, duplicate work, or break a release.

      Role

      Led application implementation and the delivery pipeline across three repositories: the Next.js web console, the Go API server, and the React Native/Kotlin tablet and mobile app. Claude Code and Codex were used to speed up implementation while design, verification, and operational judgement stayed with me.

      Approach

      • Designed a multi-tenant RBAC model that separates access scope from capability, blocks granting roles beyond one's own permissions, and denies by default when a decision cannot be made (fail-closed).
      • Controlled duplicated scheduler execution across multi-replica Kubernetes with Redis distributed locks.
      • Added SHA256 verification on both server and app sides of the OTA update path to block tampered APKs and partial downloads.
      • Derived lifecycle state from existing columns and a JSONB key instead of adding a status column, and chose JWT permission snapshots with a re-login policy instead of token invalidation infrastructure.

      Results

      • The service did not reach production; work stopped at initial data entry on the CEO's farm.
      • Next.js
      • React
      • TypeScript
      • Go(chi)
      • PostgreSQL
      • Redis
      • React Native
      • Kotlin (native modules)
      • Kubernetes
      • Docker
      • GitHub Actions
      • Playwright
      • Detox
      • Claude Code
      • Codex
  2. 2024.08 – 2025.07

    DHN

    Researcher · Frontend Lead

    Better Me clinic solution. I maintained and improved the frontend of the clinic system and the clinic websites. I was responsible for i18n, build optimization, and SEO.

    1 project
    • Better Me Maintenance and Development

      2024.08~2025.07

      Overview

      • Maintained and extended a dermatology business system and homepage

      Results

      • Led frontend development for a Next.js business system
      • Implemented multi-language support, build optimization, admin readability improvements, SEO microdata, and design-token cleanup
      • HTML5
      • JavaScript
      • React
      • Next.js
      • MUI
      • Styled-Component
      • React Hook Form
      • React query
      • Zustand
      • i18next
      • react-quill
      • swiper
      • scss
      • CSS3
  3. 2023.07 – 2024.02

    Korea Positioning Technology

    Researcher

    Zzalkak Online. With one designer, I did the planning, development, payment integration, and deployment.

    1 project
    • Zzalkak Online System

      Overview

      • Built a web application connected to the Zzalkak program

      Results

      • Implemented photo/video upload and editing flows
      • Integrated payment, address search, social login, SEO, and deployment
      • Improved encoding speed by replacing ffmpeg-wasm with server-side conversion
      • Built the commerce back office: 13 admin areas (products, categories, orders, payments, coupons, members, support, notices, terms, statistics) and 17 service modules split into interfaces and implementations
      • Recomputed order totals on the server from product data instead of trusting the client value (5,000 KRW shipping, free above 50,000 KRW) and rejected mismatches
      • Completed payments through a conditional update on a "pending" status so the same payment cannot be completed twice
      • Called the external Zzalkak core API on payment success to create cards (system-to-system integration), issued 8-digit pickup numbers, and tracked delivery status
      • Scoped to a single seller: no inventory, partial refunds, reconciliation, or seller settlement, and cancellation is full-amount only
      • Mongoose
      • AWS Route53
      • HTML5
      • JavaScript
      • React
      • Next.js
      • MongoDB
      • TailwindCSS
      • Nginx
      • AWS EC2
      • AWS S3
  4. 2021.03 – 2023.06

    KAIST

    Researcher

    I maintained the KAILOS positioning system. I planned an NFT trading platform PoC and was its PM. I continued to lead the Zzalkak kiosk part.

    3 projects
    • KAILOS Indoor/Outdoor Positioning System

      2021.12~2024.02

      Overview

      • Maintained, extended, and deployed the KAILOS-based KAISTMAP service

      Results

      • Built visualization pages for demos
      • Developed REST APIs for hardware tag communication
      • HTML5
      • CSS3
      • JavaScript
      • Node.js/Express
      • MongoDB
      • Google Maps
      • Mapbox
    • SejongN Indoor Positioning Integration

      Overview

      • Deployed KAILOS-based PreSPI integration inside the SejongN system

      Role

      • Implemented PreSPI integration features
      • Deployed KAILOS to an on-premise city information center environment
    • NFT Marketplace Planning and Development

      2022.06~2023.08

      Overview

      • Planned and built an Ethereum-based NFT marketplace MVP

      Stack

      • HTML, CSS, JavaScript, Web3.js, MetaMask API, Solidity
      • Later expanded with TypeScript, Next.js, React, Mongoose, and Web3.js
      • HTML5
      • CSS3
      • TypeScript
      • JavaScript
      • Node.js/Express
      • Next.js
      • React
      • Mongoose
      • MetaMask
      • Web3.js
  5. 2019.08 – 2021.02

    VISoft

    Researcher

    Zzalkak AR video album. I took it from MVP to commercial service. I led the Windows kiosk part.

    1 project
    • Zzalkak Windows Kiosk Program

      2019.08~2021.12

      Overview

      • Built MVP, prototype, and commercial versions of an AR video-album kiosk service

      Results

      • Designed project structure and components
      • Integrated card-payment terminals
      • Reduced camera and rendering bottlenecks with Web Workers
      • Built operational tools for kiosk events and logs
      • Kotlin (native modules)
      • HTML5
      • CSS3
      • JavaScript
      • Vue.js
      • Electron
      • three.js
  6. 2019.03 – 2019.07

    Miraegisul

    Researcher

    e-Audit system for the Agency for Defense Development. I tailored an audit solution to the agency's work.

    1 project
    • e-Audit System Solution

      2019.03~2019.07

      Overview

      • Tailored a company audit-system solution for integrity and civil-service workflows

      Role

      • Built screens, table structures, DB schema, and feature extensions
      • JavaScript
      • jQuery
      • AJAX
      • eGovFrame
      • Oracle 11g DB
      • extjs3
      • extjs4
  7. 2016.03 – 2017.11

    Wavus

    Researcher

    Public-sector SI on the eGovernment Framework. I designed, developed, and tested an e-procurement system and a land compensation system.

    3 projects
    • e-Procurement System Phase 2 (SI)

      2016.03~2016.05

      Overview

      • Performed unit and integration tests for proposal and RFP modules
      • Fixed defects found during testing

      Results

      • Added unit test cases
      • Managed bug lists and applied fixes
      • HTML5
      • CSS3
      • JavaScript
      • jQuery
      • AJAX
      • Java/JSP
      • eGovFrame
      • Oracle 11g DB
    • e-Procurement System Phase 3 (SI)

      2016.06~2017.03

      Overview

      • Extended an existing e-Procurement system and built statistical features

      Results

      • Developed the business-management support module
      • Added status-based work indicators and recommendation displays
      • Linked National Law Information Center pages
      • Built dashboard charts from statistical queries
      • HTML5
      • CSS3
      • JavaScript
      • jQuery
      • AJAX
      • Java/JSP
      • eGovFrame
      • Oracle 11g DB
    • KR Land Compensation System (SI)

      2017.07~2017.11

      Overview

      • Converted SAP-based land compensation work into an eGovFrame-based system

      Role

      • Participated in business analysis and system design

VISoft, KAIST, and Korea Positioning Technology are the same product team. Only the legal entity changed. This career continued for 4 years 7 months, from 2019.08 to 2024.02.

Skills

Main
  • Next.js
  • React
  • TypeScript
  • Electron
Language
  • JavaScript
Framework
  • eGovFrame
  • Bootstrap
  • Shadcn/ui
  • Vuetify
  • TailwindCSS
SCM
  • SVN
  • Git
  • Github
ETC
  • HTML5
  • CSS3
  • AWS EC2
  • AWS S3
  • Prisma
  • Zod
  • React Hook Form
  • Recharts
  • Chart.js
  • Resend
DB
  • MySQL
  • MariaDB
AI / Orchestration
  • AI Orchestration
  • Policy-driven Development
Work experience
  • Go(chi)
  • PostgreSQL
  • Redis
  • React Native
  • Kotlin (native modules)
  • Docker
  • GitHub Actions
  • AWS
  • Nginx
Used
  • Kubernetes
  • Firebase(FCM)
Past experience
  • Vue.js
  • Node.js/Express
  • MongoDB
  • Java/JSP
  • Oracle
  • Solidity/web3
  • three.js
  • ffmpeg
Testing
  • Playwright
  • Vitest
  • Go testing
AI tools
  • Claude Code
  • Codex

Personal work

  • PDF Editor

    2026.01 – 2026.02

    A desktop PDF editor. It edits documents locally and does not upload them to a web service. I implemented text editing with MuPDF. It supports image handling, search and replace, and page split and merge.

    • Vite
    • pdf-lib
    • pdfjs-dist
    • MuPDF
    • Zustand
    • Vitest
    • React
    • TypeScript
    • Electron
    • Playwright
  • Sleep in the Forest

    2023.04

    A Chrome extension that helps with forest lodge reservations. It measures the server time and the request arrival time. It acts at the moment the reservation opens. I built it in 5 days. It made a real reservation.

    • Chrome Extension
    • HTML5
    • CSS3
    • JavaScript
    • Bootstrap
  • nimuni website

    2025.10 –

    It started in October 2025 as a project introduction site and a portfolio site. In October 2026, I merged the two sites into this site. A redirect-only server sends old portfolio addresses to the new addresses. An automated check blocks missing address mappings. I moved my career data with an import script that prints the planned changes first. I self-host it on a Raspberry Pi 5.

    • Next-intl
    • Motion
    • PM2
    • Next.js
    • TypeScript
    • TailwindCSS
    • Prisma
    • PostgreSQL
    • Nginx
    Open

Contact

Hiring
Personal email kym9788 [at] gmail [dot] comReplace [at] with @ and [dot] with a period.
Resume file request
On Contact, select "Hiring · resume request". I check the request and send the file myself.
Product and service inquiries
Contact