본문으로 건너뛰기

siesdart.fly.dev

profile image

(siesdart.fly.dev)

장기적인 관점에서 집요하게 고민하고 설계하며 개발합니다.

1. 소개

UX와 DX를 동시에 고려하며, 렌더링 최적화와 아키텍처 설계 등 기능 구현에 그치지 않고 장기적인 관점에서 세부 과정을 집요하게 고민하는 소프트웨어 엔지니어 박현우입니다.

  • 웹 성능 최적화 & 렌더링 UX: User-Agent 기반 SSR 기기 분기로 모바일 접속 시 레이아웃 시프트를 해결하였으며, 지연 로딩과 마우스 예측 프리페치를 결합하여 LCP 1.15s -> 0.95s, 모달 오픈 시 INP 112ms -> 64ms로 성능을 개선했습니다.
  • 디자인 시스템 & 공통 컴포넌트: 사내 공통 React UI 라이브러리를 설계·개발하고, Storybook 기반 정적 사이트 CI/CD 배포 파이프라인 구축을 주도하여 개발·협업 생산성과 UI 일관성을 확보했습니다.
  • CDD 기반 확장형 아키텍처: Configuration Driven Development(CDD) 아키텍처를 적용해 파편화·중복된 데이터 뷰 코드를 JSON 설정 체계로 공통화함으로써, 유지보수 시 반복적으로 나타나는 비효율을 줄이고 장기적인 개발 생산성을 대폭 향상시켰습니다.
  • 에이전트 제어 & 하네스 구축: 선언적 타입스크립트 패턴, 컴포넌트 트리 리뷰 등의 에이전트 스킬을 직접 만들어, AI 생성 코드의 품질을 제어하고 빠르게 교정할 수 있는 체계를 구축하였습니다.
  • 웹 프레임워크 오픈소스 기여: Dart 기반의 웹 프레임워크인 Jaspr의 DOM 검증 버그, Hydration unescape 오류 등을 수정하여 PR 5건을 기여하였습니다. 지금 보시는 이력서도 Jaspr로 빌드하였습니다.

2. 기술 스택

  • Languages: HTML5, CSS3, JavaScript, TypeScript, C#, Dart
  • Frameworks & Libraries: React, Next.js, WPF, Flutter, Jaspr, Tailwind CSS, shadcn/ui, Zustand, TanStack Query, TanStack Router, Storybook, Turborepo
  • AI Tool: Claude Code, Codex, Antigravity, Agent Skills, MCP

3. 경력

  • 베이글코드 image

    베이글코드

    Platform / Web Frontend Engineering Intern2025.02 ~ 2026.01

    React·Next.js 기반 사내 백오피스(Back Office) 웹 서비스의 프론트엔드 개발

    1. 게임 개발 팀의 효율적인 콘텐츠 제작 및 모니터링 등 종합적인 게임 개발/운영을 돕기 위한 Next.js 기반 게임 콘솔 개발
      • Remote Config, Leaderboard 등 게임 제작에 필요한 신규 사내 모듈의 콘솔 프론트엔드 구현
      • 모바일과 데스크톱에서 UI가 달라 반응형 CSS 대신 브라우저 너비를 기준으로 JS단에서 UI를 분기하는 특정 페이지에서 페이지 접속 시 모바일에서 순간적으로 데스크톱 UI가 렌더되다 바뀌는 등의 레이아웃 시프트 포착, 팀 공유 후 대응책을 조사해 클라이언트 사이드에서 브라우저 너비를 계산하여 상태를 갱신하던 방식의 로직을 브라우저의 요청 헤더에 들어있는 User-Agent 값을 바탕으로 서버 사이드에서부터 사용자 기기를 판단하여 적절한 UI를 반환해주도록 CLS 개선
      • 기존에는 Antd로 UI가 작성되어 있었으나 프로젝트에서 사용하는 Tailwind CSS와 스타일에서 충돌이 발생하고 패키지가 무거워 개발 경험이 좋지 못하다고 판단, 팀 논의를 통해 오버엔지니어링 대신 백오피스에 특화된 경량 사내 UI 컴포넌트 패키지를 제작(3번 항목 참조)하기로 결정하고 이후 Antd에서 신규 패키지로의 컴포넌트 교체 작업 주도
    2. KPI 등 게임 데이터를 시각화하여 사내 의사결정을 지원하는 Next.js 기반 데이터 플랫폼 개발
      • Tableau Embedding API를 사용한 Tableau 뷰 리액트 컴포넌트 제작
      • 공통된 UI를 가진 데이터 뷰가 별도의 페이지 코드로 하드코딩된 기존 구조가 장기적인 관점에서의 개발 및 유지보수에 비효율적이라 판단, 데이터 뷰 코드를 동적 세그먼트 페이지 하나로 공통화하고 JSON 형식의 설정 파일을 만들어 해당 설정에 기반해 페이지가 URL 세그먼트에 따라 동적으로 렌더되도록 하는 Configuration Driven Development(CDD) 방식으로 프로젝트 구조 재설계
      • 이외에도 코호트 필터 등 잦은 변경이 필요한 설정을 하드코딩이 아닌 분리된 JSON 설정 파일에서 가져오도록 수정하여 대부분의 케이스에서 코드가 아닌 한 곳에 응집된 설정 파일의 내용 수정만으로 작업이 가능하도록 유지보수성 향상
      • Zustand를 도입하여 난잡하게 파편화되어있던 각종 상태(필터, 북마크 등)를 역할 별로 추상화 및 정리해 가독성 및 유지보수성 개선
      • Next.js의 generateStaticParams 함수를 활용해 동적인 데이터 페이지가 빌드 과정에서 SSG로 사전 생성되도록 하여 페이지 초기 로딩 성능 개선
    3. UI 일관성 및 중복 개발 리소스 최소화를 위한 20여 종의 컴포넌트로 이루어진 사내 공통 React UI 패키지 개발
      • Radix UI 등 헤드리스 UI 패키지에 기반하여 컴포넌트를 제작하는 방향을 고민하였으나, 타겟이 외부가 아닌 빠르고 쉽게 백오피스 서비스를 만들고자 하는 사내 구성원인 만큼 별도의 UI 패키지를 쓰지 않고 가볍고 직관적인 인터페이스와 구조로 제작하고 주기적인 빠른 업데이트로 대응하는 방향으로 결정
      • 패키지 컴포넌트 제작 과정에서 코드 변경에 따른 실시간 변화를 시각적으로 보고 테스트하는데 어려움을 느껴 개발자 경험 향상을 위해 Storybook 리서치 후 팀에 도입을 제안하여 프로젝트에 적용
      • 사내 구성원들 간 패키지 컴포넌트 스펙 및 인터페이스의 실시간 공유를 통한 업무 효율성 향상을 위해 패키지 배포 시 Storybook 역시 사내에 정적 사이트로 함께 배포되도록 CI/CD 추가
    4. UI, GNB 등 사내 패키지의 에이전트 통합 개발 생산성 향상을 위한 AI 타겟 문서 작성 및 MCP 웹 허브 구축
      • 에이전트가 작업 시 패키지 별 필요한 문서를 읽을 수 있는 MCP의 설치 명령어를 버튼 원클릭으로 복사할 수 있는 웹 허브 구현
      • 패키지 업데이트마다 매번 변경된 부분에 대해 AI 문서를 직접 수정해야 한다는 것에 불편을 느껴 패키지의 변경 사항 diff를 바탕으로 초기 문서 수정을 자동화하는 커스텀 커맨드 작성
      • 처음에는 에이전트용으로 문서를 작성하였으나 사람에게도 도움이 되는 내용이 있다고 판단해 UI 패키지의 경우 Storybook에 마크다운 컴포넌트를 구현하여 AI 타겟 문서를 인간 개발자/디자이너도 즉시 열람할 수 있는 통합 문서 사이트로 확장해 팀 개발 경험을 향상
    5. 사용자의 자연어 요구사항을 기반으로 사내 UI 및 GNB 등 공통 패키지를 사용해 백오피스 프로토타입을 신속하게 빌드하는 에이전트 하네스 구축
      • UI, GNB 등 사내 패키지들의 에이전트 문서에 접근하는 방법을 담은 에이전트 스킬 작성
      • 에이전트를 디자이너, 개발자, 리뷰어의 역할로 나누어 디자이너 -> 개발자 -> 리뷰어의 흐름으로 사용자의 요구사항을 Next.js와 사내 패키지들을 사용하여 구현하도록 커맨드 작성
    • #HTML
    • #CSS
    • #TypeScript
    • #React
    • #Next.js
    • #Tailwind CSS
    • #Zustand
    • #Storybook
  • 공군군수사령부 image

    공군군수사령부

    융합체계과 / 인트라넷운용체계개발병2021.10 ~ 2023.05

    공군 컴퓨터자산관리체계(CAMS) 운영 및 기능 개선

    1. Tibero 기반의 공군 컴퓨터자산 데이터베이스 전 부대 사용자 지원 및 데이터 관리
    2. SQL 쿼리/프로시저 리팩토링으로 버그 수정 및 유지보수성 향상
    3. Spring 기반의 백엔드 레거시 코드 리팩토링 및 API 기능 개선
    4. 데이터 수정 요청 중 반복적으로 들어오는 사항을 자동화하는 OLE DB 기반 C#/WPF 프로그램 제작
    5. 전 부대 요구사항 수렴을 통한 체계 내 신규 기능 프론트엔드 및 백엔드 구현
    • #HTML
    • #CSS
    • #JavaScript
    • #jQuery
    • #Java
    • #Spring
    • #Tibero

4. 오픈소스

  • schultek/jaspr

    github stars
    Flutter와 유사한 구조를 지닌 Dart 기반의 모던 웹 프레임워크Role: Contributor
    • fix: DomValidator bug#169
      HTML 속성명 중 viewBox와 같이 중간에 대문자가 포함된 camelCase 속성을 유효하지 않은 속성으로 오판하는 오류 패치
    • add minify option to tailwind#247
      프로덕션 빌드 파이프라인에 Tailwind CSS minify 옵션을 연동해 CSS 산출물 최적화 지원
    • fix: add html unescape in hydrated data#250
      서버 사이드 렌더링(SSR) Hydration 직렬화/역직렬화 과정 중 HTML escape 처리된 데이터의 unescape 누락으로 인한 렌더링 오류 패치
    • feat: activate the content section of tailwind.config.js#256
      Tailwind CSS 사용자 content 경로 설정을 빌드 과정에 반영하도록 개선하고 관련 문서 업데이트
    • Fix sitemap generation bug in top-level route#512
      sitemap.xml 자동 생성 과정에서 루트 경로(/) 메타데이터가 누락되던 버그 수정
  • siesdart/skills

    github stars
    개발 시 반복적으로 사용하는 자작 에이전트 스킬을 모아놓은 저장소Role: Owner
  • siesdart/jaspr_markdown

    github stars
    MDX와 유사하게 마크다운에 Jaspr 컴포넌트를 삽입할 수 있게 하여 화면에 렌더링해주는 라이브러리 (deprecated)Role: Owner
  • siesdart/clsx-dart

    github stars
    JavaScript의 인기 유틸리티 라이브러리인 clsx를 Dart로 포팅한, 조건부로 클래스 이름을 조합할 수 있게 해주는 라이브러리Role: Owner

5. 프로젝트

  • WithAI

    AI 참가자와 함께 플레이하는 1인 추론 게임 플랫폼

    • #HTML
    • #CSS
    • #TypeScript
    • #React
    • #Vite
    • #Tailwind CSS
    • #shadcn/ui
    • #Zustand
    • #TanStack Query
    • #TanStack Router
    • #TanStack AI
    • #Turborepo
  • Jaspr Portfolio

    Dart 기반 웹 프레임워크인 Jaspr로 개발한 개인 포트폴리오 홈페이지

    • #Dart
    • #Jaspr
    • #Riverpod
    • #Tailwind CSS
    • #Melos
    • #Docker
    • #AI Agent
  • CoAI @ 몰입캠프

    개발자들이 질문을 하고 지식을 공유할 수 있는 AI 플랫폼

    • #HTML
    • #CSS
    • #JavaScript
    • #React
    • #TypeScript
    • #Express
    • #PostgreSQL
    • #Drizzle ORM
    • #LangChain

6. 학력

  • 2019-03 ~ 2027-02(예정)한국과학기술원(KAIST) image

    한국과학기술원(KAIST)

    전산학부 · 기술경영학부 학사[2026-12-21부터 풀타임 입사 가능]

7. 수상 및 자격증

  • 2025.01TOEIC image

    TOEIC

    830(LC 415, RC 415)

  • 2020.02한국사능력검정시험 image

    한국사능력검정시험

    1급

  • 2019.05 ~ 2021.05TOPCIT image

    TOPCIT

    255점 수준 2

  • 2017.09제34회 한국정보올림피아드 공모대회 image

    제34회 한국정보올림피아드 공모대회

    고등부 동상

  • 2015.07제32회 한국정보올림피아드 경시대회 image

    제32회 한국정보올림피아드 경시대회

    중등부 동상

8. 기타

  • 2026.09 ~ 2026.10원티드 AI Championship image

    원티드 AI Championship

    2026

  • 2026.05 ~ 현재한국오델로협회 image

    한국오델로협회

    기사 初단

  • 2024.01몰입캠프: 프로그래밍과 스타트업 image

    몰입캠프: 프로그래밍과 스타트업

    2023년 겨울학기

  • 2019.11DevFest on Campus 2019 image

    DevFest on Campus 2019

    Flutter 코드랩 튜터

  • 2019.03 ~ 2021.06SPARCS image

    SPARCS

    KAIST 서비스 개발 자치단체