ART-WINDOWART-WINDOW
사용자의 공간 사진에서 작품 한 점을 추천·생성하고 POD 액자로 배송하는 공간 큐레이션 자동화 제품. 기획·브랜드 아키텍처·서버·클라이언트·인프라·POD 제작·배송 파트너 연동까지 1인 설계·구현.
A spatial-curation product: a single recommended artwork is generated from a photo of the user's room and shipped as a POD-framed print. Solo design and implementation across product planning, brand architecture, server, client, infra, and integrations with POD production and shipping partners.
- Java / Spring
- Oracle ADB · PostgreSQL
- Flutter
- SvelteKit · Svelte 5
- Gemini API
- Gemma 4 12B
- 임베딩 · 클러스터링
- OCI
- Docker
- Gemini API로 공간 사진을 분석해 작품을 추천하고, Replicate·Seedream으로 이미지를 생성하는 파이프라인 구축 (프롬프트 조립·응답 파싱·생성 웹훅 처리 포함)
- Built the pipeline that analyzes a room photo and recommends artwork with the Gemini API, then generates images via Replicate and Seedream (prompt assembly, response parsing, completion webhooks)
- 추천 시스템 고도화 — 인테리어·작품 이미지를 Gemma 4 12B(비전-언어 모델)로 의미 태깅하고, 임베딩·클러스터링으로 화풍을 군집화해 공간↔작품 매칭의 근거 데이터를 구축. 크롤링 → 태깅 → 임베딩 → 클러스터링으로 이어지는 데이터 전처리·가공 파이프라인을 단계별로 고도화
- Recommendation-system upgrade — semantic tagging of interior and artwork images with Gemma 4 12B (a vision-language model), then embedding and clustering to group styles and build the matching-evidence data for room↔artwork pairing. Hardened the crawl → tag → embedding → clustering preprocessing pipeline stage by stage
- 운영 안정화: 결제 웹훅 멱등 처리, 크레딧 차감 동시성 락, 외부 API 타임아웃, 시크릿 외부화(GitHub Secrets)
- Operational hardening: idempotent payment webhooks, concurrency locks on credit deduction, external-API timeouts, secrets moved into GitHub Secrets
- JMeter 부하 테스트와 성능 튜닝으로 병목 구간을 개선
- JMeter load testing and tuning to remove bottlenecks