Projects

웹 서비스와 하이브리드 앱에서 맡아 온 프로젝트

회사에서 개발한 프로젝트와 개인적으로 만든 프로젝트를 함께 정리했습니다. 각 프로젝트에서 맡은 기능과 해결한 문제를 자세히 볼 수 있습니다.

Company projects

회사에서 맡은 주요 프로젝트

2026.03 — 현재Frontend / Backend

NeoCAST — 실시간 협업과 음성 처리 서비스

스마트펜 필기와 문서를 실시간으로 공유하는 협업 서비스입니다. 기존 프로토타입을 이어받아 상용 서비스로 만드는 과정을 전담하며, 세션과 Canvas 동기화부터 음성 처리 파이프라인, Windows 인쇄 연동까지 프론트엔드와 서버 전반을 개발했습니다.

주요 작업

장시간 세션에서 끊기던 음성 스트림의 수명주기를 발화 단위로 재설계하고, 실시간 자막이 세션 종료 후 교정과 요약, 아카이브 분석으로 이어지는 파이프라인을 구축했습니다. 세션 재연결과 Canvas 동기화, 참여자 관리, Windows 인쇄 연동을 함께 맡았고, 900개가 넘는 단위·통합 테스트를 도입해 회귀를 막고 있습니다.

React
TypeScript
Socket.IO
STT
LLM
+5
2025.07 — 현재Frontend Engineer

CasterN — 문서 제작과 출력 도구

웹 편집기와 Windows 앱으로 프로젝트를 만들고 저장하며, PDF 편집과 내보내기, 인쇄 규격 출력까지 다루는 문서 제작 도구입니다. 기존 Qt/C++ 도구를 웹 기반으로 다시 만드는 과정에 참여했습니다.

주요 작업

프로젝트 생성부터 저장과 불러오기, 패키지 내보내기까지 파일과 리소스 처리를 정리했습니다. 수 GB 규모 문서는 웹과 Windows 앱 사이에서 나누어 전달하며 크기와 해시로 완전 수신을 검증했고, 인쇄 규격(PDF/X-1a)과 CMYK 출력 대응을 계약 테스트와 함께 구현했습니다.

React
TypeScript
WebAssembly
PDF
Jotai
+4
2022.12 — 현재Frontend / Hybrid App Engineer

NeoStudio2 — 스마트펜 하이브리드 문서 앱

React와 .NET MAUI를 함께 사용하는 스마트펜 연동 문서 앱입니다. WebView의 React 화면과 네이티브 기능을 연결해 문서 작성, 로컬 저장과 동기화, Canvas와 PDF 처리 기능을 개발했습니다.

주요 작업

기존 네이티브 앱을 하이브리드 구조로 전환하는 초기 작업부터 참여해, WebView 브리지와 사용자 데이터 가져오기, 오프라인 동기화, 문서 렌더링과 스마트펜 연결을 맡았습니다.

React
TypeScript
.NET MAUI
C#
MobX
+6
2022.07 — 2023.04Frontend Engineer

네오스튜디오 웹 — 문서 작성과 협업 서비스

React와 Canvas로 문서를 작성하고 편집하며, 스마트펜 노트 앱과 입력 내용을 실시간으로 주고받을 수 있는 웹 서비스입니다.

주요 작업

Canvas 편집과 실시간 입력 동기화를 개발하고, 페이지와 썸네일이 많을 때 생기던 렌더링 지연과 메모리 부족을 해결했습니다. 데이터 저장 방식이 Firebase에서 자체 서버 API로 바뀔 때는 프론트엔드의 요청과 오류 처리 전환을 맡았습니다.

React
TypeScript
Fabric.js
Canvas
WebSocket
+3
2022.04 — 현재SDK Maintainer / Frontend Engineer

스마트펜 Web SDK

TypeScript와 Web Bluetooth로 브라우저에서 스마트펜을 연결하고 필기 데이터를 받는 공개 SDK와 샘플 앱입니다.

주요 작업

여러 펜의 연결 상태와 이벤트를 펜별로 구분하고, 프로토콜 버전에 따른 펌웨어 전송과 오프라인 스트로크 수신 문제를 해결했습니다. 사용자가 내부 코드에 의존하지 않도록 공개 타입과 API, 샘플, 문서를 함께 관리하고 있습니다.

TypeScript
Web Bluetooth
BLE
Canvas
API Design

Personal projects

개인적으로 기획하고 개발한 프로젝트

2025.03 — 현재Full-stack

광역버스 잔여석 통계

공공데이터 API에서 광역버스의 잔여석을 주기적으로 수집하고, 정류장과 요일, 시간대별 평균을 조회할 수 있게 만든 개인 프로젝트입니다.

주요 작업

공공데이터 수집과 화면 조회를 분리하고, 같은 수집 작업이 겹치거나 정류장 통계가 중복 저장되는 문제를 잡았습니다. 수집한 값은 노선과 정류장, 요일, 시간대별로 비교할 수 있게 구성했습니다.

Next.js
TypeScript
PostgreSQL
Prisma
GitHub Actions
+1
2025.06 — 현재Design & Development

개발 포트폴리오

Next.js와 React로 만든 개인 포트폴리오 사이트입니다. 프로젝트별 상세 페이지와 반응형 레이아웃, 모바일 메뉴, 검색 엔진용 메타데이터를 구현했습니다.

주요 작업

프로젝트 목록과 상세 페이지가 같은 데이터에서 생성되도록 구성하고, 각 프로젝트를 별도 주소로 열 수 있게 했습니다. 화면 크기와 키보드 사용을 고려해 메뉴와 페이지 이동 방식도 정리했습니다.

Next.js
React
TypeScript
Tailwind CSS
Accessibility