- 성명: 오세훈
- 직무: Full Stack Developer (Java/Spring Boot)
- Email: do11anm@naver.com
- GitHub: https://github.com/sedoll
- Blog: https://blog.naver.com/tmvmffpsej
- Velog: https://velog.io/@sedo11/posts
교육 플랫폼과 AI 기반 서비스를 개발하며, 단순 기능 구현보다 "운영 환경에서 안정적으로 동작하는 구조"를 중요하게 생각하는 개발자입니다.
대규모 학교 데이터를 수집하는 크롤링 시스템부터 GPT 기반 서비스, 이벤트 플랫폼, 자동화 워크플로우까지 직접 설계하고 운영하며 장애 상황을 빠르게 분석하고 개선하는 경험을 쌓았습니다.
기능 하나를 만들더라도 "왜 이 구조가 필요한가", "운영 시 어떤 문제가 발생할 수 있는가"를 먼저 고민하며 개발합니다.
특히 실제 서비스 운영 환경에서 발생하는 트래픽, 예외 처리, 유지보수성, 자동화 문제 해결에 관심이 많으며, AI와 자동화 기술을 실무 서비스에 자연스럽게 녹여내는 개발을 지향합니다.
IT 운영팀 (T셀파 담당) | 2024.02 ~ 2026.02
- T셀파(교수학습 지원 플랫폼) 서비스 개발 및 운영
- 백엔드/프론트엔드 개발 및 유지보수
- AI 기반 서비스 및 이벤트 플랫폼 구축
- 기존 레거시 시스템 개선
- 기간: 2025.11 ~ 2026.01
- 팀 구성: 개발자 3명(선임 1명, 주니어 2명), 퍼블리셔 3명, 기획 2명, 디자이너 2명
- 역할: 프론트엔드 개발
- Tech: Vue.js, Nuxt.js, C#, MSSQL
학교 선생님들이 온라인으로 연수 및 교육 영상을 시청하고 학습할 수 있도록 구축된 영상 플랫폼 프로젝트입니다. 단순 영상 재생 페이지가 아니라 학습 진행 흐름과 사용자 경험을 고려한 구조로 개발되었으며, 실제 운영 환경에서 안정적으로 동작할 수 있는 UI/UX와 영상 상태 관리에 중점을 두고 개발되었습니다.
- Nuxt SSR 환경에서 초기 렌더링 안정성과 사용자 경험을 함께 고려한 구조 설계
- 영상 재생 상태, 사용자 학습 흐름, UI 상태를 분리하여 관리
- 퍼블리셔 및 기획자와 협업하며 재사용 가능한 컴포넌트 구조를 고려해 개발
- 운영 중 기능 추가와 유지보수를 고려하여 화면 단위 책임을 분리
- Nuxt.js 기반 프론트엔드 개발
- 영상 재생 UI/UX 개선
- 사용자 학습 흐름 최적화
Nuxt.js 기반의 SSR(서버 사이드 렌더링) 환경을 구축하는 과정에서, 클라이언트와 서버의 렌더링 결과물이 일치하지 않아 발생하는 Hydration Mismatch 오류가 빈번하게 일어났으며, 이로 인해 초기 화면 로딩 시 UI 깜빡임 현상과 사용자 경험 저하 문제가 발생했습니다.
Nuxt SSR 환경에서 브라우저 API를 직접 참조하는 로직과 화면 상태가 서버 렌더링 결과와 달라지는 지점을 분리했습니다. 클라이언트에서만 실행되어야 하는 컴포넌트는 렌더링 시점을 조정하고, 공통 UI 상태는 store 기준으로 정리해 초기 로딩과 화면 전환 시 발생하던 불안정성을 줄였습니다.
- 영상 기반 학습 플랫폼 UX 개선
- Nuxt SSR 환경 운영 경험 확보
- 기간: 2025.07 ~ 2025.10
- 팀 구성: 개발자 1명(단독 진행), 퍼블리셔 2명, 기획 1명, 디자이너 1명
- URL1: https://ele.tsherpa.co.kr/site/event-main/index.html
- URL2 https://mh.tsherpa.co.kr/site/event-main/index.html
- 역할: 풀스택 개발
- Tech: Java, Spring Boot, MyBatis, MS SQL, jQuery
기존 하나의 구조로 운영되던 이벤트 플랫폼을 초등·중고등 대상 서비스로 분리해 운영 효율성과 사용자 경험을 개선한 프로젝트입니다. 학교 급별로 다른 운영 요구사항과 UI 흐름을 반영할 수 있도록 구조를 재설계했으며, 유지보수성과 빠른 이벤트 대응이 가능한 운영 중심 구조 구축에 중점을 두고 개발했습니다.
- 학교 급별 URL 및 템플릿 구조 분리
- 공통 기능 재사용 구조 설계
- 수정 영향 범위를 최소화한 페이지 구조 적용
- 유지보수성과 운영 효율 중심 설계
- 이벤트 시스템 도메인 분리 작업 진행
- 레거시 코드 리팩토링 및 UI 개선
- 학교 급별 사용자 흐름 최적화
초등 및 중고등 서비스의 성격과 요구사항이 다름에도 불구하고 단일 템플릿과 데이터 구조를 공유하고 있어, 사소한 기능 추가나 수정 시에도 전체 서비스로 영향 범위가 확대되었습니다. 이로 인해 운영 부서 간 배포 일정이 충돌하고 유지보수 복잡도가 크게 증가하는 문제가 있었습니다.
학교 급별로 혼재되어 있던 URL, 템플릿, 데이터 구조를 도메인 단위로 완전히 분리하는 리팩토링을 진행했습니다. 동시에 핵심 비즈니스 로직과 공통 UI 컴포넌트는 모듈화하여 재사용성을 극대화했습니다. 이를 통해 기능 수정 시 발생하는 타 서비스로의 사이드 이펙트를 차단하여 배포 충돌 문제를 해결했으며, 맞춤형 이벤트 페이지의 빠른 생성 및 유지보수가 가능한 안정적인 운영 환경을 구축했습니다.
- 운영 복잡도 감소
- 사용자 맞춤형 이벤트 운영 가능
- 기간: 2025.04 ~ 2025.06
- 팀 구성: 개발자 1명(단독 진행), 퍼블리셔 2명, 기획 1명, 디자이너 1명
- URL: https://www.tsherpa.co.kr/site/gpt/index.html
- 역할: 풀스택 개발
- Tech: Java, Spring Boot, JPA, MS SQL, Alpine.js
교사들이 수업 아이디어를 공유하고 이벤트에 참여할 수 있도록 구축된 커뮤니티형 플랫폼입니다. 단순 게시판 기능 구현이 아니라 이벤트 참여 흐름, 신청 데이터 관리, 사용자 편의성을 함께 고려하여 운영 안정성을 중심으로 개발을 진행했습니다.
- Redis 캐시와 DB 데이터를 함께 사용하는 구조에서 데이터 정합성을 고려한 설계
- 이벤트 참여 데이터가 많아질 상황을 고려해 조회 및 신청 흐름 최적화
- 운영 중 관리자 수정 요청이 잦아 기능별 수정 영향 범위를 최소화하도록 구조 설계
- 사용자 신청 흐름이 끊기지 않도록 예외 처리 및 상태 관리 로직 강화
- 아이디어 접수 및 댓글/투표 기능 개발
- 이벤트 트래픽 대응을 위한 쿼리 최적화
- 사용자 참여 흐름 중심 UI 개선
이벤트 신청 데이터를 수정·삭제할 때 DB 데이터와 Redis 캐시 데이터 간 동기화가 맞지 않아, 실제 DB에서는 삭제된 데이터가 캐시에 남아 중복 신청 및 신청 오류가 발생하는 문제가 있었습니다.
문제 상황을 선임 개발자에게 공유한 뒤 캐시 동기화 방식에 대한 회의를 진행했습니다. 이후 수정·삭제 시 DB 처리와 함께 Redis 캐시를 즉시 갱신하거나 제거하도록 로직을 개선하고, 캐시 조회 우선순위와 만료 정책도 함께 점검했습니다. 이를 통해 데이터 정합성과 이벤트 신청 안정성을 개선했습니다.
- 이벤트 운영 안정성 향상
- 사용자 참여 경험 개선
- 기간: 2025.01 ~ 2025.03
- 팀 구성: 개발자 1명(단독 진행), 퍼블리셔 1명, 기획 1명, 디자이너 1명
- URL: https://ele.tsherpa.co.kr/site/aidt_data/main.html
- 역할: 풀스택 개발
- Tech: Java, Spring Boot, MyBatis, MS SQL, JavaScript, FreeMarker
AI 디지털 교과서 관련 자료를 효율적으로 관리하고 배포하기 위해 구축된 자료 아카이빙 플랫폼입니다. 다양한 자료를 카테고리별로 관리하고, 운영자가 손쉽게 업로드 및 배포할 수 있도록 관리자 기능과 사용자 검색 흐름을 함께 고려해 개발했습니다.
- 자료 유형과 카테고리별 관리 구조를 고려한 게시판 설계
- FreeMarker 기반 SSR 환경에서 유지보수성과 재사용성을 고려한 공통 템플릿 구조 설계
- 운영자가 자주 수정하는 영역은 공통 컴포넌트 형태로 분리
- 검색 및 자료 조회 시 사용자 접근 흐름을 고려해 데이터 구조 최적화
- 자료실 게시판 CRUD 및 카테고리 검색 기능 개발
- 관리자 페이지 기반 자료 배포 시스템 구축
- 레거시 FreeMarker 템플릿 구조 개선
레거시 FreeMarker 템플릿이 페이지별로 파편화되어 있고 공통 영역의 모듈화가 이루어지지 않아, UI나 권한 로직을 일부만 수정해도 다수의 파일을 동시에 변경해야 했습니다. 이로 인해 운영자의 자료 배포 작업 중 의도치 않은 화면 깨짐이나 버그가 발생할 위험이 높았습니다.
FreeMarker 템플릿의 include 경로와 공통 영역을 정리해 페이지별 중복 수정을 줄였습니다. 자료 카테고리, 게시판 목록, 상세 화면에서 공통으로 쓰이는 구조를 분리하고 관리자 입력값이 화면에 안정적으로 반영되도록 검증 로직을 보강했습니다. 운영자가 자료를 배포할 때 발생할 수 있는 실수를 줄이는 데 중점을 뒀습니다.
- 자료 관리 및 배포 프로세스 단순화
- 운영 시 템플릿 수정 작업 효율 개선
- 기간: 2024.05 ~ 2024.09
- 팀 구성: 개발자 2명(선임 1명, 주니어 1명), 퍼블리셔 3명, 기획 1명, 디자이너 1명
- URL: https://www.tsherpa.co.kr/site/gpt/index.html
- 역할: 풀스택 개발
- Tech: Java, Spring Boot, MS SQL, JavaScript, Alpine.js, OpenAI API
OpenAI GPT API를 활용해 교사와 학생들이 실제 교육 환경에서 사용할 수 있는 대화형 AI 플랫폼과 독후감 첨삭 서비스를 구축한 프로젝트입니다. 단순 AI 연동이 아닌 교육 목적에 맞는 응답 품질과 안정성을 고려해 비동기 처리, 프롬프트 엔지니어링, 입력값 전처리 구조를 중심으로 개발했습니다.
- 비동기 기반 응답 처리 구조 적용
- 시스템 프롬프트와 사용자 입력 흐름 분리
- 교육 환경에 맞는 응답 품질 유지 구조 설계
- AI 응답 실패 시 예외 처리 및 상태 관리 강화
- GPT API 기반 채팅형 AI 서비스 개발
- 사용자 입력 프롬프트 처리 로직 구현
- 독후감 첨삭 및 문장 개선 기능 개발
- 실시간 대화형 UI/UX 개발
OpenAI GPT API 호출 시 동기 처리로 인해 사용자가 응답을 받기까지 긴 대기 시간이 발생했으며, 프롬프트 제어가 미흡하여 교육 서비스에 부적절한 영어, 반말, 또는 수업 목적과 무관한 환각(Hallucination) 답변이 출력되어 실제 학교 현장에 도입하기 어려운 상태였습니다.
Spring Boot 환경에서 외부 API 호출 시 발생하는 병목을 해소하기 위해 비동기(Async) 스레드 처리 구조를 도입하여 사용자 대기 시간을 대폭 단축했습니다. 또한, 시스템 프롬프트 엔지니어링을 고도화하고 사용자 입력값 전처리 로직을 추가하여 AI 모델의 역할을 명확히 제한했습니다. 그 결과, 환각 현상을 최소화하고 교육 환경에 적합한 한국어·존댓말 위주의 고품질 답변만 일관되게 생성하도록 서비스 신뢰도를 크게 향상시켰습니다.
- 실제 서비스 운영 환경에서 AI API 연동 경험 확보
- 사용자 중심 AI 서비스 UX 설계 경험 축적
- 기간: 2024.02 ~ 2024.12
- 팀 구성: 개발자 6명(선임 1명, 중급 2명, 주니어 3명), 기획 1명
- 역할: 풀스택 개발
- Tech: Java, Spring Boot, JPA, MyBatis, MariaDB, Selenium, Jsoup, Alpine.js
전국 초·중·고등학교 홈페이지의 공지사항, 급식, 가정통신문 데이터를 자동으로 수집하고 통합 제공하기 위해 구축된 크롤링 시스템입니다. 학교마다 서로 다른 사이트 구조와 데이터 형식을 안정적으로 처리해야 했기 때문에, 단순 수집 기능이 아니라 운영 안정성과 데이터 정합성을 고려한 구조 설계에 집중했습니다.
- 학교별 HTML 구조 차이를 대응하기 위한 유형별 크롤링 전략 설계
- Selenium과 Jsoup를 혼합 사용해 속도와 안정성을 함께 고려한 구조 적용
- 수집 실패 학교를 빠르게 파악할 수 있도록 로그 및 예외 처리 구조 강화
- 수집 데이터를 공통 포맷으로 정제해 이후 서비스 기능에서 재사용 가능하도록 설계
- 학교별 상이한 HTML 구조를 분석하여 동적/정적 크롤링 구조 분리
- Selenium과 Jsoup를 혼합 사용하여 속도와 안정성 개선
- 관리자 페이지 구축 및 수집 데이터 검수 기능 개발
- 수집 실패 학교 자동 재시도 및 예외 처리 로직 구현
전국 초·중·고교마다 홈페이지 게시판의 HTML 구조가 제각각이어서 단일 로직으로는 파싱 오류가 빈번했습니다. 또한, 특정 학교 서버의 응답 지연이나 일시적인 접속 차단 등 비정상적인 상황으로 인해 전체 데이터 수집 프로세스가 중단되거나 누락되는 장애가 잦았습니다.
사이트 유형별로 파싱 전략을 분리하고, 공통 예외 패턴을 정리해 재사용 가능한 구조로 개선했습니다. 또한 응답 지연 및 비정상 접근 시 timeout과 retry 기준을 설정하고, 실패 로그 기반의 원인 추적 및 대체 파싱(fallback) 로직을 추가하여 장애 발생 시에도 유연하게 대처할 수 있는 안정적인 운영 구조를 만들었습니다.
일부 학교 사이트의 응답 지연 및 비정상 HTML 구조로 크롤러 실패 빈도가 높았음
응답 지연, 비정상 HTML, 일시적인 접속 실패로 수집이 중단되는 문제를 줄이기 위해 timeout과 retry 기준을 설정했습니다. 실패 로그를 남겨 원인 추적이 가능하도록 하고, 일부 구조가 달라도 대체 파싱이 가능하도록 fallback 로직을 추가했습니다. 장애 발생 시 빠르게 원인을 확인하고 재처리할 수 있는 운영 구조를 만들었습니다.
- 수작업으로 확인하던 학교 데이터를 자동화
- 신규 학교 사이트 대응 시간 단축
- 운영 중 발생하는 장애를 빠르게 분석 가능한 구조 구축
- Telegram: https://t.me/ai_stock_crypto_summary_news
- Threads: https://www.threads.com/@se_do146
- 역할: 1인 개발
- Tech: Python, FastAPI, n8n, MariaDB, Docker, Telegram API, Threads API, Gemini API, Linux
주식·코인 뉴스와 YouTube 라이브 및 vod 동영상 데이터를 자동 수집하고, AI를 활용해 요약한 뒤 Telegram 및 Threads에 자동 발행하는 자동화 플랫폼입니다.
- n8n 기반 AI 요약 자동화 workflow 설계
- Telegram / Threads 멀티 플랫폼 발행 구조 구현
- YouTube 자막 자동 수집 및 AI 요약 시스템 구축
- Docker 기반 운영 환경 구성 및 자동 배포 환경 구축
- 채널별 플랫폼 발행 여부를 제어할 수 있는 DB 구조 설계
AI 요청 실패 시 workflow 전체가 중단되는 문제가 발생
Gemini/Gemma API가 일시적으로 실패하거나 응답 시간이 길어질 때 전체 workflow가 중단되는 문제가 있었습니다. n8n HTTP Request 단계에 최대 재시도 횟수와 timeout을 설정하고, collector 호출도 재시도하도록 구성했습니다. 외부 API 실패가 곧 서비스 중단으로 이어지지 않도록 복구 가능한 흐름으로 개선했습니다.
플랫폼별 글자 수 제한과 포맷 차이로 동일 데이터를 재사용하기 어려웠음
AI 요약 결과를 바로 Telegram으로만 전송하면 Threads, X 등 다른 플랫폼 확장과 실패 재처리가 어려웠습니다. 요약 원문 저장 테이블과 플랫폼별 발행 로그 테이블을 분리해 같은 요약을 여러 채널에서 재사용할 수 있게 했습니다. 성공·실패 상태와 외부 게시 ID를 기록해 특정 플랫폼만 재시도 가능한 구조로 개선했습니다.
외부 AI API의 일시적 장애 시 전체 워크플로우가 멈추는 불안정성이 있었습니다. 또한 방대한 YouTube 자막 원문으로 인한 불필요한 토큰 낭비가 발생했고, 플랫폼(Telegram, Threads) 간 다른 글자 수 제한과 포맷 차이로 인해 데이터를 유연하게 재사용하기 어려웠습니다.
n8n HTTP Request 단계에 최대 재시도 횟수와 timeout을 설정해 복구 가능한 흐름으로 개선했습니다. 텍스트는 최근 90,000자 기준으로 입력 길이를 제한하여 토큰을 최적화했으며, 요약 원문 테이블과 플랫폼별 발행 로그 테이블을 분리 설계해 채널별 독립적인 포맷팅과 실패 재처리가 가능하도록 구조를 고도화했습니다.
- 반복적인 뉴스 요약 작업 자동화
- AI + 자동화 + 운영 환경을 통합한 개인 서비스 구축
- 장애 대응 및 운영 중심 설계 경험 강화
- GitHub: https://github.com/sedoll/crypto-discord
- 역할: 1인 개발
- Tech: Python, Java(Spring Boot), Docker, Linux, Discord API, Bithumb API, OpenAI API
Discord 챗봇을 활용해 암호화폐 자산 정보와 거래 내역을 조회하고, GPT 기반 코멘트를 함께 제공할 수 있도록 개발한 프로젝트입니다. 단순 Discord 봇 기능 구현이 아니라 Python Discord Bot과 Spring Boot API 서버를 분리하고, Docker 기반으로 운영 환경까지 구성하며 실제 서비스 형태로 구축했습니다.
특히 GPT-4 이하와 GPT-5 이상 모델의 API 호출 구조 차이를 직접 대응하며 AI 연동 구조를 개선했고, Linux Docker 환경에서 Python Bot과 Spring 서버가 안정적으로 통신할 수 있도록 내부 네트워크 구조까지 설계했습니다.
- Python Discord Bot과 Spring Boot API 서버를 역할별로 분리한 구조 설계
- Docker Compose 기반 내부 네트워크 구성으로 서비스 간 통신 안정성 확보
- .env 및 secrets 기반 환경변수 분리로 운영 환경 보안성 강화
- GPT 모델 버전별 API 호출 구조 차이를 고려한 응답 처리 구조 설계
- Discord Bot 요청과 내부 API 인증을 분리해 외부 접근 제어 구조 적용
- 추후 거래소 및 AI 기능 확장을 고려한 모듈형 구조 설계
- Discord Bot 생성 및 명령어 처리 기능 구현
- Spring Boot 기반 API 서버 구축
- Bithumb API 연동 및 자산 데이터 조회 기능 개발
- GPT-5 기반 AI 코멘트 기능 구현
- Docker 기반 Linux 운영 환경 구축
- Docker Compose 기반 멀티 컨테이너 배포 구조 구성
GPT-4 이하 모델과 GPT-5 이상 모델의 API 요청 및 응답 구조가 달라 기존 로직으로는 정상적인 응답 처리가 어려운 문제가 발생했습니다.
모델 버전별 요청 구조와 응답 포맷을 분리해 처리하도록 구조를 개선했습니다. 공통 응답 처리 영역과 모델별 처리 영역을 나누어 이후 모델 변경 시 영향 범위를 최소화했고, AI 응답 실패 시에도 기본 기능은 동작할 수 있도록 예외 처리 로직을 추가했습니다.
Python Discord Bot과 Spring Boot 서버를 각각 실행할 경우 환경 설정과 실행 순서 문제로 운영 관리가 복잡해지는 문제가 있었습니다.
Docker Compose 기반으로 Python Bot과 Spring 서버를 하나의 네트워크에서 관리하도록 구성했습니다. 컨테이너 간 내부 통신 구조를 적용하고 환경변수를 분리해 로컬/운영 환경을 나누어 관리할 수 있도록 개선했습니다.
Discord Bot Token, 거래소 API Key, OpenAI Key 등 민감 정보가 많아 운영 환경에서 보안 관리가 필요한 상황이었습니다.
.env.local 및 secrets 파일 기반으로 운영 환경과 개발 환경을 분리하고, Docker 환경에서는 Secret 파일만 읽도록 구성했습니다. 또한 내부 API 접근용 별도 Access Key를 두어 Discord Bot 외부 접근을 제한했습니다.
- Discord 기반 암호화폐 자동화 서비스 구축 경험 확보
- Spring Boot + Python 멀티 구조 운영 경험 축적
- Docker/Linux 기반 배포 및 내부 네트워크 구성 경험 확보
- GPT API 버전 대응 및 AI 연동 구조 설계 경험 강화
- GitHub: https://github.com/sedoll/OpenCV_SEnow
- Blog: https://blog.naver.com/tmvmffpsej/223128389009
- 역할: 1인 개발
- Tech: Python, OpenCV, MediaPipe, Dlib
OpenCV와 얼굴 랜드마크 인식 기술을 활용해 실시간 카메라 필터와 얼굴 스티커 기능을 구현한 개인 프로젝트입니다. 단순 이미지 처리 기능 구현이 아니라, 사용자의 얼굴 위치와 움직임을 실시간으로 추적하면서 자연스럽게 필터가 따라오도록 처리하는 데 중점을 두고 개발했습니다. 실제 카메라 입력 환경에서 프레임 처리 속도와 얼굴 인식 정확도를 함께 고려하며 영상 처리 구조를 직접 설계했습니다.
- 얼굴 랜드마크 좌표 기반으로 스티커 위치를 동적으로 계산하는 구조 설계
- 실시간 카메라 프레임 처리 성능을 고려해 영상 처리 흐름 최적화
- 얼굴 이동 및 각도 변화에도 자연스럽게 필터가 유지되도록 좌표 보정 로직 적용
- OpenCV와 MediaPipe를 함께 활용하여 얼굴 인식 정확도와 처리 속도를 동시에 고려
- 얼굴 랜드마크 추출 및 실시간 좌표 계산 기능 구현
- 얼굴 위치 기반 스티커 및 필터 적용 기능 개발
- OpenCV 기반 영상 프레임 처리 및 카메라 입력 제어
- 실시간 얼굴 추적 및 필터 위치 보정 기능 구현
실시간 카메라 환경에서 얼굴이 빠르게 움직이거나 각도가 바뀔 경우 필터 위치가 어긋나고 프레임 처리 속도가 저하되는 문제가 발생했습니다.
얼굴 랜드마크 좌표를 기준으로 필터 위치를 동적으로 계산하고, 프레임 단위로 좌표를 보정하는 방식으로 안정성을 개선했습니다. 또한 불필요한 영상 처리 과정을 줄이고 필요한 좌표만 활용하도록 최적화하여 실시간 처리 성능을 개선했습니다.
- 컴퓨터 비전 및 영상 처리 기술 경험 확보
- OpenCV 기반 실시간 영상 처리 구조 이해
- 얼굴 인식 및 랜드마크 기반 좌표 처리 경험 축적
- 위치: 서울특별시 금천구
- 과정: J천재교육에서 주관한 실무 중심의 개발자 양성 과정(2023.07~2023.12)입니다. Java와 Spring Boot 기반의 백엔드 설계부터 프론트엔드, 데이터베이스 구축까지 웹 서비스 전반의 풀스택 개발 사이클을 경험했습니다. 특히 에듀테크 도메인에 특화되어 AI 기술을 결합한 맞춤형 교육 서비스 개발 프로젝트를 수행하며, 단순 기능 구현을 넘어 AI를 실제 운영 환경에 안정적으로 녹여내는 실무 중심의 개발 역량을 길렀습니다.
- 기간: 2023.07 ~ 2023.12
- 위치: 충청남도 공주시
- 학과: 컴퓨터공학과
- 학위: 학사
- 기간: 2021.03 ~ 2023.08
- 위치: 경기도 부천시
- 학과: 전자공학과
- 학위: 전문학사
- 기간: 2017.03 ~ 2021.02
- 정보처리기사 (2022년도 발급)
- 운전면허 2종 보통 (2019년도 발급)
- 교내 캡스톤 경진대회 2등 (2020년도 수상)
- 운영 중심 개발
- AI 서비스 개발
- 자동화 시스템 구축
- 장애 대응 및 유지보수
- Docker/Linux 운영
- 대규모 데이터 수집
- GPT 기반 서비스
- n8n Workflow 자동화


