Hi, I'm
Junseok Oh
Full-Stack Developer
A full-stack developer who defines problems himself and solves them end to end. From the UI to server contracts, pipeline integration, and infrastructure — full-stack across the back-office admin.
Query speed
750x↑
Metering 1,970ms → 2.6ms (pre-aggregation)
Service scale
10,000
Internal LLM service for 13 Hansol Group affiliates
Re-renders
99.6%↓
Measured with React Profiler under response bursts
Docker image
50%↓
3.63GB → 1.82GB, caught a hidden 1.56GB regression
01 — Career
Experience
Hansol PNS
2025.10 — Present
Full-Stack (solo)
AI Atlas — led the launch of an internal LLM service for 10,000 users across 13 affiliates · FE owner + partial Go Gateway
PTKOREA
2025.06 — 2025.09
Full-Stack Intern
Samsung global-site QA automation — batch validation across 96 countries · initial load 65% faster
Hansol PNS — IT · AI Development Team — Full-Stack (solo)
2025.10 — Present · On-Premise (air-gapped network)
AI Atlas, an internal LLM service (13 affiliates · 10,000 users) — owned the frontend implementation + built part of the Go Gateway (back office · metering)
Scope of ownership — Built the FE directly (chat, Generative UI, back-office dashboard, and more) · Built the BE directly (metering, usage-limit control, preview, and PDF capture APIs) · Understood & integrated designs (Kafka pipeline · permission.go). See the Coverage Map for the full layer-by-layer breakdown.
After the 5-year senior engineer mentoring me left, I drove the entire process — planning, development, testing, and operations — and launched within two months of joining. With no product manager or designer, I visualized the AI domain pipeline (parsing, chunking, embedding) for users and published a Smart Tooltip module to npm.
While owning the frontend implementation, I also developed against the Go-based central API Gateway (gRPC · Kafka · Redis · MinIO) with a full understanding of its design intent.
AI Atlas · Operations & Admin (Back-Office)
Operations · Admin (Back-Office) — 3 features
Domain Description token-usage Token usage metering dashboard by user, org, model, and day/month (recharts) migration System data migration — permission checks · per-resource aggregation settings/system System · User · Org · MCP · ToolSet management AI Atlas · Expand project overview
AI Atlas — Internal LLM Service for 10,000 Users Across 13 Hansol Group Affiliates
The Situation at Joining (Context & Problem)
- Joined 2025.10 — a role owning the entire client of the company's internal LLM service
- Senior engineer left right after I joined — the 5-year senior departed mid-handover; code conventions, domain knowledge, and decision-making all went vacant at once
- No PM, no designer, no QA — no one had ever tried presenting RAG, chunking, or embedding to end users
- Two months to launch to 10,000 users across 13 affiliates — a deadline promised to executives; neither delaying nor shipping something rough was an option
- Air-gapped network · security policies · a 13-affiliate permission matrix — no external SaaS, CDN, or error trackers; solved alongside infrastructure and security
Key Features (by Domain)
Auth · Organization · Permissions — 4 features
Domain Description auth Login · Sign-up · Email verification organization Org/team CRUD · Switcher · Drag-and-drop org chart permissions Resource-based unified permissions (RBAC) api-keys External integration key issuance · revocation Agent Ecosystem — 4 features
Domain Description agents Agent CRUD · Templates · Full-screen prompt editor · MCP/ToolSet/SubAgent connections tools/mcp MCP server catalog · Approval flow tools/toolSets ToolSet registration · Approval status management schedules Automated agent runs (recurring / session mode / run history) Chat · Sessions — 3 features
Domain Description chat ChatGPT-style UI · ChartRenderer · MermaidRenderer · Streaming markdown · Widgets/lightbox sessions Session CRUD · State · Sharing sessionTools Tool-call tracking within sessions Content · Collaboration — 5 features
Domain Description documents PDF · DOCX · XLSX · HWP parsing and management files Upload manager · Cart · Existing-file picker share Sharing 4 resource types (Agent · Session · Document · File) across 4 tiers (user/team/org/system) announcements Announcement authoring · Category filters notifications Real-time notifications · Filters · User preferences Tech Stack
- FE: React 19 · Next.js 15 · TypeScript (strict) · Tailwind v4 · shadcn/ui
- State: Zustand · TanStack Query · WebSocket/STOMP · Jest · Playwright
- BE / Gateway: Go 1.24 · Gin · gRPC · Protobuf · Kafka · Redis · MinIO · MySQL · MongoDB
- Infra: Docker · Kubernetes · CI/CD · Air-gapped deployment
PTKOREA (Samsung Cheil Worldwide subsidiary) — Full-Stack Internship
2025.06 — 2025.09 · QA automation for a global enterprise website
TypeScriptDjangoReactZustandPythonAEMJira- Automated DNT (Do Not Translate) validation — automatic detection of mistranslated brand terms such as 'SAMSUNG/AI', with batch validation across 96 country sites
- Cut initial load time by 65% (3.7s → 1.3s) — reworked data fetching from full-load to per-page requests
- Saved 10+ hours of manual work per month — DNT validation + automated Excel reporting
- Built an Electron-based .exe internal app for an air-gapped environment + maintained AEM components across 96 countries
Education · Certifications
- The Catholic University of Korea, B.S. in Computer Science and Information Engineering (2020.03 — 2026.02) · GPA 4.05 / 4.5
- OPIc IH (2025.08) · Engineer, Information Processing (2025.09) · Computer Specialist in Spreadsheet & Database, Level 2
- International Affairs Team student assistant (2023.03~2025.06) — English-language dormitory support for international students
Clubs · Activities
- COMA (Executive) — University-wide IT development club · 2023.03 ~ 2026.03
- COMATCHING (Team Lead) — IT startup club · 2023.09 ~ 2025.08
- GDG CUK (Organizer) — Google Developer Group · 2024.08 ~ 2025.03
- UMC — External Node.js track club · 2023.08 ~ 2023.12
Awards
- 🥇 2025 Open Source Contribution Academy Excellence Award — Ministerial Prize, Ministry of Science and ICT · Githru
- 🥈 2025 Open Source Developer Contest Winner — Professional Division · Favus (Go CLI · WebSocket)
- 🏅 GGUM University Hackathon Excellence Award — Library seat / empty classroom visualization (React, TS)
- 🏅 University ICPC Excellence Award — Algorithm competition
- 🏅 Graduation Academic Excellence Award — Catholic University of Korea · GPA 4.05 / 4.5
AI Experience
- Designed a Generative UI processing pipeline — converting AI responses into safe UI
- Visualized the RAG, chunking, and embedding process for users
- Designed RBAC permission boundaries — a can() abstraction isolating the FE from unsettled role specs (understood & integrated the BE permission.go design)
- Built a streaming markdown parser from scratch (Progressive Markdown Parser)
- Built a VOC agent — auto-generating Jira tickets from a Generative UI form (driven by guide documents)
- MES data analysis agent — natural language to SQL (Text-to-SQL) with chart visualization
- Automated guidebook production combining playwright-mcp + Confluence MCP — screen captures and document generation with Claude Code
- Usage/cost metering dashboard — translated screen requirements into backend aggregations (Kafka · SCD2 integration; built the FE hooks and ExcelJS export myself)
- Full-stack in-app file preview — built the preview endpoint and separated delivery path myself + three layers of malware blocking
- Automated QA sheet production with agent-browser — an AI workflow from scenario derivation to result compilation
- Refactored to an FSD (Feature-Sliced Design) architecture based on the QA sheets — realigned responsibility boundaries and made dependencies unidirectional
02 — Architecture
From the screen to the pipeline — my exact scope
What I built directly vs. what I understood and integrated with, clearly separated. Select a node to jump to the related deep dive.
CLIENT
React 19 · Next.js 15 · TS strict
API CONTRACTS
REST · server contracts I designed
GO GATEWAY
Go 1.24 · Gin · gRPC · Protobuf
DATA PIPELINE
Kafka → pre-aggregation → SCD-2
STORAGE
Redis · MinIO · MongoDB · MySQL
RUNTIME / INFRA
Docker · K8s · On-Premise
6 filters · pagination · ExcelJS server streaming
Coverage Map — ownership by layer
About
I am a full-stack developer who defines user problems firsthand and solves them end to end — in environments with no product manager or designer.
On AI Atlas, Hansol Group's internal AI (LLM) service serving 10,000 users across 13 affiliates, I owned the frontend and personally designed and implemented the server contracts (RESTful APIs) for the back-office admin (usage and cost metering, billing) — metering query APIs, usage-limit control APIs, file preview endpoints, and server-side PDF capture.
For the Go-based central API Gateway (gRPC · Kafka · Redis · MinIO) that this frontend connects to, I understood the design intent and integrated against it. I design everything from the screen down to the server contract, and I back every decision with numbers.
Tech Stack
- AI / LLM: LLM Streaming · Generative UI Pipeline · RAG Integration · Markdown Parser · MCP
- Frontend: React 19 · Next.js 15 · TypeScript (strict) · Tailwind v4
- State / RT: Zustand · Recoil · TanStack Query · WebSocket / STOMP · EventBus
- Backend: Go 1.24 · Gin · gRPC · Protobuf · Kafka · MinIO · MySQL · MongoDB · Redis
- Infra / Test: Docker Multi-stage · Kubernetes · CI/CD · Jest · TDD · Playwright
Strengths
- Leadership — Served as team lead three times (COMAtching · Favus · in-house CoP)
- Ownership — Led the launch of a 10,000-user service
- Quantified impact — Re-renders 99.6%↓ · Docker image 50%↓ · Failure rate 90%↓
- Continuous contribution — Open source contributions + VSCode extension development
03 — Deep Dives
9 deep dives — every decision, measured
Click a card for the full Situation → Task → Action → Result write-up with measurement data.
04 — Open Source
Open Source & Side Projects
Githru (VSCode Extension) — Contributor
2025.06 ~ · 🏆 2025 Open Source Contribution Academy Excellence Award — Ministerial Prize, Ministry of Science and ICT
TypeScript React Zustand D3.js Tailwind
- Rendering performance PR (#812) for the TemporalFilter component — optimized line-chart data processing, improving rendering performance by 18.9% and reducing variance by 93%
- Eliminated unnecessary recomputation in D3.js chart components, improving performance on large commit datasets
Favus — S3 Multipart Upload Tool (Team Lead)
2025.06 — 2025.09 · 🏆 2025 Open Source Developer Contest Winner — Professional Division
Go CLI React Next.js Python WebSocket AWS S3
- Go-based parallel chunking + state persistence mechanism — automatic resume after network interruptions, cutting large-file transfer failure rates by 90%
- Three-tier WebSocket monitoring (CLI → Python Server → React UI) — real-time visualization of upload progress and per-part status
COMAtching v3 ~ v4 (Team Lead) — Full-Stack Side Project
2023.06 — 2025.05 · Launched commercially · 2,000 cumulative users · ₩8M revenue
React Recoil SockJS/STOMP Node.js MySQL Docker/Jenkins
- Team lead — owned planning, development, and operations end to end (frontend-led); designed the MySQL schema, joins, and indexes myself (user–match join for match lookups + status index) and implemented part of the backend matching logic
- Built duplicate-payment protection with the Toss Payments SDK + an Idempotency-Key-based payment idempotency system
- Built the Docker · Jenkins CI/CD pipeline from scratch — automated builds and deployments
Bucheon FC | AI Fan-Matching — Corporate Collaboration Project
2024.09 — 2024.10 · Deployed live at the Bucheon FC stadium · 700 participants
React Recoil jsQR Chart.js
- Screen planning and sole frontend development — designed the full user flow from QR entry verification → personality analysis → matching
- AI-based personality analysis — visualized six supporter types with Chart.js radar charts