CASE STUDIES
Problems I solved
in production
A set of real production-environment problems and how I solved them. Each entry is laid out as situation → approach → implementation → result, with the relevant code and configuration included.
Badabom@ Korea Institute of Marine Science & Technology Promotion (KIMST)
Jan 2026 - Present · Freelance · Developer
Operating and extending Badabom, KIMST's integrated marine R&D information system. Work spans SSO integration with partner sites, operational tooling like a live log viewer, and migrating external systems (OTT technology-trade) in — followed by a second-half push on the admin UI itself: a console shell rewrite and replacing the commercial data grid with an in-house component.
AUTH / SSO
Building an SSO Provider for Partner Sites
Implemented an SSO Provider so external partner sites (e.g., OTT) could sign in with Badabom accounts. Single-use UUID tokens stored in the database support multiple WAS nodes, and CI (Connecting Information) auto-maps accounts across both sides.
OUTCOME
External SSO integration · Auto account mapping
External SSO integration · Auto account mapping
READDEVOPS / OBSERVABILITY
SSE + Cross-WAS Real-Time Log Viewer
The WAS lived in the Daejeon IDC, but network-segregation policy meant only Busan-office PCs could reach it — so pulling a log effectively meant flying to Busan. I built an SSE-based viewer inside the admin web and added a cross-WAS relay so logs from both WAS nodes stream into a single screen.
OUTCOME
Removed Busan dependency · Unified multi-node view
Removed Busan dependency · Unified multi-node view
READLEGACY MIGRATION
Migrating the OTT Technology-Trade System into Badabom
Moved an Oracle + MyBatis technology-trade platform (OTT) onto PostgreSQL + iBATIS. Rewrote 87 URLs, 34 JSPs, 80+ SQL queries, and 14 tables.
OUTCOME
87 URLs · 80+ SQL migrated
87 URLs · 80+ SQL migrated
READLEGACY UI / ARCHITECTURE
Wrapping 106 Admin Screens in a Console Shell Without Touching Them
The admin menu had to become a separate-window console, but rewriting ~100 /adm screens was off the table. I converted the existing SiteMesh decorator in place into a child decorator so every current mapping followed automatically, kept the topbar and sidebar resident in a parent shell, and swapped only the iframe body.
OUTCOME
0 screens rewritten · 225 screens swept
0 screens rewritten · 225 screens swept
READFRONTEND / COMPONENT
Replacing a Commercial Data Grid With an In-House Component
Every admin list screen hand-rolled its own render loop and paging math, and the rest were locked to a commercial grid licensed per server. I built an in-house grid that absorbs the existing response contracts as-is, then moved ~80 screens onto it without changing a single line of server code.
OUTCOME
0 server changes · license dependency removed
0 server changes · license dependency removed
READFreelance · Side Projects@ Independent
2025 - Present · Product · Design · Development
Projects I initiated on my own or pitched to clients. I own the full cycle — concept, design, development, and deployment.
CLIENT WORK / WEB
Pitched and Built a Postpartum Care Center Site Renewal
My wife had stayed at a postpartum care center whose website felt dated, so I mocked up a UI sample and pitched it myself. I built an Astro static site with a 192-frame scroll animation, Kakao Map, and SEO — then shipped it to their production domain.
OUTCOME
Live at grandbaie.co.kr
Live at grandbaie.co.kr
READSIDE PROJECT / AI
Family-Driven Baby Naming with AI + Tournament-Style Voting
Existing naming services are designed for solo use, so I built a way for the whole family to join in. GPT-4o suggests names aligned with Saju (birth-chart) and Ohaeng (Five-Element) rules, and the family votes tournament-style to pick the final name.
OUTCOME
Live at ohmybaby.kr
Live at ohmybaby.kr
READGAIS — Government Advertising Integrated Support System@ Korea Press Foundation (KPF)
Aug 2020 - Dec 2025 (5y 4m) · Freelance · PL/AA
Operated the government-advertising integrated support platform as PL/AA. Scope covered CI/CD build-out, session clustering, TLS upgrades, and infra/security/deploy automation.
CI/CD
Automating the Build and Deploy Pipeline
Replaced a fully manual build-and-deploy workflow with a Jenkins + GitLab Webhook pipeline, cutting deploy time from 15–20 min down to around 4 min.
OUTCOME
80% deploy-time reduction
80% deploy-time reduction
READINFRA / SESSION
Redis-Backed Session Clustering
JEUS Standard doesn't support native session clustering, so I put Redis in front as an external session store. That unlocked rolling restarts across WAS nodes.
OUTCOME
Zero-downtime deploys enabled
Zero-downtime deploys enabled
READSECURITY / NETWORK
Applying TLS 1.3 via an Nginx Reverse Proxy
Touching the shared WebtoB SSL felt risky, so I put Nginx in front and terminated TLS there instead. Existing services kept running untouched while TLS 1.3 was rolled out.
OUTCOME
TLS 1.3 live · minimal impact
TLS 1.3 live · minimal impact
READ