+ );
}
diff --git a/src/pages/Home.jsx b/src/pages/Home.jsx
index 4c9fd25..c98472f 100644
--- a/src/pages/Home.jsx
+++ b/src/pages/Home.jsx
@@ -1,11 +1,47 @@
-import { Link } from 'react-router-dom'
-import Section from '../components/Section'
-import ProjectGrid from '../components/ProjectGrid'
+import { Link } from "react-router-dom";
+import Section from "../components/Section";
+import ProjectGrid from "../components/ProjectGrid";
export default function Home() {
- return <>
-
UX / UI Designer & Visual Thinker
Making space for better ideas.
A starter portfolio for documenting thoughtful digital experiences, experiments, and everything in between.
More about me ↗
-
Use this space to introduce your point of view. Replace this placeholder with a short statement about what you care about, how you work, or what you are currently exploring.
Currently available for selected projects · Seoul, KR
-
- >
+ return (
+ <>
+
+
UX / UI Designer & Visual Thinker
+
+ Making space
+
+ for better ideas.
+
+
+ A starter portfolio for documenting thoughtful digital experiences,
+ experiments, and everything in between.
+
+
+ More about me ↗
+
+
+
+
+
+ Use this space to introduce your point of view. Replace this
+ placeholder with a short statement about what you care about, how
+ you work, or what you are currently exploring.
+
+
+ Currently available for selected projects · Seoul, KR
+
+
+
+
+
+
+ >
+ );
}
diff --git a/src/pages/projects/Project03.jsx b/src/pages/projects/Project03.jsx
index c704a0a..3fcab3c 100644
--- a/src/pages/projects/Project03.jsx
+++ b/src/pages/projects/Project03.jsx
@@ -1,5 +1,44 @@
-import Section from '../../components/Section'
-import ProjectHero from '../../components/ProjectHero'
-import ProjectNavigation from '../../components/ProjectNavigation'
-const image = 'https://images.unsplash.com/photo-1550745165-9bc0b252726f?auto=format&fit=crop&w=2200&q=85'
-export default function Project03() { return
A visual system in motion
Keep the words minimal when the work can carry the story. Add your own images to the public/images folder and update this page.
This template is a starting point. Change the visual language, layout, and interaction until it feels like you.
}
+import Section from "../../components/Section";
+import ProjectHero from "../../components/ProjectHero";
+import ProjectNavigation from "../../components/ProjectNavigation";
+const image =
+ "https://images.unsplash.com/photo-1550745165-9bc0b252726f?auto=format&fit=crop&w=2200&q=85";
+export default function Project03() {
+ return (
+
+
+
+
+
+
A visual system in motion
+
+ Keep the words minimal when the work can carry the story. Add your
+ own images to the public/images folder and update this page.
+
+
+
+
+
+
+ This template is a starting point. Change the visual language, layout,
+ and interaction until it feels like you.
+
+
+
+
+ );
+}
diff --git a/src/pages/projects/Project04.jsx b/src/pages/projects/Project04.jsx
new file mode 100644
index 0000000..2651ef5
--- /dev/null
+++ b/src/pages/projects/Project04.jsx
@@ -0,0 +1,320 @@
+import "../../styles/project04.css";
+
+const assets = {
+ logo: "https://www.figma.com/api/mcp/asset/cad898eb-d97c-4f72-aa0b-ce0dd80249b3.svg",
+ background:
+ "https://www.figma.com/api/mcp/asset/c6f558f3-e758-4a9c-a15e-fd593c117399.png",
+ research:
+ "https://www.figma.com/api/mcp/asset/de3b0a7f-dfd1-476e-b815-0dc84523784a.png",
+ twitter:
+ "https://www.figma.com/api/mcp/asset/b1bb5468-0fcf-4873-9c84-f0a84ce43ac1.png",
+ data: "https://www.figma.com/api/mcp/asset/aa7a4652-e2bf-4f74-a913-eb224af4bb59.png",
+ cases:
+ "https://www.figma.com/api/mcp/asset/070c000e-6945-4224-8883-6423c83c2404.png",
+ persona:
+ "https://www.figma.com/api/mcp/asset/5884f613-5caa-4029-836f-724b9de9ab7e.png",
+ flow: "https://www.figma.com/api/mcp/asset/23699d5e-e1e5-4f48-b170-85646137c599.png",
+};
+
+const features = [
+ [
+ "MAIN FEATURES 01",
+ "티켓은 판매 전에 AI가 먼저 검증해요",
+ "위조 티켓과 동일 티켓의 중복 등록으로 발생하는 사기를 예방하기 위해 판매자가 예매 내역을 등록하면 AI가 위조 여부와 중복 등록 여부를 자동으로 검사합니다. 사기가 발생한 뒤 환불하는 것이 아니라 거래가 시작되기 전에 미리 차단하는 방식으로 검증을 통과한 티켓만 판매할 수 있도록 했습니다.",
+ ],
+ [
+ "MAIN FEATURES 02",
+ "X(트위터)를 떠나지 않아도 안전하게 거래할 수 있어요",
+ "안전한 거래를 위해 새로운 앱으로 이동해야 하는 불편함을 해결하고자 X(트위터)에서 바로 이용할 수 있는 SaaS형 안전결제 플랫폼을 설계했습니다. 게시글에 안전결제 링크를 연결하여 판매와 구매 모두 X(트위터)에서 가능하며 사용자는 익숙한 SNS 환경을 벗어나지 않고도 안전하게 거래할 수 있습니다.",
+ ],
+ [
+ "MAIN FEATURES 03",
+ "돈은 티켓을 받을 때까지 안전하게 보관돼요",
+ "공연 직전까지 티켓을 받지 못하거나 판매자가 잠적하는 문제를 해결하기 위해 안전결제를 도입했습니다. 결제 금액은 중간에서 보관하고, 판매자에게 티켓 전송 기한을 두어 거래를 관리합니다. 구매자가 수령 확인과 구매 확정을 완료해야만 정산이 이루어지며 문제가 발생하면 자동으로 환불됩니다.",
+ ],
+];
+
+function Label({ children }) {
+ return
+
+ 티켓 사기는 환불을 받더라도 이미 지나간 공연은 다시 볼 수 없다는 점
+ 때문에 사전 예방이 가장 중요합니다. 이 점에 주목해 사기가 빈번한
+ X(트위터) 티켓 양도 거래 환경의 한계를 보완하고자 사전 AI 이미지
+ 검증을 도입하여 사용자가 익숙한 SNS 환경을 떠나지 않고도 안전하게
+ 거래할 수 있도록 설계했습니다.
+
+
+
+ 평소 X(트위터)에서 티켓 양도 거래가 활발하고 사기도 많다는 것은 알고
+ 있었으나 문득 이상한 점이 눈에 들어왔습니다. 티켓은 다른 P2P 거래와
+ 달리 환불을 받더라도 이미 지나간 공연은 다시 볼 수 없다는
+ 점이었습니다. 또한 현장수령, 모바일 등 티켓은 거래 방식과 예매
+ 형태에 따라 고려해야 할 변수가 일반적인 P2P 안전장치만으로는 한계가
+ 있다고 생각했습니다.
+
+
+
+ AI TICKET CHECK
+
+ {index === 0
+ ? "검증 완료"
+ : index === 1
+ ? "안전결제 연결"
+ : "결제금액 보관 중"}
+
+
+ {index === 0
+ ? "판매 전 티켓 정보를 확인했어요"
+ : index === 1
+ ? "X에서 바로 거래를 시작하세요"
+ : "티켓 수령 후 판매자에게 정산돼요"}
+
+
+
+
+ ))}
+
+
+
+
+
+ “Why do users keep trading Tickets on x(Twitter) despite the risk of
+ scams?”
+
+
+ 왜 사용자는 '사기 위험'을 알면서도 X(트위터)에서의 티켓 거래를 멈추지
+ 못할까?
+
+
+
+
+
+ 먼저 어떤 품목의 사기 피해가 가장 큰지 확인하고자 뉴스 17건과 학술
+ 연구 6건을 분석했습니다. 그 결과 티켓·상품권이 사기 피해 1위였고, 20대
+ 피해가 가장 많았으며 10대 피해도 늘고 있었습니다. 티켓류 중 상품권과
+ 이용권은 사후 환불로 해결이 가능해 제외했습니다. 환불로도 공연이
+ 돌아오지 않는 점에서 티켓만 최종 대상으로 남겼습니다.
+
+
+
+ 품목을 티켓으로 좁힌 뒤에는 X(트위터)에서 티켓 사기가 실제로 많은지
+ 검증했습니다. 더치트의 실제 티켓 사기 사례를 분석한 결과, 대부분이
+ X(트위터) 거래였습니다. 자체 안전거래 시스템 없이 DM으로 거래가
+ 이루어져 구조적으로 사기를 막기 어렵다는 점도 확인했습니다.
+
+
+
+
+
+
+
+ 구조적으로 위험하다는 점을 확인한 뒤, 안전장치가 부족한데도 왜
+ 사용자들은 여전히 X(트위터)에서 거래하는지를 알고자 했습니다. 더치트
+ 사기 후기와 커뮤니티 사례, 피해자 인터뷰 방송을 통해 가짜 예매 내역
+ 인증, 조급한 입금 유도 등 반복되는 사기 패턴을 확인했습니다.
+
+
+
+
+
+
+ P2P 거래 특성상 개인 간 신뢰에 의존해 사기 위험이 높으며 기존 서비스는
+ 예방이 아닌 피해 이후 보상에 집중되어 있다.
+
+
+
+
+
+
+
“How might we make ticket trading safe and easy on X(Twitter)?”
+
+ 어떻게 하면 익숙한 X(트위터) 환경은 유지하면서 구매자는 안전하고
+ 판매자는 간편하게 티켓을 거래할 수 있을까?
+
+
+
+
+
+ 사기 예방부터 거래 편의성 개선까지 다양한 아이디어를 도출했습니다.
+ 이후 별도의 노력을 들이지 않아도 거래 과정 안에서 자연스럽게 안전성을
+ 확보할 수 있도록 사전 검증과 신뢰 형성에 집중하는 방향으로 아이디어를
+ 발전시켰습니다.
+
+
+
+
+
+
+ 구매자는 실제로 안전하다고 느끼고, 판매자는 쉽게 거래할 수 있는가?
+
+
+
+ WIREFRAME
+
+ 핵심 기능 구현을 위한 화면 구조 설계
+
+
+ USER FLOW
+
+ AI 기반 티켓 검증 프로세스 설계
+
+
+ USABILITY TEST
+
+ 구매자 신뢰와 판매자 편의성 검증
+
+
+
+
+
+
+
+
+ 요청 뒤의 진짜 문제 찾기 사용자가 말한 요청이 가리키는 진짜
+ 불안을 찾아내는 법을 배웠습니다.
+
+
+ 안전과 이탈 없음 사이의 균형 안전장치를 더하는 것과
+ 사용자를 지치게 하지 않는 것 사이의 균형을 배웠습니다.
+
+
+ 기술적 한계 안에서 설계하기 좋은 디자인은 한계를 인정하고
+ 그 안에서 최선의 답을 찾는 것입니다.
+
+ );
+}
+function Media({ src, alt = "", className = "" }) {
+ return (
+
+
+
+ );
+}
+
+const features = [
+ [
+ "MAIN FEATURES 01",
+ "티켓은 판매 전에 AI가 먼저 검증해요",
+ "위조 티켓과 동일 티켓의 중복 등록으로 발생하는 사기를 예방하기 위해 판매자가 예매 내역을 등록하면 AI가 위조 여부와 중복 등록 여부를 자동으로 검사합니다. 사기가 발생한 뒤 환불하는 것이 아니라 거래가 시작되기 전에 미리 차단하는 방식으로 검증을 통과한 티켓만 판매할 수 있도록 했습니다.",
+ ],
+ [
+ "MAIN FEATURES 02",
+ "X(트위터)를 떠나지 않아도 안전하게 거래할 수 있어요",
+ "안전한 거래를 위해 새로운 앱으로 이동해야 하는 불편함을 해결하고자 X(트위터)에서 바로 이용할 수 있는 SaaS형 안전결제 플랫폼을 설계했습니다. 게시글에 안전결제 링크를 연결하여 판매와 구매 모두 X(트위터)에서 가능하며 사용자는 익숙한 SNS 환경을 벗어나지 않고도 안전하게 거래할 수 있습니다.",
+ ],
+ [
+ "MAIN FEATURES 03",
+ "돈은 티켓을 받을 때까지 안전하게 보관돼요",
+ "공연 직전까지 티켓을 받지 못하거나 판매자가 잠적하는 문제를 해결하기 위해 안전결제를 도입했습니다. 결제 금액은 중간에서 보관하고, 판매자에게 티켓 전송 기한을 두어 거래를 관리합니다. 구매자가 수령 확인과 구매 확정을 완료해야만 정산이 이루어지며 문제가 발생하면 자동으로 환불됩니다.",
+ ],
+];
+
+export default function Project05() {
+ return (
+
+
+
+
+
+
+
+
+
+
카카오T with 시니어 맞춤 AI 보이스 에이전트
+
+
+
+
+
+ 티켓 사기는 환불을 받더라도 이미 지나간 공연은 다시 볼 수 없다는 점
+ 때문에 사전 예방이 가장 중요합니다. 이 점에 주목해 사기가 빈번한
+ X(트위터) 티켓 양도 거래 환경의 한계를 보완하고자 사전 AI 이미지
+ 검증을 도입하여 사용자가 익숙한 SNS 환경을 떠나지 않고도 안전하게
+ 거래할 수 있도록 설계했습니다.
+
+
+
+ 평소 X(트위터)에서 티켓 양도 거래가 활발하고 사기도 많다는 것은 알고
+ 있었으나 문득 이상한 점이 눈에 들어왔습니다. 티켓은 다른 P2P 거래와
+ 달리 환불을 받더라도 이미 지나간 공연은 다시 볼 수 없다는
+ 점이었습니다. 또한 현장수령,모바일 등 티켓은 거래 방식과 예매 형태에
+ 따라 고려해야 할 변수가 일반적인 P2P 안전장치만으로는 한계가 있다고
+ 생각했습니다. 저는 이 차이에 주목했고, 티켓 사기는 티켓 거래에
+ 특화된 방식으로 접근해야 한다고 생각해 이 프로젝트를 시작하게
+ 되었습니다.
+
+
+
+
+ {index === 0
+ ? "AI TICKET CHECK"
+ : index === 1
+ ? "SAFE ON X"
+ : "ESCROW PAYMENT"}
+
+
+ {index === 0
+ ? "검증 완료"
+ : index === 1
+ ? "안전결제 연결"
+ : "결제금액 보관 중"}
+
+
+ {index === 0
+ ? "판매 전 티켓 정보를 확인했어요"
+ : index === 1
+ ? "익숙한 환경에서 거래하세요"
+ : "티켓 수령 후 정산돼요"}
+
+
+
+
+ ))}
+
+
+
+
+
+
+ “Why do users keep trading Tickets on x(Twitter) despite the risk of
+ scams?”
+
+
+ 왜 사용자는 '사기 위험'을 알면서도 X(트위터)에서의 티켓 거래를 멈추지
+ 못할까?
+
+
+
+
+
+ 먼저 어떤 품목의 사기 피해가 가장 큰지 확인하고자 뉴스 17건과 학술
+ 연구 6건을 분석했습니다. 그 결과 티켓·상품권이 사기 피해 1위였고, 20대
+ 피해가 가장 많았으며 10대 피해도 늘고 있었습니다. 젊은 층도 쉽게
+ 피해를 입을 만큼 사기 수법이 교묘해지고 있다는 점에서 반드시 풀어야 할
+ 문제라고 판단했습니다. 티켓류 중 상품권과 이용권은 사후 환불로 해결이
+ 가능해 제외했습니다. 환불로도 공연이 돌아오지 않는 점에서 티켓만 최종
+ 대상으로 남겼습니다.
+
+
+
+ 구조적으로 위험하다는 점을 확인한 뒤, 안전장치가 부족한데도 왜
+ 사용자들은 여전히 X(트위터)에서 거래하는지를 알고자 했습니다. 더치트
+ 사기 후기와 커뮤니티 사례, 피해자 인터뷰 방송을 통해 가짜 예매 내역
+ 인증, 조급한 입금 유도 등 반복되는 사기 패턴을 확인했고, 실시간으로
+ 많은 매물량과 팬덤 중심의 높은 접근성 때문에 사용자들이 위험을
+ 감수하면서도 X(트위터)를 이용할 수밖에 없다는 이유를 발견했습니다.
+
+
+
+ 시장 조사를 위해 이미 안전장치를 갖춘 경쟁사도 함께 분석했습니다. 그
+ 중 티켓 전문 거래 플랫폼은 사기 발생 시 100% 환불을 제공하고 있었지만
+ 공연일까지 기다리다가 판매자가 무단 취소하는 문제가 있었습니다. 이를
+ 통해 기존 서비스는 사후 보상에는 대응하고 있지만 거래 과정에서
+ 발생하는 위험을 사전에 줄이는 데에는 한계가 있음을 확인했습니다.
+
+
+
+
+
+
+ 앞선 리서치를 바탕으로 팬 1명, 일반 관람객 2명을 대상으로 인터뷰를
+ 진행했습니다. 사용자들은 예상대로 X(트위터)의 위험성을 알고 있었지만
+ 티켓을 빠르게 찾을 수 있다는 이유로 계속 이용하기도 했습니다. 새로운
+ 문제를 발견하기보다는 앞서 확인한 ‘위험을 알면서도 떠나지 못하는
+ 이유’를 검증하는 과정이었습니다.
+
+
+
+
+
+
+
+
+
+
+
+ “P2P trust gaps lead to fraud, while current solutions focus on
+ compensation.”
+
+
+ P2P 거래 특성상 개인 간 신뢰에 의존해 사기 위험이 높으며 기존 서비스는
+ 예방이 아닌 피해 이후 보상에 집중되어 있다.
+
+
+
+
+ 인터뷰를 통해 도출한 인사이트를 바탕으로 구매자와 판매자 퍼소나를
+ 제작했습니다. 구매자는 사기 위험에 대한 불안과 원하는 티켓을 빠르게
+ 구해야 하는 부담이 있었고, 판매자는 티켓 등록 과정과 반복적인 채팅의
+ 번거로움을 경험하고 있었습니다.
+
+
+
+
+
+
+
+
+
+
“How might we make ticket trading safe and easy on X(Twitter)?”
+
+ 어떻게 하면 익숙한 X(트위터) 환경은 유지하면서 구매자는 안전하고
+ 판매자는 간편하게 티켓을 거래할 수 있을까?
+
+
+
+
+ 사기 예방부터 거래 편의성 개선까지 31가지의 다양한 아이디어를
+ 도출했습니다. 이후 사용자가 익숙한 거래 환경은 유지하면서 별도의
+ 노력을 들이지 않아도 거래 과정 안에서 자연스럽게 안전성을 확보할 수
+ 있도록 사전 검증과 신뢰 형성에 집중하는 방향으로 아이디어를
+ 발전시켰습니다.
+
+
+
+ 도출한 아이디어는 MoSCoW Matrix를 활용해 우선순위를 정리했습니다. 특히
+ Must Have는 ‘해당 기능이 없을 경우 사기 예방이라는 서비스의 핵심
+ 가치가 무너지는가’와 ‘안전한 거래 환경 구축에 필수적인가’를 기준으로
+ 선정했습니다.
+
+
+
+ 사기를 걱정하면서도 원하는 티켓을 위해 X(트위터)를 사용할 수밖에 없던
+ 사용자가 AI 검증과 안전장치를 통해 안심하고 X(트위터)에서 거래하는
+ 과정을 스토리보드로 제작했습니다.
+
+
+
+ 판매 전 단계에 예매 내역 이미지 기반 AI 검증을 적용해 구매자의 진위
+ 확인 부담을 줄였습니다. 또한 티켓 유형별 판매 절차를 구분해 판매자는
+ 쉽게 등록하고, 구매자는 검증된 정보를 바탕으로 거래할 수 있도록
+ 설계했습니다.
+
+
+
+
+
+
+ 도출한 아이디어는 MoSCoW Matrix를 활용해 우선순위를 정리했습니다. 특히
+ Must Have는 안전한 거래 환경 구축에 필수적인지를 기준으로
+ 선정했습니다.
+
+
+
+
+
+
+
+
“Do Buyers Feel Safe and Can Sellers Trade Easily?”
+
+ 구매자는 실제로 안전하다고 느끼고, 판매자는 쉽게 거래할 수 있는가?
+
+
+
+ 정의한 사용자 흐름과 기능 구조를 바탕으로 와이어프레임을 제작했습니다.
+ 시각적 요소보다 화면 간 연결과 주요 기능의 배치를 검토하는 데 집중하고
+ 아이디어를 빠르게 시각화하려 했습니다.
+
+
+
+
+
+
+ 사용자 경험을 시뮬레이션하고 디자인 솔루션을 검증하기 위해
+ 프로토타입을 제작했습니다.
+
+
+
+ 구매자와 판매자 각각의 흐름을 실제 서비스처럼 연결해 핵심 기능의
+ 이해도와 거래 경험을 확인했습니다.
+
+
+
+
+
+
+ 마지막으로 확인하고 싶었던 건 화면이 작동하는지가 아니라 구매자가
+ 실제로 안심을 느끼는지와 판매자는 판매 흐름이 쉽고 자연스러운지
+ 여부였습니다. 그래서 2명의 사용자에게 과업을 주고 따로 관찰하는 사용성
+ 테스트를 진행했습니다.
+
+
+ 테스트 결과, 구매자는 AI 검증과 안전결제를 통해 거래에 대한 신뢰를
+ 느꼈으며 에스크로 구조도 별도 설명 없이도 쉽게 이해했습니다. 판매자는
+ 복잡한 절차 없이 간편하게 등록할 수 있다는 점에서 긍정적인 반응을
+ 보였습니다. SUS 점수 또한 평균 86.3점으로 우수한 사용성 평가를
+ 받았습니다.
+
+
+
+
+
+
+
+
+
+
+
+ 요청 뒤의 진짜 문제 찾기 사용자가 말한 요청을 그대로 만들지
+ 않고, 그 요청이 가리키는 진짜 불안을 찾아내는 법을 배웠습니다.
+
+
+ 안전과 이탈 없음 사이의 균형 안전장치를 더하는 것과
+ 사용자를 지치게 하지 않는 것 사이에서 균형을 잡는 게 진짜 설계라는
+ 걸 배웠습니다.
+
+
+ 기술적 한계 안에서 설계하기 예매처 API가 공개되지 않아 할
+ 수 없는 일이 많았습니다. 좋은 디자인은 그 한계를 인정하고 그
+ 안에서 최선의 답을 찾는 것입니다.
+