CMES
2025.05.19 ~ 2026.01.07 (8개월)
- 팔레타이징 물류 자동화(10인 팀) 백엔드 단독 담당
- ZeroMQ·State Machine·WebSocket 기반 공정 허브 구현
- Linux/Windows 멀티프로세스 DB commit 장애 원인 분석 및 해결
운영 URL: https://tetonam.co.kr/portfolio
2025.05.19 ~ 2026.01.07 (8개월)
2023.12.04 ~ 2025.04.30 (1년 5개월)
2022.08.29 ~ 2023.11.30 (1년 3개월)
해외 주식 데이터를 AI 리서치로 분석해 정량 점수와 매수/보유/매도 가격 구간을 만들고, 그 결과를 관심종목, KIS 잔고·주문 조회, Daily Order 승인 흐름까지 연결한 투자 리서치·주문 보조 서비스
개인 개발·운영 중인 AI 리서치 중심 해외 주식 투자 워크스페이스. 핵심은 종목 분석 프롬프트를 13개 리서치 태스크로 컴파일하고 실행 결과를 스키마 검증, 근거 조정, 정량 점수화, 매수 구간 계산, 다국어 리포트 아티팩트 저장까지 연결한 분석 엔진입니다. OpenAI, Anthropic, Google, Perplexity Provider를 선택해 기업 프로필, 매출 품질, 지배구조, 자본구조, 경쟁 환경, 해자, 촉매, 회계 신뢰도, 밸류에이션 입력값을 구조화합니다. 분석 결과를 통해 종목 검색, 관심종목, 매수/매도 구간을 활용한 주문 등으로 이용 가능합니다.
상세 분석
AI 리서치 중심 해외 주식 투자 워크스페이스. 종목 분석 프롬프트를 13개 리서치 태스크로 컴파일하고 실행 결과를 스키마 검증, 근거 조정, 정량 점수화, 매수 구간 계산, 다국어 리포트 아티팩트 저장까지 연결했습니다. OpenAI, Anthropic, Google, Perplexity Provider를 선택해 주식을 분석하고 최종 점수와 가격 구간을 계산합니다. 데이터 수집은 KIS, SEC EDGAR를 함께 사용합니다. 미국 주식 가격·재무 데이터, SEC 재무제표, 공시, 내부자 거래, 8-K 이벤트를 주기적으로 수집하고, 매일 가격 구간·실시간 점수·검색 지표·숏스크린 스냅샷을 갱신합니다. FastAPI 기반 KIS API 서버를 별도로 두어 실시간 가격, 잔고, 매수/매도, 체결, 미체결, 주문 취소 기능을 웹 서비스와 분리했고, Daily Order System으로 주문을 이메일 승인 후 실행하는 주문 보조 흐름까지 구현했습니다.
기술 스펙
구현된 특징 기능
참고 이미지

screener_01
성장률, PE, buy band 등에 따른 스크린 기능

sec_data_01
SEC에서 가져온 개별 symbol의 내부자 거래 공시

symbol_ai_01
LLM(ChatGPT)를 통해 분석한 개별 symbol의 일부 내용(경쟁 관계, 거시/이벤트 민감도)

symbol_financial_01
개별 Symbol의 매출, 영업 이익 차트

symbol_price_01

symbol_price_02
개별 symbol의 차트 (Buy band 적용)

order_balance_01
API 연동한 실제 주문 페이지
Live URL: https://taltalstock.store
부동산 중개 실무를 기준으로 매물, 임대인, 고객, 계약, 문서, 일정, 크롤링 매칭, 부동산 계산기, 관리자 기능을 하나의 워크플로우로 연결한 운영 플랫폼.
부동산 중개업무 통합 관리 서비스입니다. 기존 단순 매물 장부 수준을 넘어서, 중개사가 실제 업무에서 다루는 매물 정보, 임대인/공동명의자, 고객 요구사항, 계약서 작성, 표준임대차계약서, 확인설명서, 계약 일정, 주요 일정 알림(Google Calendar 활용), 문서 파일(PDF 및 이미지 미리 보기 및 다운로드), 계산기(각종 세금), 실무 사례, 협력업체 정보를 하나의 데이터 흐름으로 묶었습니다. 매물, 고객, 임대인, 계약 같은 핵심 화면은 카드형 UI와 엑셀형 대량 처리 UI를 함께 제공하고, 컬럼 표시/숨김, 컬럼 폭 조절, 정렬, 필터, 검색, 뷰 상태 저장을 통해 실제 장부 업무에 맞게 반복 작업을 줄이도록 구성했습니다.
상세 분석
부동산 중개사가 매일 반복하는 장부 관리와 계약 준비 과정을 웹 서비스로 구조화한 프로젝트입니다. 중개 실무에서는 매물, 임대인, 고객, 계약, 확인설명서, 첨부 문서, 잔금 일정, 신고 일정이 서로 따로 관리되기 쉽습니다. 이 프로젝트는 분절된 정보를 하나의 흐름으로 연결하는 데 초점을 맞췄습니다. 서비스의 핵심 흐름은 `매물 등록 -> 임대인/건물/호실 연결 -> 고객 요구사항 관리 -> 계약 생성 -> 계약서/확인설명서 PDF 출력 -> 문서 보관 -> 일정 관리`로 이어집니다. 각 기능은 독립 화면으로 존재하지만, 사용자는 매물에서 계약으로, 계약에서 문서와 일정으로 자연스럽게 이동할 수 있습니다. 단순 CRUD가 아니라 실제 업무 순서를 따라가도록 설계한 점이 이 프로젝트의 중심입니다. 백엔드는 기능이 많아지는 상황을 전제로 설계했습니다. 도메인 모델, 외부 연동, API 라우터를 분리하고, 신규 기능은 Feature Registry에 등록하는 방식으로 확장합니다. 덕분에 계약, 문서, 크롤링, 계산기, 관리자, 경매, 통화 분석처럼 성격이 다른 기능을 같은 규칙으로 추가할 수 있습니다. 프론트엔드는 장부형 업무에 맞춰 두 가지 사용 패턴을 지원합니다. 개별 매물을 확인할 때는 카드형 UI를 사용하고, 여러 건을 비교하거나 정리할 때는 엑셀형 테이블 UI를 사용합니다. 컬럼 표시/숨김, 폭 조절, 정렬, 필터, 뷰 상태 저장을 통해 반복 업무에서 사용자가 매번 같은 화면 설정을 다시 하지 않도록 구성했습니다. 운영 관점에서는 PDF 생성, 외부 공공데이터 연동, 백그라운드 작업, 인증/권한, 백업/복원, 배포 스크립트까지 포함했습니다. 포트폴리오용 데모가 아니라 실제 데이터를 넣고 장기간 운영하는 업무 시스템을 목표로 개발했습니다.
기술 스펙
구현된 특징 기능
장점
참고 이미지

realty_main
메인 대시보드

realty_filter
매물 필터링

realty_properties
매물(엑셀뷰)

realty_properties_cardview
매물(카드뷰)

realty_contract_pdf_view
계약 PDF 미리보기

realty_admin_page
관리자 페이지 - 기능 노출 설정
Live URL: https://taltalrealty.store
네이버 부동산·직방·다방 매물 데이터를 수집해 가격·주소·층·면적 정보를 표준화하고 탈탈리얼티 API로 전송하는 다중 플랫폼 크롤링 자동화 도구입니다.
Selenium, Playwright, REST API를 플랫폼 특성에 맞게 혼합 사용해 외부 매물을 수집합니다. 한국 부동산 가격 표현을 원 단위 보증금/월세/매매가로 변환하고, 주소·층·면적·중개사 정보를 공통 스키마로 정규화한 뒤 batch/single/incremental 모드로 탈탈부동산 API에 전송합니다.
상세 분석
Naver Realty New는 탈탈리얼티의 외부 매물 확인 업무를 자동화하기 위해 만든 다중 플랫폼 부동산 크롤러입니다. 부동산 실무에서는 내부 장부의 매물과 네이버 부동산, 직방, 다방에 올라온 외부 매물을 반복적으로 비교해야 하는데, 이 과정을 수동으로 처리하면 누락과 시간이 크게 발생합니다. 이 프로젝트는 플랫폼별 수집 방식은 각각 다르게 가져가되, 수집 이후에는 가격, 주소, 층, 면적, 중개사 정보, 외부 URL을 공통 매물 스키마로 정규화합니다. 네이버는 Selenium, 직방은 REST API, 다방은 Playwright를 사용하고, transformer 계층에서 한국 부동산 가격 표현과 주소 정보를 내부 API가 바로 처리할 수 있는 형태로 변환합니다. 결과적으로 단순 크롤링 스크립트가 아니라 탈탈리얼티 운영 데이터 파이프라인의 외부 매물 수집 모듈로 설계된 프로젝트입니다.
기술 스펙
구현된 특징 기능
이슈 해결
문제: 매일 전체 카테고리를 다시 크롤링하면 실행 시간이 길고 중복 전송이 많음
원인: 이미 수집된 매물까지 매번 끝까지 탐색하면 외부 사이트 부하와 처리 시간이 증가합니다.
해결: API에서 기존 external_id 목록을 가져와 이미 존재하는 매물을 만나면 해당 카테고리를 스킵하는 incremental 모드를 구현했습니다.
결과: 새 매물 위주의 빠른 반복 수집이 가능해졌습니다.
장점
동행복권 과거 회차 데이터를 자동 동기화하고 여러 번호 생성 전략별 조합을 역대 당첨 이력과 비교해 검증하는 FastAPI 기반 시뮬레이션 서비스입니다.
과거 로또 데이터에 대해 여러가지 전략을 조합하여(중복 최소 랜덤, 균형 퀵픽, 구간 분산, 연속수 제어, hot/cold 번호 가중치 등) 전략별 번호를 생성한 뒤 1~5등 당첨 이력과 추정 당첨금을 계산합니다. Docker, APScheduler, Nginx /lotto 서브패스 운영 구성을 포함합니다.
상세 분석
로또 전략 시뮬레이션 서비스는 단순히 번호 6개를 랜덤으로 뽑는 도구가 아니라, 과거 당첨 회차 데이터 수집부터 전략별 번호 생성, 역대 회차 기준 성과 평가, 실행 이력 저장까지 하나의 흐름으로 구성한 FastAPI 서비스입니다. 동행복권 데이터를 동기화하고, SQLite에 저장된 회차 정보를 기준으로 생성 조합이 과거에 몇 등 수준의 결과를 냈는지 계산합니다. 전략 엔진은 균등 랜덤뿐 아니라 중복 최소화, 홀짝/고저 균형, 구간 분산, 연속수 제어, 합계/스팬 제한, hot/cold 번호 가중치 같은 설명 가능한 옵션을 제공합니다. 사용자는 자동 생성 번호와 직접 입력 번호를 같은 평가 로직으로 비교할 수 있고, Docker와 Nginx 서브패스 운영까지 고려해 작은 아이디어를 실제 서비스 형태로 완성한 사례입니다.
기술 스펙
구현된 특징 기능
장점
Live URL: https://tetonam.co.kr/lotto/
단일 서버에서 여러 서비스를 안전하게 운영하기 위해 Nginx, fail2ban, SSL, 방화벽, 포트 레지스트리, 보안 알림을 통합 관리하는 인프라 보안 프로젝트입니다.
애플리케이션과 호스트 인프라 책임을 분리하고, Nginx snippets, fail2ban jail/filter, SSL/TLS, SSH hardening, firewall, 포트/서비스 YAML 레지스트리를 한 저장소에서 관리합니다. SQL Injection, XSS, Path Traversal, scanner 접근을 탐지해 차단하고 이메일 알림과 일일 요약을 제공하는 운영 보안 체계를 설계했습니다.
상세 분석
Security Guide는 여러 개인 서비스를 한 서버에서 운영하면서 반복적으로 발생하는 보안·인프라 설정 문제를 해결하기 위해 만든 운영 레이어 프로젝트입니다. 각 애플리케이션은 자체 Docker와 데이터베이스를 관리하고, 이 저장소는 Nginx, fail2ban, SSL/TLS, SSH hardening, firewall, 포트 레지스트리처럼 호스트 서버 공통 책임을 담당하도록 범위를 분리했습니다. 특히 Nginx 로그에서 SQL Injection, XSS, Path Traversal, scanner 접근을 구분해 탐지하고, 명백한 공격은 fail2ban으로 즉시 차단하며, 일반 404는 오차단을 줄이기 위해 빈도 기준으로 다르게 다룹니다. 서비스/포트/환경 정보를 YAML 레지스트리로 관리하고 배포·헬스체크·사고대응 체크리스트를 갖춰, 개인 프로젝트라도 반복 가능한 운영 보안 절차로 만들었습니다.
기술 스펙
구현된 특징 기능
장점
pywinauto와 Windows UI Automation으로 브라우저, ChatGPT 화면, 메모장을 자동 조작해 반복적인 질의·복사·저장 작업을 자동화한 데스크톱 RPA 프로젝트입니다.
Chrome과 메모장을 실행하고, 클립보드에 구성한 프롬프트를 붙여넣은 뒤 ChatGPT 응답 완료 마커를 화면 요소에서 찾아 복사·저장합니다. API가 없는 동적 GUI 환경에서 키보드, 마우스, 클립보드, UIA control 탐색을 조합해 반복 작업을 자동화했습니다.
상세 분석
Window GUI Control은 API로 처리하기 어려운 Windows 데스크톱 작업을 실제 화면 조작 방식으로 자동화한 RPA 프로젝트입니다. 브라우저를 실행해 ChatGPT에 접속하고, 서비스별 프롬프트를 클립보드로 입력한 뒤, 응답 완료 마커가 화면에 나타날 때까지 스크롤과 polling을 반복합니다. 응답이 완료되면 시작/종료 마커의 좌표를 기준으로 해당 응답 영역의 복사 버튼을 찾아 결과를 복사하고, 메모장에 붙여넣어 저장합니다. 단순 매크로가 아니라 UIA control 탐색, 클립보드, 키보드 입력, 마우스 스크롤, 화면 요소 좌표를 조합해 비정형 GUI 환경에서 반복 업무를 처리한 자동화 사례입니다.
기술 스펙
구현된 특징 기능
이슈 해결
문제: API가 없거나 직접 연동이 어려운 웹 화면의 반복 작업을 자동화해야 함
원인: 브라우저 화면, ChatGPT 응답, 복사 버튼, 메모장 저장처럼 GUI 상호작용이 필요했습니다.
해결: pywinauto로 브라우저와 메모장을 실제 사용자처럼 조작하고 키보드, 클립보드, 마우스 스크롤, 버튼 클릭을 조합했습니다.
결과: 프롬프트 입력, 응답 대기, 복사, 저장 작업을 스크립트로 자동화했습니다.
문제: ChatGPT 응답 완료 시점을 안정적으로 판단하기 어려움
원인: 응답 생성 중 UI 상태가 계속 바뀌고 텍스트 길이에 따라 복사 버튼 위치가 달라집니다.
해결: 시작/종료 마커를 프롬프트에 강제하고 종료 마커가 UI 요소로 발견될 때까지 polling했습니다.
결과: 여러 질의를 순차 처리해도 응답 범위를 구분할 수 있게 되었습니다.
장점
ESP32-S3 기반 풀 커스텀 키보드. USB OTG·BLE·ESPNOW 무선 지원. PCB 설계·3D 프린팅 전 과정 직접 제작.
FreeRTOS + ESP-IDF(C언어). N-key Rollover, Consumer 키(음량·Mute·밝기). BLE 3대 기기 동시 연결. PCB 설계(KiCad), 보강판·케이스 3D 모델링(Fusion360).
상세 분석
ESP32-S3를 MCU로 사용한 풀 커스텀 키보드. USB·BLE·ESPNOW 무선 세 가지 연결 방식 모두 지원. 소프트웨어(FreeRTOS)부터 하드웨어(PCB·3D프린팅)까지 전 과정 단독 설계·제작.
기술 스펙
구현된 특징 기능
장점
pyupbit로 업비트 계좌 잔고·평균매수가·현재가를 조회하고 수익률 조건에 따라 BTC/ETH를 소액 시장가 매수·매도하는 자동매매 프로토타입입니다.
환경변수에서 Upbit API key를 읽고 BTC/ETH의 보유 수량, 평균 매수가, 현재가를 주기적으로 조회합니다. 평균매수가 대비 수익률을 계산해 수익 구간에서는 일부 매도하고 손실 구간에서는 소액 추가 매수하는 rule-based trading loop를 실험했습니다.
상세 분석
Upbit Auto는 업비트 API를 직접 연동해 암호화폐 자동매매의 기본 흐름을 실험한 프로토타입입니다. 핵심은 현재가만 보는 것이 아니라 계좌의 보유 수량, 평균 매수가, 현재 가격을 함께 조회한 뒤 평균매수가 대비 수익률을 기준으로 주문 여부를 판단하는 구조입니다. BTC와 ETH를 대상으로 소액 단위의 시장가 매수·매도를 반복하며, 수익 구간에서는 일부 매도하고 손실 구간에서는 추가 매수하는 단순하지만 명확한 rule-based loop를 구성했습니다. 운영형 트레이딩 시스템이라기보다는 거래소 private API 인증, 잔고 조회, 주문 수량 계산, 예외 처리, 장시간 반복 실행이라는 자동매매의 핵심 요소를 직접 다뤄본 실험 프로젝트입니다.
기술 스펙
구현된 특징 기능
장점
Django 기반으로 상품, 이미지, 상세페이지, 결제, 배송, 리뷰, 사용자, 관리자 기능을 구현한 탈모 관련 상품 쇼핑몰 프로젝트입니다.
상품 카테고리와 상세 스펙, 이미지/상세페이지 이미지, 문의, 단일 결제와 묶음 결제, PostgreSQL, IAMPORT, Gmail SMTP, S3 를 포함한 Django 커머스 프로젝트입니다.
상세 분석
Django로 구현한 탈모 관련 상품 쇼핑몰 프로젝트입니다. 상품, 사용자, 결제, 리뷰, 배송, 관리자 기능을 앱 단위로 분리하고, 상품 도메인은 샴푸, 흑채, 가발, 헤어빔처럼 실제 판매 카테고리에 맞춰 상세 스펙과 이미지를 관리하도록 설계했습니다. 결제 영역에서는 merchant_uid와 imp_uid를 함께 저장해 내부 주문과 외부 PG 결제 결과를 연결하고, 단일 상품 결제와 묶음 결제를 구분했습니다. 최신 구조의 프로젝트는 아니지만, Django MVT 기반으로 상품 관리, 상세페이지 이미지, 문의, 주문/결제, 이메일, PostgreSQL, S3, Sentry 같은 커머스 운영 요소를 한 서비스 안에서 다룬 풀스택 프로젝트입니다.
기술 스펙
구현된 특징 기능
장점
탈탈부동산 웹 장부를 현장에서도 조회·수정할 수 있도록 옮긴 Expo/React Native 모바일 앱입니다.
중개사가 외부 미팅이나 매물 확인 중에도 매물, 고객, 계약, 관리 업무를 바로 확인하고 수정하는 사용 시나리오에 맞춰 구성했습니다.
상세 분석
탈탈부동산의 매물 장부, 고객, 계약, 관리 업무를 모바일 화면 구조로 옮긴 React Native 앱입니다. 부동산 업무는 거래/임대 구분, 물건 유형, 고객 유형에 따라 화면이 많아지기 때문에 각 도메인을 목록, 상세, 생성, 수정, 검색 흐름으로 나누고 React Navigation stack에 명시적으로 구성했습니다. API 호출은 Axios wrapper로 모아 JWT/CSRF 처리를 공통화했고, Redux Toolkit과 redux-persist, AsyncStorage로 로그인 상태와 앱 상태를 유지하도록 만들었습니다.
기술 스펙
구현된 특징 기능
이슈 해결
문제: 웹 장부 기능을 모바일로 옮기면 화면 수가 급격히 늘어남
원인: 부동산 업무는 매물 유형, 거래 유형, 고객 유형, 계약, 관리 업무가 세분화되어 하나의 generic 화면으로 처리하기 어렵습니다.
해결: 도메인별 화면을 명시적으로 분리하고 React Navigation stack에 등록했습니다.
결과: 기능이 많아도 사용자가 업무 유형에 따라 명확한 화면으로 이동할 수 있는 구조가 되었습니다.
문제: 모바일 앱에서 인증 상태와 사용자 상태를 유지해야 함
원인: 앱을 닫았다 열 때마다 로그인 상태나 선택 상태가 사라지면 업무 사용성이 떨어집니다.
해결: Redux Toolkit, redux-persist, AsyncStorage를 조합해 전역 상태를 유지하도록 구성했습니다.
결과: 모바일 앱에서 로그인/상태 정보를 지속적으로 활용할 수 있는 기반을 만들었습니다.
장점
최근 커밋
패키지 하이라이트
CMES 물류 자동화 메인 프로젝트. 10인 팀에서 백엔드 단독 담당, AI·로봇 모듈 허브 서버 구현.
ZeroMQ로 Vision AI·Decision AI·Fanuc 로봇 모듈을 연동하고, State Machine+WebSocket+FastAPI로 공정 흐름을 통합 제어. 핵심 이슈였던 Linux/Windows(Fork/Spawn) 멀티프로세싱 차이로 인한 DB commit 장애를 원인 분석 후 NullPool 적용(1차) + DB commit 전용 프로세스 분리(2차)로 해결.
상세 분석
팔레타이징 로봇 시스템은 CMES 재직 중 수행한 박스 Pick & Place 물류 자동화 프로젝트입니다. Vision/Decision AI가 컨베이어 박스를 분석해 적재 순서와 위치를 판단하고, Fanuc 로봇 모듈이 실제 적재를 수행하는 흐름에서 백엔드는 공정 상태와 모듈 간 통신을 조율하는 허브 역할을 맡습니다. FastAPI, WebSocket, State Machine, ZeroMQ 기반으로 촬영, 판단, 로봇 이동, 적재 완료 단계를 이벤트 중심으로 연결하고, 클라이언트에는 진행 단계와 성공 여부를 실시간으로 전달합니다. 현장 온프레미스 환경에서 AI, 로봇, 프론트엔드가 함께 움직이도록 구성한 물류 자동화 프로젝트입니다.
기술 스펙
구현된 특징 기능
장점
SIR소프트에서 참여한 FastAPI 기반 Python CMS 백엔드입니다.
설치 마법사, 관리자/BBS 라우터, 템플릿 렌더링, 플러그인, REST API v1을 한 앱에서 운영하며 게시판·회원·댓글·파일·쪽지·포인트·검색·FAQ·QA 같은 커뮤니티 기능을 FastAPI/SQLAlchemy 구조로 구현·개선했습니다.
상세 분석
FastAPI 라우터로 관리자(admin), 사용자 게시판, 설치 화면, REST API v1을 함께 제공하고, SQLAlchemy 모델/세션, Jinja2 템플릿, 정적 파일, 플러그인 로딩, 세션 미들웨어를 묶어 Python 기반 CMS로 동작합니다. REST API 영역은 JWT access/refresh token 인증, 게시판 글·댓글·파일, 회원, 쪽지, 스크랩, 포인트, 검색, FAQ, QA, 현재 접속자 기능을 /api/v1 하위 라우터로 분리해 외부 클라이언트가 그누보드 데이터를 사용할 수 있게 구성했습니다.
기술 스펙
구현된 특징 기능
이슈 해결
문제: Locust 부하 테스트 중 DB connection이 계속 증가해 MySQL max connection에 도달하고 서비스가 다운됨
원인: FastAPI 비동기 엔드포인트에서 의존성 주입 대상이 비동기 메서드가 아니라 동기 메서드로 선언되어, 요청마다 DB 세션/connection 정리가 의도대로 이뤄지지 않고 connection이 누적됐습니다.
해결: 문제가 되는 함수/클래스 의존성 경로를 추적해 동기 Depends 주입을 비동기 메서드 기반 주입으로 바꾸고, 서비스 인스턴스 생성과 DB 세션 사용 흐름을 비동기 엔드포인트에 맞게 재구성했습니다.
결과: 부하 상황에서도 connection 수가 워커 수 수준으로 안정화되어 DB 다운 현상이 해소됐습니다.
장점
SIR소프트 메인 프로젝트(2024.07.23~2024.11.25). 단독 개발한 그누보드5 Open API 기반 모바일 앱, Android Google Play 배포.
FCM 댓글 알림, JWT 인증, Axios interceptor single-flight(토큰 갱신 중복 방지), 카카오·네이버·구글 소셜 로그인, 비밀글/비밀댓글/파일 업로드 게시판, CKEditor, 병렬 API 요청 최적화, 다크모드/권한 설정까지 단독 구현. 특히 만료 토큰 상태 동시 요청 레이스 이슈를 single-flight로 해결. iOS는 완료했지만 내부 사정으로 미배포.
상세 분석
그누보드 Open API와 연동되는 React Native 기반 모바일 앱입니다. Expo가 아니라 React Native CLI를 선택해 Android native 기능과 확장성을 확보했고, 게시판, 회원, 프로필, 설정, 파일/이미지, 우편번호, WebView 등 커뮤니티 앱에 필요한 화면을 직접 구성했습니다. 앱 상태는 Context Provider 계층으로 관리하고, 서버 통신은 Axios 기반 API 계층으로 분리했습니다. Android 개발 환경 구성부터 앱 화면, 인증, 게시글/댓글, 파일 처리, 배포까지 단독으로 진행한 제품형 모바일 프로젝트입니다.
기술 스펙
구현된 특징 기능
장점
SIR소프트 AI Hub 메인 프로젝트(2025.02.10~2025.04.18). 3인 팀에서 약 3,000개 AI 서비스 데이터 관리 파트 단독 담당.
Selenium(반응형 크롤링) → ChatGPT API 데이터 정제 → MySQL 저장 파이프라인 구축. 서비스명/카테고리 표기 불일치와 중복 처리 문제를 정규화 로직으로 정리하고, PyWinAuto GUI 자동화까지 적용해 대규모 데이터 입력·정제 프로세스를 운영 가능한 형태로 완성.
상세 분석
Crawl AI는 SIR소프트 AI Hub 프로젝트에서 약 3,000개 AI 서비스 소개 데이터를 구축하기 위해 만든 데이터 수집·정제 파이프라인입니다. 단순 크롤러가 아니라 Selenium/BeautifulSoup으로 외부 서비스 페이지를 수집하고, OpenAI/Gemini API로 description, content, features, categories, tags를 정해진 한국어 JSON 구조로 정제한 뒤 MySQL에 저장하는 흐름을 담당했습니다. 서비스 카테고리는 DB의 활성 카테고리 목록을 읽어 프롬프트에 반영해, LLM이 임의 카테고리를 만들지 않도록 제한했습니다. 사람이 일일이 서비스 설명을 읽고 분류하던 작업을 크롤링, LLM 정제, DB 저장으로 연결해 AI 서비스 추천 플랫폼의 초기 데이터 기반을 만든 프로젝트입니다.
기술 스펙
구현된 특징 기능
장점
리눅스긱 메인 프로젝트(2023.03.13~2023.11.16). 3인 팀 온라인 리눅스 강의 플랫폼.
FFmpeg 분할+OpenSSL 난수키 기반 동영상 보호로 무단 공유 리스크를 낮추고, 대용량 분할 업로드/병렬 처리 구조를 구현. PortOne 결제·쿠폰 흐름에서는 중복/비정상 결제 검증 로직을 추가해 취소 처리까지 자동화. 600명 SMTP 대량 메일, 수료증 PDF 발급, Pandas 관리자 리포트까지 구현.
상세 분석
RealLinux는 리눅스 강의를 판매·수강·관리하기 위한 Django 기반 온라인 학습 플랫폼입니다. 강의 목록/상세, 수강생 관리, 결제, 쿠폰, 블로그, 리뷰, 관리자 대시보드, 수료증 발급 등 교육 서비스 운영에 필요한 흐름을 하나의 서비스로 구성했습니다. 특히 동영상 강의 보호, 대용량 파일 처리, 대량 이메일 발송, 결제 예외 처리, Pandas 기반 운영 데이터 파일화처럼 실제 운영에서 필요한 기능들이 포함되어 있습니다. 단순 강의 소개 페이지가 아니라 결제와 수강 관리, 관리자 운영까지 다룬 제품형 Django 프로젝트입니다.
기술 스펙
구현된 특징 기능
장점
Live URL: https://reallinux.co.kr/
리눅스긱 재직 프로젝트(2022.08.29~2023.11.15). 3인 팀 GitHub 프로그래머 분석 서비스.
Join·Eager Loading 중심 ORM 최적화로 응답 4~5초 → 100~300ms 개선. GitHub API 요청 제한 이슈는 GraphQL 질의로 필요한 필드를 묶어 호출하는 방식으로 완화. 외부 임베딩용 SVG 렌더링 페이지와 i18n(한/영) 지원까지 구현.
상세 분석
Git Rainbow는 GitHub 활동 데이터를 분석해 개발자의 기술 스택 캘린더, 랭킹, README/Notion 임베딩용 SVG를 제공하는 Django 기반 서비스입니다. 사용자가 GitHub ID를 입력하면 저장소와 언어/기술 사용 정보를 수집하고, 이를 달력·랭킹·그룹 화면으로 시각화합니다. 운영 과정에서는 GitHub API rate limit, 통계 화면의 ORM 병목, 외부 사이트에 붙일 SVG 렌더링 같은 실제 서비스 이슈가 중요했습니다. 쿼리 최적화, GraphQL 활용, SVG 전용 페이지, 이미지 base64 변환, i18n 등을 적용해 단순 포트폴리오 페이지가 아니라 외부에서 임베딩 가능한 GitHub 분석 서비스로 완성한 프로젝트입니다.
기술 스펙
구현된 특징 기능
이슈 해결
문제: 통계 화면 응답이 느려 사용자 경험이 떨어짐
원인: 관계 데이터 조회가 많고 ORM 쿼리가 반복되면서 화면 응답이 수 초까지 늘어났습니다.
해결: Join과 집계 함수 등 Django ORM 개선을 통해 필요한 데이터를 한 번에 가져오도록 개선했습니다.
결과: 핵심 화면 응답 속도를 실사용 가능한 수준으로 줄였습니다.
장점
개발자 구인구직 및 기술 스택 매칭 마켓플레이스
Django 기반 개발자 채용 플랫폼. 회사·개발자·그룹 관리, 기술 스택 태그 시스템, 구직자-채용 매칭. BeautifulSoup 기반 기업 정보 스크래핑, Pillow 이미지 처리. PostgreSQL 백엔드.
상세 분석
Whatsgog는 개발자와 회사를 연결하는 Django 기반 구인구직 플랫폼입니다. 사용자 프로필, 회사 정보, 그룹, 기술 스택, GitHub 분석 화면, 정적 퍼블리싱 자산을 포함해 채용 서비스에 필요한 기본 도메인을 구성했습니다. Django 앱은 backend, developer, company, group, tech_stack 등으로 나뉘며, URL/view/template 구조를 통해 개발자·회사·그룹별 화면을 제공합니다. GitHub/기술스택 시각화 자산과 회사/프로필 UI가 포함되어 있어, 단순 게시판이 아니라 개발자 중심 채용·프로필 플랫폼을 목표로 한 프로젝트입니다.
기술 스펙
구현된 특징 기능
장점
oss.kr 오픈소스 기사 정기 스크래핑. 업무 시간 30~60분 → 5~10분으로 단축 (7개월간). 리눅스긱 (2022.08~2023.11)
정부 보조금 관련 정기 업무로 수행하던 기사 스크랩 작업을 BeautifulSoup으로 자동화. 반복 수작업(문제)을 스크립트 기반 검색·정리 흐름으로 전환(해결)해 7개월 동안 일일 소요 시간을 30~60분에서 5~10분 수준으로 단축.
상세 분석
OSS Crawl은 리눅스긱 재직 중 정부 보조금 관련 정기 업무로 수행하던 오픈소스/IT 기사 스크랩을 자동화한 Python 크롤링 스크립트입니다. CIO Korea, ITWorld, ZDNet 같은 사이트에서 오픈소스, 플랫폼, SW, 보안, GPU, AI, 데이터, 네트워크, 리눅스 키워드로 검색하고, 전날 발행된 기사만 골라 제목과 링크를 텍스트 파일로 정리합니다. 기존에는 사람이 검색, 날짜 확인, 링크 복사, 문서 정리를 매일 반복해야 했지만, 스크립트로 업무 절차를 고정해 시간과 누락을 줄였습니다. 작은 자동화지만 실제 조직 업무에서 매일 30~60분 걸리던 작업을 5~10분 수준으로 줄인 실무 개선 사례입니다.
기술 스펙
구현된 특징 기능
장점