인지심리학에서 출발한 관심은 AI와 함께 프로그램을 만드는 일로 이어졌습니다. 포토샷을 만들며 어떤 판단을 했고, 실제 작업은 어디까지 확인했는지 이야기합니다.
현재 하는 일과 기존 개발 경험, 포토샷을 만들게 된 계기
저는 인지심리학을 전공했고, 현재는 AI를 활용해 웹 이미지 편집기 포토샷을 개발하고 기능을 보완하는 작업을 하고 있습니다. 포토샷을 만들기 전에도 심리학 실험을 위해 코딩을 공부한 경험이 있습니다.
AI에 처음 관심을 가졌던 지점은 ‘기억’이었습니다. 그렇게 방대한 자료를 학습했는데도 왜 제대로 수행하지 못하는 일이 많을까 궁금했습니다.
AI는 컴퓨터에서 작동하니 학습한 내용을 저장장치에 보관하고, 필요할 때 모두 정확하게 꺼내 쓸 것이라고 생각하기 쉽습니다. 하지만 저는 인간의 신경망에서 아이디어를 얻은 AI 역시 일을 수행하는 방법이나 패턴을 학습하는 것과 세부적인 내용을 정확히 떠올리는 것은 다를 수 있겠다고 생각했습니다. 사람도 알고 있는 일을 하면서 책이나 자료를 다시 찾아보는 것처럼요. 이것은 제가 개발 방법을 구상하게 된 개인적인 관점이었습니다.
그래서 작업을 지시하기 전에 필요한 세부 자료를 모으고 매뉴얼을 만드는 방식으로 접근했습니다. 웹페이지를 만든다면 디자인 방식과 참고 사례부터 수집하고, 정리한 자료를 바탕으로 AI에게 작업을 맡기는 식이었습니다.
이후 바이브 코딩을 하면서 막히는 일이 많아지자, 제가 직접 코딩을 공부하던 때를 떠올렸습니다. 저도 문제가 생기면 유튜브나 GitHub에서 구현 사례와 해결 방법을 찾았습니다. 그 과정에서 개발의 상당 부분이 기존 코드를 목적에 맞게 수정하고 조합하는 일이라는 것을 경험했습니다.
그렇다면 AI도 필요한 공개 코드와 라이브러리를 체계적으로 찾아 구조를 이해하고, 수정하고 연결하면 하나의 프로그램을 만들 수 있지 않을까 생각했습니다.
그렇게 개발한 것이 포토샷입니다. GitHub의 공개 코드와 라이브러리를 참고하고 활용하면서, 필요한 기능이 편집기 안에서 함께 작동하도록 연결했습니다.
개발 기간과 참여 인원, 사용 도구와 비용
개발을 시작해 처음 공개하기까지 약 일주일이 걸렸습니다. 저 혼자 작업했고, 사용한 AI 도구는 ChatGPT입니다.
제가 ChatGPT로 작업 환경을 옮기던 당시에는 이용하려던 30만원대 요금제를 선택할 수 없어, 15만원짜리 구독을 하루에 하나씩 총 7개 사용했습니다. 당시 일주일 동안 사용한 AI 도구 구독료를 합하면 약 105만원입니다. 이 금액은 서버나 도메인 비용까지 포함한 전체 사업비가 아니라, 그 기간에 사용한 AI 구독료입니다.
공개 코드를 활용하더라도 가져와서 붙이는 것만으로 작업이 끝나지는 않았습니다. 화면에 기능이 나타나는지뿐 아니라, 레이어와 마스크, 보정, 저장과 재열기가 서로 연결되어 실제로 작동하는지 확인하는 과정이 필요했습니다. 처음 공개한 이후에도 이런 부분을 계속 수정하고 보완하고 있습니다.
AI에게 맡긴 일과 직접 판단하고 확인한 일
제가 주로 맡은 역할은 일의 구조를 잡고, 진행 과정을 감독하고, 기능이 실제로 구현됐는지 확인하는 일이었습니다. 무엇을 만들고 어떤 순서로 연결할지 정한 뒤, AI가 구현했다고 설명한 기능이 실제 화면과 작업 과정에서도 작동하는지 계속 확인했습니다.
밝기·대비 기능도 슬라이더가 움직이고 이미지가 달라진다는 사실만으로는 구현이 끝났다고 보기 어려웠습니다. Photoshop과 같은 원본, 같은 설정으로 비교했을 때 결과가 어떻게 달라지는지 살펴봐야 했습니다.
AI에는 참고 구현을 찾고, 계산 코드를 작성하고, 차이의 원인을 분석하고 수정하는 일을 맡겼습니다. 제가 판단해야 했던 것은 무엇을 비교 기준으로 삼을지, 발견한 차이가 실제 편집에서 어떤 의미가 있는지, 수정한 뒤에도 다른 작업이 제대로 이어지는지였습니다. 결국 AI의 구현 설명과 실제 결과를 따로 확인하는 과정이 필요했습니다.
“AI의 구현 설명과 실제 결과를
따로 확인하는 과정이 필요했습니다.”
AI가 작성한 큰 프로그램을 사람이 직접 읽고 고치는 방식은 많은 사람에게 쉽지 않다고 생각합니다. 다른 사람이 만든 코드도 전체 흐름을 파악하는 데 시간이 걸리듯, AI가 작성한 코드도 마찬가지입니다. 저는 작업 구조와 확인 기준을 제시하고, 문제가 생기면 AI가 원인을 찾아 수정하도록 이끄는 역할에 집중했습니다.
최근에는 AI가 코드를 작성하는 방식 자체로 관심을 넓히고 있습니다. 세무 앱을 개발하면서 진행 과정을 살펴보니, 전체 구조를 먼저 정리하기보다 당장 마주친 문제를 순차적으로 해결하는 경우가 있었습니다. 이를 보면서 전체 그림을 먼저 그리고 기능을 나눈 뒤, 이미 동작이 확인된 코드와 함수를 배치하고 연결하는 방식이 더 효율적이지 않을까 생각했습니다.
제가 생각하는 코딩은 블록을 쌓는 일과 닮아 있습니다. 다만 개별 부품이 작동하더라도 조합하는 과정에서는 새로운 문제가 생길 수 있으므로, 각 부품의 역할과 연결 관계, 데이터가 흐르는 과정까지 함께 확인해야 한다고 봅니다.
사람은 작업기억의 한계 때문에 복잡한 구조 전체를 한꺼번에 살피기 어렵습니다. 저는 AI를 활용해 이 부담을 줄일 수 있지 않을까 생각합니다. 현재는 전체 구조와 연결 관계를 명시적으로 정리하고, 수정할 때마다 그 흐름을 함께 추적하게 하려면 작업을 어떻게 설계하고 지시해야 하는지에 집중하고 있습니다.
실제 업무 사용 경험과 기능 테스트
본인이나 이용자가 포토샷을 실제 업무에 사용한 사례가 있나요? 유료 편집기 대신 처리한 작업이 있다면 듣고 싶습니다.
현재 Photoshop이 필요한 모든 업무에는 제가 만든 포토샷을 사용하고 있습니다. 사진 보정은 물론 강사용 교육자료와 실습 파일을 만드는 작업에서도 포토샷으로 편집하고 결과를 저장하고 있습니다.
아직 어도비 구독을 유지하는 이유는 계속되는 개발 과정에서 기능을 비교하기 위해서입니다. 같은 원본과 설정을 두 편집기에 적용해 기능의 동작과 결과를 대조하고, 포토샷을 보완하는 데 활용하고 있습니다.
앞으로는 실제로 사진 보정 작업을 많이 하시는 사진작가님을 초청할 계획입니다. 포토샷으로 직접 작업하시는 모습을 영상으로 촬영하고, 사용 소감도 들어보려고 합니다.
같은 기능을 사용 중인 화면입니다
모델 사진을 편집하면서 옵션창을 열고 값을 입력한 실제 화면입니다. Photoshop과 포토샷의 도구·설정·미리보기를 나란히 볼 수 있습니다.
얼굴 인식 액화
얼굴 인식 액화 창을 열고 왼쪽 눈 +25, 오른쪽 눈 −3을 입력한 상태입니다. 모델 사진과 좌우 눈 조절 항목이 함께 보입니다.
Left Eye Size +25 · Right Eye Size −3 · 나머지 얼굴 항목 0


도구·설정 부분 확대
주파수 분리 피부 보정
색·명암과 피부결을 별도 레이어로 나누고 고주파 레이어에 Linear Light를 선택한 편집 화면입니다. 레이어 구성과 혼합 모드가 함께 보입니다.
8bit · Gaussian Blur 6px → Apply Image: Subtract / Scale 2 / Offset 128 → Linear Light · 저주파에 Blur 3px 추가


도구·설정 부분 확대

고급 스마트 샤픈
스마트 샤픈 창에서 Motion Blur 방향과 그림자·하이라이트의 감쇠 값을 조절 중인 화면입니다.
Amount 180% · Radius 2.5px · Motion Blur 35° · Shadows Fade 30% / Highlights Fade 45% · Tonal Width 50% / Radius 1px


도구·설정 부분 확대
실제 앱에서 촬영한 화면입니다. 각 이미지를 누르면 옵션과 입력값을 크게 볼 수 있습니다.
이번 인터뷰 답변을 준비하면서는 유튜브 강좌의 커브, 색조·채도, 흑백 조정 방식을 기준으로 세 가지 비교 영상을 만들었습니다. 인물, 카멜레온, 뉴욕 거리로 사진을 다르게 골랐고, 각 영상에서는 같은 원본과 설정을 Photoshop과 포토샷에 적용했습니다. 실제 작업 화면을 각각 녹화하고 저장한 PNG도 대조했습니다. 확인한 사진과 설정에서는 거의 유사한 결과가 나왔습니다.
인물 사진 · 커브로 따뜻한 색감 만들기
비교 방법과 사용한 수치 보기
PHLEARN의 The Secret to Dark & Moody Coloring in Photoshop 강좌에서 사용한 커브 보정 방식을 따랐습니다. 강좌에는 고정 수치가 없어, 두 앱에서 공통으로 적용할 값을 별도로 정했습니다.
| 채널 | 어두운 끝점 | 밝은 끝점 |
|---|---|---|
| RGB | 0 → 18 | 255 → 228 |
| Red | 0 → 18 | 255 → 255 |
| Green | 0 → 0 | 255 → 246 |
| Blue | 0 → 0 | 255 → 214 |
1200 × 800 원본 위에 커브 조정 레이어 1개를 사용했습니다. 반복 수치 입력은 자동화했고, 영상의 화면 변화와 이미지 저장은 실제 앱에서 실행했습니다. 영상 속 수치는 저장한 원본 PNG를 대조한 결과이며, 이 사진과 설정에서 측정한 값입니다.
강좌·공개 원본: PHLEARN 공식 자료 · 촬영: 2026.10.28
포토샷의 보정 전후


카멜레온 · 색조와 채도로 색 바꾸기
강좌의 방법·설정·결과 보기
PHLEARN · Hue/Saturation 유튜브 강좌 ↗
색조·채도 조정 레이어를 추가한 뒤 Master의 세 슬라이더를 순서대로 조절했습니다. 강좌의 색상 범위 선택, 스포이드, Colorize와 채색 과정은 이번 비교에 포함하지 않았습니다.
| 대상 | Master |
|---|---|
| Hue / Saturation / Lightness | +20 / +25 / +5 |
| Colorize | 끔 |
공통 수치는 촬영을 위해 별도로 정했습니다. 반복 입력은 자동화했고, 개별 녹화의 재생 시간을 맞춰 편집했습니다. 저장한 PNG의 평균 RGB 채널 차이는 0.26 / 255였습니다. 이 사진과 설정에서의 측정값입니다.
사진: PHLEARN 공개 강좌 이미지 · 1200 × 800
방법: PHLEARN 공식 강좌 · 촬영 2026.10.28
뉴욕 거리 · 색상별 명암을 조절하는 흑백 보정
강좌의 방법·설정·결과 보기
PHLEARN · Black & White 유튜브 강좌 ↗
흑백 조정 레이어를 추가한 뒤 빨강·노랑·파랑의 밝기를 조절했습니다. 강좌에서 소개하는 세 방식 중 Black & White만 재현했으며, 사진 정리·블러·입자 추가는 포함하지 않았습니다.
| Red / Yellow / Green | 70 / 80 / 40 |
|---|---|
| Cyan / Blue / Magenta | 60 / 10 / 80 |
| Tint | 끔 |
공통 수치는 촬영을 위해 별도로 정했습니다. 반복 입력은 자동화했고, 개별 녹화의 재생 시간을 맞춰 편집했습니다. 저장한 PNG의 평균 RGB 채널 차이는 0.13 / 255였습니다. 이 사진과 설정에서의 측정값입니다.
사진: Alanthebox · New York City street · CC0 · 비교용 1440 × 810
방법: PHLEARN 공식 강좌 · 촬영 2026.10.28
사용해본 뒤에도 기존 편집기를 함께 써야 했던 이유가 있다면 듣고 싶습니다.
현재까지 유튜브의 여러 영상을 따라 하며 다양한 기능을 테스트해봤는데, 그 과정에서 부족하거나 빠진 기능은 없었습니다.
Photoshop 작업 파일과 파일 포맷 호환성
현재 구현하고 확인해온 수준은 Photoshop에서 하던 작업을 포토샷으로 가져와 이어서 편집하고, 다시 PSD로 저장해 Photoshop에서 계속 작업할 수 있도록 하는 것입니다.
포토샷 자체에서 저장하고 재열기만 시험한 것은 아닙니다. Photoshop에서 만든 PSD를 포토샷에서 열어 수정한 다음, 다시 Photoshop에서 여는 과정도 확인했습니다.
예를 들어 교육자료 제작 과정에서는 Photoshop으로 만든 1400×1000 크기의 RGB 8비트 PSD를 사용했습니다. 총 7개 레이어 중 문자 레이어가 4개인 파일이었습니다. 포토샷에서 한글 문구를 수정하고 PSD로 저장한 뒤 Photoshop에서 다시 열었을 때, 레이어 수와 편집 가능한 문자, 수정한 문구가 유지되는 것을 확인했습니다.
다만 현재 확인한 것은 이런 구체적인 예제 파일의 왕복 편집입니다. 복잡한 상업 작업 파일 전반을 검증한 상태는 아닙니다. 글꼴 대체에 따른 문자 폭과 줄바꿈, 스마트 오브젝트와 특수 효과처럼 별도로 점검해야 하는 항목도 있습니다.
호환성은 파일이 열리는지를 넘어, 사용자가 하던 작업의 구조와 결과가 유지되고 다음 작업까지 이어지는지를 기준으로 확인하고 있습니다.
파일 포맷·자산 지원 비교
| 파일·자산 | 포토샷 | Photopea | Affinity | PhotoCraft | Photon |
|---|---|---|---|---|---|
| PSD · PSB레이어 문서 | 지원레이어 편집·PSD 저장 | 지원PSD 편집·저장 | 지원PSD·PSB 가져오기 | 지원PSD·PSB 읽기·쓰기 | 지원PSD·PSB |
| 카메라 RAWDNG·ARW·CR2 등 | 부분 지원RAW 현상·기종별 차이 | 지원RAW | 지원RAW | 부분 지원일부 지원·제약 있음 | 지원RAW |
| ABRPhotoshop 브러시 | 지원615개 가져오기 검증 | 지원ABR 가져오기·내보내기 | 지원ABR 가져오기 | 지원ABR 읽기·쓰기 | 지원ABR 가져오기 |
| ATNPhotoshop 액션 | 지원공개 액션 20개 실행 | 지원ATN 불러오기·저장 | 공식 지원 확인 안 됨 | 부분 지원ATN 명령 매핑 | 지원ATN 가져오기 |
| XMPCamera Raw 보정 설정 | 지원보정 값·지원 마스크Photopea 대비 | 미지원XMP 직접 열기오류 화면 ↗ | 공식 지원 확인 안 됨 | 부분 지원일부 ACR 설정 지원 | 공식 지원 확인 안 됨 |
| ACVPhotoshop 곡선 프리셋 | 지원가져오기·저장 시연 | 지원ACV 가져오기 | 공식 지원 확인 안 됨 | 공식 지원 확인 안 됨 | 공식 지원 확인 안 됨 |
| PDF 가져오기페이지 입력 | 지원페이지 → 이미지 레이어PhotoCraft 대비 | 지원가져오기 지원 | 지원가져오기 지원 | 미지원PDF 가져오기오류 화면 ↗ | 지원가져오기 지원 |
| JSX · 스크립트기존 자동화 | 부분 지원지원 DOM·명령 실행 | 부분 지원Photoshop형 DOM | 자체 방식자체 JavaScript API | 자체 방식호환 계층 미완료 | 부분 지원일부 JSX·UXP 지원 |
2026.10.27 조사 · 10.28 추가 실행 확인. ‘공식 지원 확인 안 됨’은 조사한 공식 자료에서 지원 안내를 찾지 못한 항목입니다. ‘미지원’은 해당 형식·경로의 미지원이 확인된 항목입니다.
운영비 충당과 구독 계획, 목표 시장
운영비는 이용자가 부담 없이 선택할 수 있는 저가 구독 모델로 충당하려고 합니다. 현재 구상은 개별 제품당 월 2,000원이며, 5개 이상을 구독할 때는 제품 수와 관계없이 월 합계 1만원을 받는 방식입니다. 기존 어도비 구독료가 부담스러운 분들에게 현실적인 선택지가 되는 가격을 목표로 하고 있습니다. 우선 포토샷에서 시작하고, 다른 제품을 출시하면서 이 구독 체계를 적용할 계획입니다.
제가 보고 있는 시장은 아주 기본적인 사용자와 하이엔드급 전문 사용자 사이입니다. 간단한 디자인 작업은 캔바나 미리캔버스 같은 도구로 해결할 수 있습니다. 반면 고급 전문 작업을 하는 분들에게는 가격 외에도 안정성, 호환성, 익숙한 작업 환경이 중요하기 때문에, 저렴하다는 이유만으로 도구를 바꿀 필요는 크지 않다고 봅니다.
그 사이에 Photoshop 수준의 편집 기능은 필요하지만 구독료가 부담스러운 분들이 있습니다. 자격증을 준비하는 학생, 개인 디자이너, 이제 막 일을 시작한 사진작가 등이 제가 우선 만나고 싶은 이용자입니다. 이분들이 기존에 배우고 익힌 작업 방식과 파일을 이어 쓰면서 비용 부담을 줄일 수 있게 하는 것이 목표입니다.
누군가는 AI로 누구나 프로그램을 만들 수 있는데 굳이 돈을 내고 쓰겠느냐고 물을 수 있습니다. 저는 결국 비용 대비 효율의 문제라고 생각합니다. AI가 코드를 작성할 수 있어도 Photoshop 같은 편집기를 실제로 쓸 수 있는 수준까지 만드는 데에는 상당한 시간과 노력이 들어갑니다. 메뉴가 나타나는 것과 기능이 제대로 작동하는 것은 다르고, 세밀한 부분일수록 더 많은 테스트가 필요합니다. 파일을 열고 수정하고 저장한 뒤 다시 작업하는 과정까지 확인해야 합니다.
구독 서비스가 제공해야 할 가치도 여기에 있다고 생각합니다. 이용자가 직접 개발하고 검증하고 유지보수하는 데 드는 시간과 노력을 줄여주고, 필요한 작업에 바로 집중할 수 있게 하는 것입니다. 낮은 가격과 함께 실제로 일을 끝낼 수 있는 기능, 기존 파일과의 연결, 지속적인 오류 수정이 갖춰져야 비용을 지불할 이유가 생긴다고 봅니다.
1차 목표는 한국 시장에서 어도비를 대체할 수 있는 실용적인 선택지를 만드는 것입니다. 처음에는 학생과 취업 준비생의 과제, 자격증 연습, 포트폴리오 제작 같은 구체적인 수요에서 유료 이용 가능성을 확인하려 합니다. 이후에는 상품 사진과 상세페이지를 직접 만드는 판매자·자체 브랜드, 콘텐츠와 출판물을 제작하는 소규모 실무자로 넓혀갈 계획입니다.
개발에는 해외 AI 서비스를 활용하고 있습니다. 그 기술로 국내 이용자가 기존에 해외 소프트웨어에 지출하던 비용을 줄이고, 국내에서 만든 서비스를 선택할 수 있게 한다면 그것도 의미가 있다고 생각합니다. 실제 이용자가 자신의 작업을 끝내고 계속 사용할 수 있는지를 확인하는 데 집중하려 합니다.
오류 수정과 업데이트는 계속할 계획입니다. 사진 편집에서 시작해 PDF 문서 등 다른 작업의 불편을 해결하는 방향도 생각하고 있습니다. 여러 제품으로 확장하더라도 파일과 작업 과정이 끊기지 않도록, 기존 도구와 오가며 일을 이어갈 수 있는지를 함께 확인하겠습니다.
공개 코드에서 실제 작업 도구로
최근 PhotoCraft처럼 포토샵과 비슷한 편집기를 만들어 GitHub에 공개한 사례가 주목받고 있습니다. 이런 사례에서 중요한 것은 어떤 코드가 공개됐는지, 실제로 어느 범위까지 작업할 수 있는지 구분해 보는 것이라고 생각합니다.
공개된 대상과 기능의 범위
- 최근의 오픈소스 편집기
- PhotoCraft는 Adobe의 최신 소스코드를 공개한 것이 아니라 독립적으로 다시 구현한 프로젝트입니다. 공식 README는 초기 알파 단계이며 일상적인 전문 작업을 대체하기에는 AI·생성형 기능, 타이포그래피와 전문 작업의 깊이, 플러그인 호환성에 부족한 부분이 있다고 설명합니다. 메뉴 연결 여부와 실제 동작의 완성도도 구분합니다. 공식 설명 ↗
- Adobe가 허락한 역사적 소스 공개
- 컴퓨터역사박물관이 2013년에 공개한 것은 1990년 Photoshop 1.0.1의 코드입니다. 레이어가 도입되기 전 버전으로, 현재 Photoshop의 고급 편집 엔진 전체가 공개된 사례와는 범위가 다릅니다. 박물관의 공개 안내 ↗
자료 확인: 2026년 10월 29일 · 지원 범위는 각 프로젝트의 업데이트에 따라 달라집니다.
포토샷의 기준은 실제 작업이 이어지는지입니다
저는 포토샵에서 하던 작업을 포토샷에서 실제로 이어갈 수 있도록 구현하고 있습니다. 이를 위해 유튜브의 작업 순서와 세부 옵션을 따라 해 보고, 실제 Photoshop을 실행한 출력과 비교하면서 여러 차례 수정과 검증을 반복했습니다. 인물·의상·잔머리가 있는 사진부터 실제 카메라 RAW, 프리뷰가 없는 DNG, 레이어와 마스크가 들어 있는 PSD/PSB까지 서로 다른 데이터를 사용했습니다.
제가 확인하는 것은 화면에 보이는 기능이 실제 사진에 적용되고, 저장한 뒤 다시 열어도 다음 작업을 이어갈 수 있는지입니다.
좌우 눈 25 / −3, 방향을 지정한 스마트 샤픈 등 공통 옵션을 두 앱에서 직접 적용하고 출력 차이를 확인했습니다.
포토샷 효과의 수치 교체, 수동 브러시 유지, 저장 복원, Undo/Redo와 취소 동작을 반복해서 검사했습니다.
서로 다른 인물 사진, Sony ARW, Bayer16 DNG와 PSD/PSB 예제를 기능별로 사용했습니다.
16비트 TIFF의 채널 정밀도와 개별 네이티브 PSD 필터 데이터의 보존도 별도로 확인했습니다.
어떤 GitHub 프로젝트를 어떻게 응용했나
모델·실행 엔진·파일 라이브러리의 역할을 나누고, 그 사이를 포토샷의 편집·저장 코드로 연결했습니다. 아래는 소스와 포함 파일에서 실제 사용을 확인한 사례입니다.
| 기능 | 공개 프로젝트의 조합과 적용 |
|---|---|
| 얼굴·인물 AI | google-ai-edge/mediapipe얼굴 좌표·인물 영역 → 변형 메시·편집 가능한 마스크 |
| 배경·잔머리 | xuebinqin/U-2-Net + microsoft/onnxruntimeAI 예측·브라우저 실행 → 레이어 마스크·정밀 경계 보정 |
| RAW 현상 | LibRaw/LibRaw + colorhythm/libraw-wasm센서 해독·WebAssembly 실행 → 현상 옵션·16비트 출력 |
| PSD / PSB | Agamnentzar/ag-psd + nodeca/pako파일 읽기·쓰기·압축 채널 → 레이어·마스크·편집 정보 연결 |
얼굴 위치를 찾고, 부위별 편집으로 연결합니다
- 공개 기술이 맡은 역할
- MediaPipe의 얼굴 랜드마크와 Selfie Multiclass 모델을 사용합니다. 얼굴 위치와 머리카락·피부·의상 등의 영역을 찾는 역할입니다.
- 직접 연결·확장한 부분
- 검출 좌표를 좌우 눈·코·입·얼굴형의 변형 메시와 연결하고, 인물 영역을 선택 영역·Camera Raw 마스크로 바꾸는 코드를 직접 구현했습니다. 얼굴 수치의 저장·교체·재편집도 이 연결부에서 처리합니다.


확인한 동작좌우 눈 25 / −3 적용, 저장 후 25→30으로 교체, 뒤에 그린 브러시 유지, Undo/Redo와 취소를 검증했습니다. 아래 의상 선택 화면은 10월 29일 공개 서비스에서 다시 실행했습니다.
구현 연결 파일 보기
face-liquify.tsface-edit-state.tsportrait-segmentation.tsraw-mask-ui.tsxAI 분리를 정밀 경계 편집으로 이어갑니다
- 공개 기술이 맡은 역할
- U²-Net 계열의 물체 분리 모델과 ONNX Runtime Web을 결합했습니다. 이번 Fast 예제에서는 U²-NetP 모델과 ONNX Runtime Web 1.29.0이 실제로 로드되는 것을 확인했습니다.
- 직접 연결·확장한 부분
- 모델의 흑백 예측을 원본 레이어의 편집 가능한 마스크로 저장합니다. 원본 픽셀을 유지하면서 마스크 브러시나 Select and Mask로 경계를 계속 다듬을 수 있게 연결했습니다.

확인한 동작10월 29일 U²-NetP의 320×320 마스크 생성과 별도 저장을 확인한 뒤, Edge Radius 3·Smart Radius·Decontaminate Colors를 적용했습니다. 정밀 보정 결과는 새 마스크 레이어로 저장되고 원본 레이어는 숨김 상태로 유지되는 것도 확인했습니다.
구현 연결 파일 보기
tutorial-tools.tsxvendor/cutout-engine.jsrefine-edge.tsdocument.ts카메라 센서 데이터를 해독하고 16비트 출력으로 연결합니다
- 공개 기술이 맡은 역할
- LibRaw가 RAW 센서 데이터를 해독하고, colorhythm/libraw-wasm 래퍼가 브라우저에서 실행할 수 있도록 연결합니다. 포함한 래퍼 버전은 1.1.1입니다.
- 직접 연결·확장한 부분
- 카메라 화이트밸런스·현상 옵션·촬영 메타데이터를 편집 문서에 연결하고, 8비트 열기와 16비트 열기·TIFF 출력을 구분했습니다. 원본 RAW를 프로젝트에 보관해 다시 현상하는 흐름도 구현했습니다.

확인한 동작프리뷰가 없는 Bayer16 DNG와 실제 Sony ARW를 해독했습니다. 10월 29일 Sony ILME-FX30 예제를 3,120×2,084로 현상해 내보낸 TIFF의 모든 채널이 16비트인 것을 다시 확인했습니다.
구현 연결 파일 보기
camera-raw-import.tspublic-editor/static/raw-decoder/photoshot-worker.jsprecision-document.tsraw-dcp.ts파일을 열고, 레이어와 편집 정보를 이어갑니다
- 공개 기술이 맡은 역할
- ag-psd 31.0.3을 PSD/PSB 읽기·쓰기의 기반으로 사용하고, pako 2.1.0을 압축된 채널 데이터의 처리에 사용합니다.
- 직접 연결·확장한 부분
- 읽어온 레이어·마스크·혼합 모드·문자·패스·추가 데이터를 포토샷의 편집 상태와 연결하고, 저장할 때 다시 기록하는 코드를 확장했습니다. 네이티브 필터 데이터의 보존과 실제 재편집 지원은 구분해 검사합니다.

확인한 동작이번에는 Photoshop에서 만든 3레이어 PSD를 실제로 열어 레이어 구성과 혼합 모드를 확인했습니다. 별도 Face-Aware Liquify PSD/PSB 예제에서는 기존 얼굴 수치·메시 데이터가 보존되는지도 검사했습니다. 보존 검증이 모든 네이티브 필터의 수정 지원을 뜻하지는 않습니다.
구현 연결 파일 보기
psd-codec.tsprecision-psd.tspsd-filter-cache.tscreative-psd.ts검증 자료는 각 기능·파일·조건에 대한 기록입니다. 출력 차이와 미지원 경로를 남기고, 수정한 뒤 다시 검사하는 방식으로 완성도를 높이고 있습니다. 사용 기술·검증 범위 기록 ↗
개발 과정은 홈페이지 개발기에 공개하고 있습니다. 개별 기능을 넘어, 사용자가 하던 작업을 자연스럽게 이어갈 수 있는 편집기를 만들어가려 합니다.
포토샷에서 작업 시작하기자료와 출처
본문은 2026년 10월 28일 정리한 김기선의 인터뷰 답변을 바탕으로 구성했습니다.
- 보정 방식·예제 원본: PHLEARN · Dark & Moody Color Grading
- 참고 강좌: The Secret to Dark & Moody Coloring in Photoshop
- 기능별 인물 비교 사진: Unsplash License · 사진별 작가·출처는 비교 이미지 아래에 표시했습니다.
- 추가 보정 강좌: PHLEARN · Hue/Saturation · Black & White
- 거리 사진: Alanthebox · Wikimedia Commons · CC0
- 파일 열기 시험: PhotoCraft 0.16.0, Photoshot, Photopea, Pixlr · 2026.10.28 관찰. PhotoCraft 공식 형식 문서
- 화면 구성 참고: Jordan Hughes · Blog post — Untitled UI






