Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 17 additions & 9 deletions content/about.json
Original file line number Diff line number Diff line change
Expand Up @@ -152,23 +152,23 @@
"titleKo": "오픈소스·시빅테크로 확장",
"titleEn": "Expanding into open source & civic tech",
"descriptionKo": "RentRights(LA 세입자 임대료 규제 추정기), DevDeck(Claude Code·Codex·Antigravity 프로젝트 관제 데스크톱 앱), citefirst(인용을 검증하고 검색 품질을 측정하는 RAG), TransitLA(차 없이 대중교통으로 가는 LA 탐색) 등 공개 데이터·개발 도구 프로젝트를 공개.",
"descriptionEn": "Released public-data and developer-tool projects — RentRights (LA rent-control estimator for tenants), DevDeck (a command deck for Claude Code, Codex and Antigravity projects), citefirst (a RAG system that verifies its citations and measures its retrieval), and TransitLA (car-free LA discovery on public transit).",
"descriptionEn": "Released public-data and developer-tool projects: RentRights (LA rent-control estimator for tenants), DevDeck (a command deck for Claude Code, Codex and Antigravity projects), citefirst (a RAG system that verifies its citations and measures its retrieval), and TransitLA (car-free LA discovery on public transit).",
"type": "project"
},
{
"date": "2026",
"titleKo": "생성 스튜디오 구축: 5모달리티 개인 생성 팩토리",
"titleEn": "Building the studios — a five-modality generation factory",
"titleEn": "Building the studios · a five-modality generation factory",
"descriptionKo": "이미지·영상·3D·음성·음악을 Claude가 MCP 툴로 생성하고, 기계 게이트와 직접 검수를 거쳐 재시도하는 개인 생성 파이프라인을 구축. 여섯 개 레포를 히스토리 보존 subtree 병합으로 단일 모노레포에 통합하고, 자연어로 지휘하면 로컬 LLM이 툴을 직접 불러 생성부터 검수까지 밟는 에이전트 하네스를 붙임. 이 사이트의 블로그 히어로 이미지도 여기서 나왔다.",
"descriptionEn": "Built a personal generation pipeline where Claude drives image, video, 3D, voice, and music through MCP tools — generate, pass a machine gate, inspect the result directly, retry. Six repositories were consolidated into a single monorepo through history-preserving subtree merges, and an agent harness now lets a local LLM call those tools itself from a natural-language brief. The hero images on this site's blog came out of it.",
"descriptionEn": "Built a personal generation pipeline where Claude drives image, video, 3D, voice, and music through MCP tools: generate, pass a machine gate, inspect the result directly, retry. Six repositories were consolidated into a single monorepo through history-preserving subtree merges, and an agent harness now lets a local LLM call those tools itself from a natural-language brief. The hero images on this site's blog came out of it.",
"type": "project"
},
{
"date": "2026",
"titleKo": "웹·모바일 제품 연속 출시",
"titleEn": "Shipping web & mobile products",
"descriptionKo": "healframe(멘탈헬스), argus-fusion(실시간 OSINT), zodiacly(운세), kindling(감정 케어) 등 웹·모바일 제품을 빠르게 기획·개발·출시.",
"descriptionEn": "Rapidly designed, built, and shipped web and mobile products — healframe (mental health), argus-fusion (real-time OSINT), zodiacly (horoscope), and kindling (emotional care).",
"descriptionEn": "Rapidly designed, built, and shipped web and mobile products: healframe (mental health), argus-fusion (real-time OSINT), zodiacly (horoscope), and kindling (emotional care).",
"type": "project"
},
{
Expand All @@ -188,11 +188,19 @@
"type": "project"
},
{
"date": "2021 - 2026",
"titleKo": "ItemBox CTO · 이커머스 SaaS",
"titleEn": "ItemBox — CTO, E-commerce SaaS",
"descriptionKo": "5년 2개월간 CTO로 AI 기반 이커머스·드롭시핑 플랫폼의 기술 전반을 책임졌습니다. API 모듈 18개 이상의 NestJS 백엔드와 React 프론트엔드를 올리고, 상품 콘텐츠 자동 생성에 OpenAI와 Replicate를, 구독 결제에 Stripe를 붙였습니다. Shopify·Cafe24·Amazon·Taobao·AliExpress 멀티마켓 재고 동기화와 대리구매 인프라를 구축했고, 아키텍처부터 배포까지 소유하며 개발 워크플로와 기술 방향을 이끌었습니다.",
"descriptionEn": "As CTO for five years and two months, I owned the full technical operation of an AI-powered e-commerce and dropshipping platform. I built a NestJS backend of 18+ API modules behind a React frontend, integrated OpenAI and Replicate for automated product-content generation and Stripe for subscription billing, and shipped multi-marketplace inventory sync across Shopify, Cafe24, Amazon, Taobao and AliExpress plus proxy-purchasing infrastructure — owning architecture through deployment while leading developer workflows and technical direction.",
"date": "2024 - 2025",
"titleKo": "ItemBox(㈜빛나라) CTO · AI 이커머스 플랫폼",
"titleEn": "ItemBox (Bitnara Inc.) · CTO, AI-assisted e-commerce platform",
"descriptionKo": "플랫폼 전체를 처음부터 끝까지 소유하면서 한국과 베트남에 흩어진 개발자 아홉 명을 이끌었고, 동시에 가장 많이 기여한 사람이었습니다. API 모듈 스무 개짜리 NestJS/TypeORM 백엔드와 Next.js 프론트엔드를 소유했고, 멀티테넌트 워크스페이스와 역할 기반 권한, 그리고 이메일 인증부터 자격 정보 전달까지 이어지는 초대 플로우를 만들었습니다. 수동 API 키 방식은 Shopify OAuth 2.0 연동으로 대체했습니다. 판매자가 클릭 한 번으로 스토어를 연결하면 앱이 HMAC를 검증하고 토큰을 저장하고 웹훅까지 알아서 등록합니다. Cafe24 쪽도 같은 방식으로 만들고 다중 통화 스토어와 교차 환율 서비스를 붙였으며, Stripe 구독 결제를 갱신·결제 실패 웹훅까지, 그리고 해외 주문을 받치는 대리구매·견적 서비스를 함께 만들었습니다. AI는 판매자가 실제로 일하는 자리에 넣었습니다. ComfyUI와 ModelsLab, Kling으로 이미지 생성과 배경 제거, 번역을 붙이고 OCR 서비스와 크롬 확장을 함께 두었습니다. FastAPI 서비스는 마이크로서비스 구조로 옮기면서 OpenAI와 Anthropic API를 하나의 인터페이스로 감쌌고, PostgreSQL과 MongoDB를 함께 운영하고 Redis·Celery 파이프라인을 만들고 AWS를 운영했습니다. 2025년 10월 폐업했습니다.",
"descriptionEn": "Owned the platform end to end and led the engineering team, nine people split between Korea and Vietnam, while remaining its most active contributor. I owned a NestJS/TypeORM backend of twenty API modules behind a Next.js frontend, with multi-tenant workspaces, role-based permissions, and an invitation flow that carried a new teammate from email verification through to credential delivery. I replaced manual API-key onboarding with a Shopify OAuth 2.0 integration: a seller connects a store in one click and the app validates HMAC, stores the token and registers its webhooks by itself. I built the Cafe24 equivalent, then multi-currency stores and a cross-exchange-rate service, and shipped Stripe subscription billing with renewal and payment-failure webhooks alongside the proxy-purchase and quoting services behind cross-border orders. AI went where sellers actually work: image generation, background removal and translation through ComfyUI, ModelsLab and Kling, with an OCR service and a Chrome extension alongside. I moved the FastAPI services onto a microservice architecture behind one interface over the OpenAI and Anthropic APIs, ran PostgreSQL and MongoDB together, built the Redis and Celery pipeline, and operated the AWS footprint. The company closed in October 2025.",
"type": "work"
},
{
"date": "2021 - 2024",
"titleKo": "㈜지오맥 CTO · 사내 시스템·인프라",
"titleEn": "GEOMEC Inc. · CTO, internal systems & infrastructure",
"descriptionKo": "사내 운영 시스템과 업무용 클라이언트, 그리고 그 아래 인프라 전체를 총괄했습니다. 양쪽 모두 담당 엔지니어는 저 혼자였습니다. ElectronJS 데스크탑 클라이언트를 설계·배포하고 업데이트·로깅·릴리스를 자동화했으며, NAS 기반 파일 서버에 권한 기반 접근 제어를 세웠습니다. Proxmox VE 가상화로 내부 VM 배포를 자동화하고 스냅샷 백업 체계를 만들었고, 리눅스 서버·방화벽·SSH 키·중앙 로깅을 통합 관리했으며 VPN 서버를 구축해 사내 네트워크 보안을 표준화했습니다. 2023년부터는 미국에서 원격으로 수행했습니다. 회사 파산으로 종료.",
"descriptionEn": "Owned the company's internal systems, its business desktop client, and the whole infrastructure underneath them. I was the only engineer on either. I designed and shipped an ElectronJS desktop client with automated release, update and logging pipelines, and built a NAS-backed file server with role-based access control. I stood up Proxmox VE virtualization with automated internal VM provisioning and a snapshot backup regime, ran the Linux server estate end to end (firewalls, SSH key management, centralized logging), and built the VPN server that standardized the company's network security practice. From 2023 I did this remotely from the US. The company ceased operations.",
"type": "work"
}
]
Expand Down
24 changes: 12 additions & 12 deletions messages/en.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"metadata": {
"title": "WritingDeveloper",
"description": "Build logs and engineering notes from Si Hyeong Lee — an AI-native product engineer shipping developer tools, applied AI systems, and production full-stack products."
"description": "Build logs and engineering notes from Sihyeong Lee — an AI-native product engineer shipping developer tools, applied AI systems, and production full-stack products."
},
"nav": {
"home": "Home",
Expand All @@ -15,7 +15,7 @@
"home": {
"hero": {
"greeting": "Hello",
"name": "Si Hyeong Lee",
"name": "Sihyeong Lee",
"role": "AI-Native Product Engineer",
"description": "I design, ship, and operate AI-native products and developer infrastructure."
},
Expand All @@ -24,13 +24,13 @@
"featuredProjects": "Projects",
"noPosts": "No posts yet.",
"explore": "Explore my world",
"metaDescription": "Si Hyeong Lee — AI-native product engineer in Los Angeles. I build and operate developer tools, RAG systems, local-AI/GPU infrastructure, and production full-stack products."
"metaDescription": "Sihyeong Lee — AI-native product engineer in Los Angeles. I build and operate developer tools, RAG systems, local-AI/GPU infrastructure, and production full-stack products."
},
"blog": {
"title": "Blog",
"description": "Stories about development, technology, and startups",
"metaTitle": "Build Logs from Shipping Real Products",
"metaDescription": "In-depth build logs and dev stories from Si Hyeong Lee — AI safety, full-stack architecture, indie hacking, and lessons from shipping real products.",
"metaDescription": "In-depth build logs and dev stories from Sihyeong Lee — AI safety, full-stack architecture, indie hacking, and lessons from shipping real products.",
"allCategories": "All",
"categoryFilter": "Category filter",
"readingTime": "min read",
Expand All @@ -56,7 +56,7 @@
"title": "Projects",
"description": "Things I'm building",
"metaTitle": "{count} Projects — Web, Games, Dev Tools",
"metaDescription": "{count} projects built solo by Si Hyeong Lee — SaaS, developer tools, games and AI experiments, each with a live demo or store link.",
"metaDescription": "{count} projects built solo by Sihyeong Lee — SaaS, developer tools, games and AI experiments, each with a live demo or store link.",
"viewProject": "View Project",
"viewShowcase": "See the work",
"viewCode": "View Code",
Expand Down Expand Up @@ -90,7 +90,7 @@
"title": "Project Graveyard",
"description": "Here lie the projects I built and lost — an honest record of what failure taught me.",
"metaTitle": "Project Graveyard — What Failure Taught Me",
"metaDescription": "A memorial to the projects Si Hyeong Lee built and then lost. Each tombstone carries its cause of death, an honest post-mortem, and what it taught.",
"metaDescription": "A memorial to the projects Sihyeong Lee built and then lost. Each tombstone carries its cause of death, an honest post-mortem, and what it taught.",
"empty": "No projects rest here yet.",
"restInPeace": "R.I.P",
"causeLabel": "Cause",
Expand All @@ -114,26 +114,26 @@
"title": "About",
"description": "AI-native product engineering, from architecture to production operations",
"metaTitle": "About — AI-Native Product Engineer & Senior Full-Stack",
"metaDescription": "Si Hyeong Lee — AI-native product engineer and former CTO in Los Angeles. Developer tooling, applied AI, full-stack products, local GPU infrastructure, and the decisions behind them.",
"metaDescription": "Sihyeong Lee — AI-native product engineer and former CTO in Los Angeles. Developer tooling, applied AI, full-stack products, local GPU infrastructure, and the decisions behind them.",
"body": "I am an AI-native product engineer and former CTO who owns the full path from architecture and implementation through testing, deployment, and production operations. I use coding agents heavily, but the engineering decisions stay explicit: constraints, acceptance criteria, failure analysis, and what ships. Recent work spans developer tooling such as DevDeck, measured RAG in citefirst, civic-tech systems such as RentRights, and a self-hosted MCP/GPU generation platform running across my own infrastructure.",
"skills": "Tech Stack",
"timeline": "Timeline"
},
"hire": {
"title": "Work with me",
"description": "AI-native product engineer open to senior product, applied AI / AI platform, and senior full-stack roles — plus focused project work.",
"metaTitle": "Si Hyeong Lee — AI-Native Product Engineer | Senior Full-Stack",
"metaTitle": "Sihyeong Lee — AI-Native Product Engineer | Senior Full-Stack",
"metaDescription": "AI-native product engineer in Los Angeles, open to remote senior product, applied AI / AI platform, and senior full-stack roles. {shipped} shipped products with a public demo or store listing.",
"badgeRemote": "Los Angeles · Remote-first",
"badgeRemote": "Los Angeles · Fully remote · US permanent resident",
"badgeNow": "Available now",
"fulltime": {
"heading": "Full-time",
"rolesLabel": "Roles",
"roles": "Senior Product Engineer · Applied AI / AI Platform Engineer · Senior Full-Stack Engineer",
"modeLabel": "Working style",
"mode": "Los Angeles · remote-first · US",
"mode": "Fully remote (US, Pacific Time) · US permanent resident — no sponsorship required",
"bringLabel": "What I bring",
"bring": "5+ years owning engineering as a CTO, plus hands-on AI-native product work spanning agent tooling, RAG evaluation, full-stack systems, CI/QA, and local GPU infrastructure."
"bring": "Nearly five years owning engineering as a CTO across two companies, plus hands-on AI-native product work spanning agent tooling, RAG evaluation, full-stack systems, CI/QA, and local GPU infrastructure."
},
"contract": {
"heading": "Project work",
Expand Down Expand Up @@ -298,7 +298,7 @@
"play": {
"title": "Explore",
"description": "Explore the portfolio in 3D space",
"metaDescription": "Explore Si Hyeong Lee's portfolio in an interactive 3D space — navigate projects, skills, timeline, and writing rendered in real-time WebGL.",
"metaDescription": "Explore Sihyeong Lee's portfolio in an interactive 3D space — navigate projects, skills, timeline, and writing rendered in real-time WebGL.",
"loading": "Loading...",
"exit": "Exit",
"sections": {
Expand Down
6 changes: 3 additions & 3 deletions messages/ko.json
Original file line number Diff line number Diff line change
Expand Up @@ -124,16 +124,16 @@
"description": "시니어 제품·Applied AI / AI 플랫폼·시니어 풀스택 역할과 집중형 프로젝트 의뢰를 받고 있습니다.",
"metaTitle": "이시형 — AI 네이티브 제품 엔지니어 | 시니어 풀스택",
"metaDescription": "로스앤젤레스의 AI 네이티브 제품 엔지니어. 원격 시니어 제품·Applied AI / AI 플랫폼·시니어 풀스택 역할에 지원 중이며, 공개 데모·스토어가 있는 제품 {shipped}건을 직접 출시했습니다.",
"badgeRemote": "로스앤젤레스 · 원격 우선",
"badgeRemote": "로스앤젤레스 · 전면 원격 · 미국 영주권자",
"badgeNow": "지금 바로 시작 가능",
"fulltime": {
"heading": "정규직",
"rolesLabel": "찾는 역할",
"roles": "시니어 제품 엔지니어 · Applied AI / AI 플랫폼 엔지니어 · 시니어 풀스택 엔지니어",
"modeLabel": "근무 형태",
"mode": "로스앤젤레스 · 미국 원격 우선",
"mode": "전면 원격(미국, 태평양 표준시) · 영주권자(취업 스폰서 불필요)",
"bringLabel": "가져오는 것",
"bring": "CTO로 5년 이상 엔지니어링을 책임진 경험과, 에이전트 도구·RAG 평가·풀스택 시스템·CI/QA·로컬 GPU 인프라를 직접 만드는 최근 AI 네이티브 제품 경험."
"bring": "두 회사에서 5년 가까이 엔지니어링을 책임진 CTO 경험과, 에이전트 도구·RAG 평가·풀스택 시스템·CI/QA·로컬 GPU 인프라를 직접 만드는 최근 AI 네이티브 제품 경험."
},
"contract": {
"heading": "프로젝트 의뢰",
Expand Down
2 changes: 1 addition & 1 deletion src/app/llms-full.txt/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ export async function GET() {

const content = `# WritingDeveloper — Full Content

> Full-text version of every blog post by Si Hyeong Lee (이시형). For a compact
> Full-text version of every blog post by Sihyeong Lee (이시형). For a compact
> index (posts, projects, links), see ${SITE_URL}/llms.txt

${sections.join('\n\n---\n\n')}
Expand Down
6 changes: 3 additions & 3 deletions src/app/llms.txt/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ export async function GET() {

const content = `# WritingDeveloper

> Personal blog and portfolio by Si Hyeong Lee (이시형) — a solo full-stack developer and entrepreneur who designs, builds, and ships products end to end.
> Personal blog and portfolio by Sihyeong Lee (이시형) — a solo full-stack developer and entrepreneur who designs, builds, and ships products end to end.
> Dev stories, tech tutorials, and the startup journey behind the projects below.

## About
Expand All @@ -59,8 +59,8 @@ ${projectLines}

## Project Graveyard

- [Project Graveyard (Korean)](${SITE_URL}/graveyard): A memorial to projects Si Hyeong Lee built and then failed or discontinued — each with its cause of death, an honest post-mortem, and lessons learned.
- [Project Graveyard (English)](${SITE_URL}/en/graveyard): A memorial to projects Si Hyeong Lee built and then failed or discontinued — each with its cause of death, an honest post-mortem, and lessons learned.
- [Project Graveyard (Korean)](${SITE_URL}/graveyard): A memorial to projects Sihyeong Lee built and then failed or discontinued — each with its cause of death, an honest post-mortem, and lessons learned.
- [Project Graveyard (English)](${SITE_URL}/en/graveyard): A memorial to projects Sihyeong Lee built and then failed or discontinued — each with its cause of death, an honest post-mortem, and lessons learned.

## Technical Stack

Expand Down
Loading