충남대학교 컴퓨터공학과 4학년
🇰🇷 한국어 | 🇺🇸 English (준비 중)
백엔드와 웹 서비스를 만드는 것을 기본기로 삼고, 여기에 AI/ML을 붙여 실제로 동작하는 제품을 만드는 데 관심이 있습니다. 온디바이스 AI 경량화, 서버-클라이언트 간 추론 책임 분리, 데이터베이스 계층에서의 무결성 보장을 직접 구현하며 배우고 있습니다.
개발할 때 아래 기준을 지키려 합니다.
- AI는 기능이 아니라 서비스의 일부로 통합하기 — 추론을 어디서 실행할지, 실패하면 무엇을 보장할지부터 설계
- DB·서버 계층에서 무결성을 보장하기 — 애플리케이션 로직만이 아니라 제약·트리거·트랜잭션으로도 지키기
- 궁금한 내용은 끝까지 알아내기 — 동작 원리를 이해하지 못한 코드는 남기지 않기
- 브릿지 프로그램 운영 중 - 자세한 내용은 아래 RoastLink 프로젝트 참고
- Kakao Tech Campus — Kakao가 주최하는 부트캠프로 프론트엔드/백엔드/AI Agent 설계/프로젝트의 기획부터 배포까지의 전 과정을 학습 중입니다.
- On-Device AI를 활용한 보안에 문제 없이 검색 가능한 갤러리 개발 프로젝트 진행 중
팀 프로젝트 · 담당: 백엔드 · 모델 통합
- 네트워크가 끊긴 상황에서도 인식이 동작해야 해서 추론을 서버가 아닌 단말에 두고, 서버는 인증·제보·검색 로그·통계만 담당하도록 책임을 분리했습니다.
- MobileCLIP2-S3 FP16 모델을 ONNX Runtime으로 단말에서 실행하여 25개 서울 랜드마크(궁궐 세부 건물 포함)를 분류합니다.
- 중복 로그인 방지를 위해 "1기기 1계정" 정책을 적용해, 새 기기에서 로그인하면 기존 푸시 토큰을 무효화하도록 FCM 등록 로직을 구성했습니다.
- 검색 로그에 **모델 버전 · 추론 백엔드 · Top-3 스코어 · 지연시간(latency)**을 함께 기록해, 배포 후에도 인식 품질을 추적할 수 있게 했습니다.
< 개인 프로젝트 · 범위: 다이어그램을 통한 DB의 개념적, 논리적, 물리적 설계 · 백엔드 · 프론트엔드
- 좌석 중복 예약 같은 무결성 문제는 애플리케이션 로직만으로는 완전히 막을 수 없다고 판단해, Oracle의 참조 무결성(cascading delete)과 이벤트 트리거로 좌석 잔여석을 실시간 동기화하도록 DB 계층에서 보장했습니다.
- Next.js App Router 기반으로 일반 사용자 / 관리자 역할 분리 인증을 구현했습니다.
- 예매 완료 시 e-티켓 자동 이메일 발송, 관리자용 운영 통계 대시보드를 구성했습니다.
- 스키마와 샘플 데이터를
/database/create_and_insert.sql에 정리해 누구나 동일한 환경에서 재현할 수 있게 했습니다.
Qualcomm LPCVC 2026 · 진행 중
- Knowledge Distillation → ONNX Export → Qualcomm AI Hub 컴파일/프로파일링 → 추론으로 이어지는 전체 파이프라인을 구성했습니다.
- ViT-S-16, MobileCLIP2-S4(듀얼 티처 distillation), SigLIP2-Base 세 가지 학생 모델로 정확도-지연시간 트레이드오프를 비교하고 있습니다.
- Seoul Landmark Assistant 앱에 필요한 온디바이스 추론 경험이 이 대회에서 모델을 경량화하고 프로파일링하는 과정과 직접 연결됩니다.
개인 프로젝트
- C언어의 핵심 기능을 추상화한 MiniC 언어의 어휘 분석부터 실행까지 컴파일러 전 과정을
ocamllex·menhir로 직접 구현했습니다. - 실행 전 타입 오류를 잡아내는 정적 타입 체커와, Environment-Store 모델 기반의 메모리·포인터 연산을 구현했습니다.
- 배열, 튜플, 포인터, 중첩 함수 등 복잡한 데이터 구조를 지원해 실제 C의 동작을 재현했습니다.
2026 KB AI Challenge · 팀 프로젝트 · 진행 중
- 시니어 사용자가 음성·텍스트로 금융 업무를 요청할 수 있는 Agentic AI를 팀 단위로 개발하고 있습니다.
대회 진행 중인 프로젝트로, 제출 이후 공개 가능한 구현과 결과를 업데이트할 예정입니다.
2026.07 ~ 배포 완료 후 버전 관리 및 운영 중 · 개인 프로젝트 · 담당: BLE 프로토콜 리버스 엔지니어링 · 백엔드(비동기 통신) · GUI · 배포 인프라
스마트 커피 로스터기 'Sandbox Smart R1'(BLE 통신)과 로스팅 프로파일 소프트웨어 'Artisan'을 비개발자도 쉽게 연결해 쓸 수 있게 해주는 크로스플랫폼 GUI 프로그램입니다.
- 정품 앱의 BLE 프로토콜이 전혀 문서화돼 있지 않아서, Android 개발자 옵션의 Bluetooth HCI snoop log를 직접 캡처해 btsnoop 포맷을 별도 파서 없이 바이트 단위로 분석하고, 명령·응답 프레임(HEAT/DRAW/DRUM과 그 ACK인 XAOK/XBOK/XDOK, 냉각을 실제로 트리거하는 조건 등)을 역공학으로 확정했습니다.
- 로스터기는 고온 발열체를 원격 제어하는 물리 장치라는 점을 기능보다 우선시해서, 과열 시 자동 정지, BLE 링크 이탈 시 30초 자동 재연결, Artisan 연결이 끊긴 채 방치되면 자동 냉각 같은 하드웨어 안전 규약을 먼저 설계하고 그 위에 기능을 얹었습니다.
- BLE 쓰기가 로컬에서 성공해도 로스터기가 실제로 명령을 받았다는 보장이 없는 "좀비 링크" 현상을 실기 테스트 중 발견하고, 명령별 ACK 프레임 수신 여부를 디바운스해 감지하는 워치독을 추가해 소프트웨어 레벨에서 탐지 가능하게 만들었습니다.
- asyncio 기반 BLE/웹소켓 통신과 GUI의 블로킹 이벤트 루프가 한 스레드에서 충돌하는 문제를, 통신 루프를 별도 백그라운드 스레드로 분리하고 Queue + GUI 프레임워크의 스케줄러로만 상호작용하도록 설계해 해결했습니다.
- 비개발자가 Artisan의 복잡한 WebSocket 설정을 직접 타이핑하지 않아도 되도록, 앱 내 설정 가이드에 값별 [복사] 버튼과 Artisan 설정 파일(.aset) 자동 적용을 함께 제공했습니다.
소스는 비공개입니다. v1은 계속 무료로 배포하되 이후 버전(v2+)을 유료 전환할 계획이라, 지금 단계에서는 코드 자체를 공개하지 않기로 했습니다. 대신 아래 실제로 동작하는 배포판과 사이트로 결과물을 확인하실 수 있고, 코드 리뷰가 필요하시면(예: 면접 과정) 개인적으로 공유해 드릴 수 있습니다.
More Projects — 추가 프로젝트 3개 펼쳐보기
| 프로젝트 | 설명 | 핵심 기술 |
|---|---|---|
| 🚗 자율 주행 로봇 청소기 | STM32F429 + FreeRTOS 기반 미로 탈출 로봇. 초음파·적외선 센서 퓨전과 PD 제어로 벽면 추종과 동적 장애물 회피 구현 | C, FreeRTOS, Embedded |
| ☕ 스타벅스 고객 클러스터링 | 고객 데이터 클러스터링을 통한 맞춤형 서비스 제안 | Python, scikit-learn |
| 🌾 드론 농작물 병해 분류 AI | 드론 촬영 이미지 기반 작물 병해 분류 모델 | PyTorch, CV |
| Area | Tools |
|---|---|
| Backend | Python · FastAPI · Java |
| Web | TypeScript · React · Next.js |
| Database | Oracle · MySQL · SQLite · SQLAlchemy |
| AI/ML | PyTorch · ONNX (Runtime / Export) · scikit-learn · HuggingFace |
| Systems | C · OCaml · Assembly |
| Tools | Git · Docker |
이 README는 지속적으로 업데이트됩니다.








