홍승재

사용자의 편의성을 최우선으로 생각합니다

"내가 편하면, 사용자는 불편할 수 있다"는 마음가짐으로 제품 문제를 End-to-End로 해결합니다. UI의 미세한 오차, 아무도 이슈로 올리지 않은 불편함을 먼저 발견하고 해결하는 것을 개발자의 기준으로 삼습니다.

비웨이브(주)에는 iOS 엔지니어로 입사했지만, 마음결 Mini를 iOS로 단독 개발·배포한 데 이어 마음결 베이직의 Android 개발까지 함께 맡고 있습니다.

최근에는 AI가 팀원처럼 일할 수 있는 환경을 설계하는 데 집중합니다. Claude Code에 업무 매뉴얼과 품질 검사 규칙을 내장해 자동화 파이프라인을 구축했고, iOS에서 Android까지 확장 적용하고 있습니다.

홍승재 프로필 사진

Work Experience

비웨이브(주) / iOS Developer
2024년 07월 01일 ~ 재직 중

Certification

정보처리기능사 / 한국산업인력공단
2022년 12월 취득
전자기능사 / 한국산업인력공단
2023년 06월 취득
JLPT N4 / 일본국제교육지원협회
2026년 01월 취득

Activity

교내 iOS 스터디 운영
2022년 07월 ~ 2023년 01월
신입생 iOS 멘토링
2024년 03월 ~ 2024년 04월
KWDC 참가
2023년, 2024년
Let'Swift
2024년 참가
2023년 06월 (오프라인, 10+명)

Contact Information

gtw030488@gmail.com
github.com/winwx
linkedin.com/in/hongsjae

Skills

Swift SwiftUI UIKit Combine TCA MVVM Needle Swinject RxSwift ReactorKit RxFlow Tuist SwiftLint Xcode Cloud Kotlin StoreKit Core Bluetooth AVFoundation Git

Side Projects

BallhuB / iOS
2024.06 ~ 2025.05
JOBIS v2 / 기획·개발
2023.01 ~ 2024.01
DMS / iOS
2023.02 ~ 2023.06

Educations

대덕소프트웨어마이스터고등학교
2022.03 입학, 2024.12 졸업
마음결 Mini 아이콘

마음결 Mini

스마트폰 카메라만으로 스트레스 상태를 측정하는 정신건강 셀프케어 앱
Project info

뇌파(EEG)와 심박변이도(HRV) 등 생체신호를 AI로 분석해 정신건강을 관리하는 비웨이브의 셀프케어 플랫폼 '마음결'의 모바일 앱입니다. 기존에 안드로이드로만 서비스되던 앱을 iOS로 단독 개발·배포했으며, 2024년 1월부터 현재까지 운영하고 있습니다. 2026년 7월부터는 Android 버전 개발에도 함께 참여하고 있습니다.

Key Contributions

데이터 비교로 확인한 OS 간 측정 알고리즘 통일

  • iOS는 240fps로 요청했으나 실제로는 30fps로 사고캡되며 좌상단 40×40 ROI만 사용하고, Android는 뷰 축소본 기반 저품질 캡처를 쓰는 등 두 플랫폼의 측정 파이프라인이 서로 다르게 동작해 신호 품질 편차가 크다는 점을 Claude Code로 두 코드베이스를 함께 분석해 진단했습니다.
  • 캡처 fps·해상도·ROI·노출 lock·valley window를 30fps·1280×720 raw·중앙 200×200 ROI·안착 1초 후 AE/AWB/AF lock으로 양 플랫폼에 동일하게 적용해, 단일 AI 모델이 두 OS 신호를 동일한 기준으로 판단할 수 있도록 통일했습니다.
  • 배포 전후 DB 데이터(ppg_dq)를 비교해 효과를 검증했습니다 — 고품질(high) 비율이 iOS 40.1%→64.3%(+24.2%p), Android 38.7%→62.8%(+24.1%p)로 개선되었고, 저품질(low) 비율은 각각 -22.7%p, -21.8%p 감소했습니다.

카메라 기반 PPG 측정 파이프라인 최적화

  • 240fps로 들어오는 카메라 프레임을 실시간으로 처리하는 PPG 측정 파이프라인에서, 매 프레임 새로 생성되던 CIContext를 lazy 인스턴스로 재사용해 GPU 컨텍스트 초기화 비용을 없앴습니다.
  • 커스텀 픽셀 변환 함수를 CFDataGetBytePtr 기반 raw byte 직접 접근으로 바꿔 프레임당 약 1,600개씩 발생하던 객체 생성을 0개로 줄이고, 중복된 메인 스레드 디스패치 블록을 통합해 초당 디스패치 횟수를 절반으로 낮췄습니다.

글로벌 배포와 멤버십 결제

  • 70여개국 언어로 앱을 현지화하고, 무료/유료 회원 분기와 연구독 할인율 표시를 포함한 멤버십 결제 기능을 구현하며 IAP 로직을 리팩토링했습니다.

Tuist 기반 Micro Feature Architecture 설계

  • Feature 23개, Core·Domain·Shared·UserInterface 13개로 총 36개 모듈을 분리해 빌드 시간과 변경 영향 범위를 최소화했습니다.
  • Configuration·Dependency·Environment 커스텀 Tuist Plugin을 직접 구현해, DEV/STAGE/PROD 멀티 환경 빌드 설정을 코드로 관리했습니다.

Xcode Cloud CI/CD 및 SwiftLint 자동화

  • ci_post_clone 스크립트에서 mise로 Tuist를 설치한 뒤 tuist install·generate를 자동 실행하도록 구성해, 클라우드 빌드 환경에서 프로젝트 생성이 실패하던 문제를 해결했습니다.
  • 식별자 길이·함수 파라미터 개수 등을 제한하는 SwiftLint 커스텀 룰을 공통 스크립트로 만들어 전 모듈이 동일한 설정을 공유하도록 했습니다.
마음결 베이직 아이콘

마음결 베이직

전문 측정 기기와 블루투스로 연결해 실시간 생체신호를 분석하는 B2B 정신건강 평가 앱
Project info

기관·전문가를 대상으로 태블릿과 측정 기기를 세트로 판매하고 월 구독료를 받는 비웨이브의 핵심 B2B 제품입니다. iOS 엔지니어이지만 제품 문제 해결을 위해 2026년 6월부터 Android 유지보수와 기능 개발을 함께 맡고 있습니다.

Key Contributions

Claude Code 활용 플랫폼 전환

  • AOS 담당자의 퇴사로 iOS 개발자였던 제가 Android 경험 없이 BLE 프로토콜 통합 개발을 단독으로 맡게 된 상황에서, Claude Code를 활용해 기존 Java 기반 SOSO 연결 코드를 분석하고 새 모듈을 Kotlin으로 작성했습니다.
  • 듀얼 Bluetooth 통합을 완료했고, 기존 버그 7건을 함께 발견·수정했습니다.

이종 블루투스 기기 통합

  • BLE 기반 SOSO 기기와 Bluetooth Classic 기반 LinkBand 기기를 하나의 DeviceConnector 인터페이스로 추상화해, MainActivity가 기기 종류를 몰라도 동일하게 동작하도록 구조를 정리했습니다.
  • 기기 교체나 신규 모델 추가 시에도 인터페이스 구현체만 추가하면 되도록 확장 가능한 구조를 마련했고, neuroNicle FX2(Laxtha) 등 신규 기기 지원도 같은 구조로 검토했습니다.

실시간 측정 반응성 개선

  • 기존 Classic 기기의 블루투스 폴링 간격이 256ms로 길어, 측정 중 그래프와 수치가 끊기듯 갱신되는 문제가 있었습니다. 폴링 간격을 20ms로 줄이고 타이머 누적 드리프트를 sleep 보정으로 잡아, 그래프·수치가 끊김 없이 즉각 반영되도록 개선했습니다.

생체신호 품질 처리

  • LinkBand EEG 채널에 60Hz 노치필터를 적용해 전원 노이즈를 제거하고, SOSO PPG 채널에는 bandpass 필터와 글리치 가드, 기기별 gain 보정을 적용해 신호 품질을 안정화했습니다.
  • 신호 상태를 allBad(전체 불량)/oneBad(일부 불량)/정상 3단계로 분기하는 후처리 로직을 구현해, 불량 신호를 조기에 판별하고 재측정을 유도하도록 했습니다.

데이터 정합성 디버깅

  • 배터리 표시를 위해 추가했던 코드가 BLE GATT 큐 진행을 교란해 PPG·ACC notify 구독이 절반만 걸리는 버그를 원인 분석 끝에 발견하고, 문제가 되는 코드를 이전 정상 버전으로 롤백했습니다.
  • 실측 로그에서 EEG:PPG:ACC 샘플 비율이 250:25:12.5(불량)에서 250:50:25(정상)로 복원된 것을 확인해 수정을 검증했습니다.
BallhuB 아이콘

BallhuB

iOS Developer

일일 방문자 6,000명 이상이 이용하는 해외 축구 팬 커뮤니티 앱으로, 응원 팀 선택·경기 일정·맞춤형 게시판 기능을 제공합니다. iOS 개발자로 2024년 6월부터 2025년 5월까지 참여했습니다.

JOBIS v2 아이콘

JOBIS v2

기획·개발·운영

대덕소프트웨어마이스터고등학교 학생과 기업을 연결하는 채용 관리 서비스로, v1 사용자 피드백을 분석해 디자인과 아키텍처를 전면 개편했습니다. 2023년 1월부터 2024년 1월까지 6인 팀에서 기획부터 개발, 운영까지 주도적으로 참여했습니다.

DMS 아이콘

DMS

iOS Developer

대덕소프트웨어마이스터고등학교 기숙사 생활 전반(잔류 신청, 급식 확인, 자습실 예약, 공지사항)을 관리하는 교내 전공 동아리 앱입니다. 2023년 2월부터 6월까지 6인 팀에서 iOS 개발을 담당했습니다.

AI 업무 환경 설계 아이콘

AI 업무 환경 설계

누가 쓰더라도 같은 품질이 나오는 AI 업무 환경 설계
Project info

회의 내용을 정리하고 후속 액션으로 연결하는 과정, 그리고 AI 코딩 도구를 실무에 도입하는 과정 모두에서 같은 문제를 겪었습니다. 담당자나 대화 세션이 바뀌면 맥락과 규칙이 유실되어 결과물 품질이 들쭉날쭉했습니다. Claude를 Notion과 연결해 회의록을 자동 정리하고, 계획-실행-검증으로 이어지는 업무 하네스와 플랫폼별 배포 Skill을 설계해 누가 쓰더라도 같은 품질이 나오는 AI 업무 환경을 만들었습니다.

Key Contributions

Claude 기반 노션 회의록 자동 정리

  • Claude를 Notion 워크스페이스에 연결해, 회의가 끝나면 요청 한 번으로 핵심 논의사항·결정사항·액션 아이템으로 구분된 회의록을 자동 생성하도록 했습니다.
  • 다음 회의 시점에는 이전 회의 내용을 자동으로 요약해 브리핑 문서를 생성, 참석자가 빠르게 맥락을 파악할 수 있게 했습니다.

계획부터 실행까지 이어지는 AI 업무 하네스 설계

  • '실행 전 반드시 계획을 세우고 확인을 받는다'는 절차를 AI의 기본 행동 규칙으로 고정하고, 작업 시작 시 업무 매뉴얼을 자동 로딩·작업 중 변경사항 기록·완료 시 품질 검사로 이어지는 3단계 파이프라인을 설계했습니다.
  • 공통 규칙 + iOS 전용 + Android 전용 + 학습된 패턴으로 이어지는 4개 계층의 지식 체계를 구축하고, 계획 수립·코드 리뷰·품질 검사·인수인계 등 8가지 반복 업무를 명령어로 실행 가능한 표준 워크플로우로 정리했습니다.

Android·iOS 배포 Skills 구축

  • 플랫폼별로 다른 배포 절차(버전 관리, 스토어 심사 대응, 릴리즈 노트 작성 등)를 각각 Skill로 만들어 관리해, 배포마다 절차를 새로 설명하지 않아도 동일한 품질로 배포를 진행할 수 있도록 했습니다.