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.

OSSCA 2025 Excellence Award (Ministerial Prize)Open Source Developer Contest WinnerEngineer, Information ProcessingOPIc IH

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

01Career

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

  1. 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

    DomainDescription
    token-usageToken usage metering dashboard by user, org, model, and day/month (recharts)
    migrationSystem data migration — permission checks · per-resource aggregation
    settings/systemSystem · 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

    DomainDescription
    authLogin · Sign-up · Email verification
    organizationOrg/team CRUD · Switcher · Drag-and-drop org chart
    permissionsResource-based unified permissions (RBAC)
    api-keysExternal integration key issuance · revocation

    Agent Ecosystem — 4 features

    DomainDescription
    agentsAgent CRUD · Templates · Full-screen prompt editor · MCP/ToolSet/SubAgent connections
    tools/mcpMCP server catalog · Approval flow
    tools/toolSetsToolSet registration · Approval status management
    schedulesAutomated agent runs (recurring / session mode / run history)

    Chat · Sessions — 3 features

    DomainDescription
    chatChatGPT-style UI · ChartRenderer · MermaidRenderer · Streaming markdown · Widgets/lightbox
    sessionsSession CRUD · State · Sharing
    sessionToolsTool-call tracking within sessions

    Content · Collaboration — 5 features

    DomainDescription
    documentsPDF · DOCX · XLSX · HWP parsing and management
    filesUpload manager · Cart · Existing-file picker
    shareSharing 4 resource types (Agent · Session · Document · File) across 4 tiers (user/team/org/system)
    announcementsAnnouncement authoring · Category filters
    notificationsReal-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
  2. PTKOREA (Samsung Cheil Worldwide subsidiary) — Full-Stack Internship

    2025.06 — 2025.09 · QA automation for a global enterprise website

    TypeScript Django React Zustand Python AEM Jira

    • 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

  1. 🥇 2025 Open Source Contribution Academy Excellence Award — Ministerial Prize, Ministry of Science and ICT · Githru
  2. 🥈 2025 Open Source Developer Contest Winner — Professional Division · Favus (Go CLI · WebSocket)
  3. 🏅 GGUM University Hackathon Excellence Award — Library seat / empty classroom visualization (React, TS)
  4. 🏅 University ICPC Excellence Award — Algorithm competition
  5. 🏅 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

02Architecture

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.

Built directly

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

Metering query APIBuilt directly

6 filters · pagination · ExcelJS server streaming

Coverage Map — ownership by layer

Layer
Built directly
Understood & integrated
UI
Streaming markdown parserGenerative UI6-layer WebSocket defenseRBAC can()Back-office dashboard
API / Server contracts
Metering queriesUsage-limit controlsFile preview endpointsPDF captureExcelJS streaming
permission.go (multi-source SSOT)
Data / Pipeline
COMAtching MySQL schema·joins·indexes
Kafka ingestionDaily batch pre-aggregationSCD-2
Infra
Docker image 50%↓Smoke tests
K8sAir-gapped operations

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

03Deep Dives

9 deep dives — every decision, measured

Click a card for the full Situation → Task → Action → Result write-up with measurement data.

04Open 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