// {Code} · Desk — portfolio.config.tsimport { createSite } from './lib/core'; export const site = createSite({ name: '{Code} · Desk', role: 'Frontend Developer & Designer', stack: ['TypeScript', 'React', 'Next.js', 'GSAP'],}); type Section = { id: string; title: string; theme: 'light' | 'dark';}; const sections: Section[] = [ { id: 'about', title: 'About', theme: 'light' }, { id: 'work', title: 'Work', theme: 'light' }, { id: 'service', title: 'Service', theme: 'dark' }, { id: 'contact', title: 'Contact', theme: 'dark' },]; export function renderSections() { return sections.map((section) => { const node = mount(section.id); node.dataset.theme = section.theme; return node; });} async function build() { console.log('polishing pixels...'); await Promise.all([ optimizeImages(), inlineCriticalCss(), prefetchFonts(['Pretendard', 'Cormorant Garamond']), ]); return 'ready';} export default build;

About — 01 / 03

Empathize, Express, Connect

UI/UX는 이 세 단계의 끊임없는 반복입니다. 사용자의 목적과 불편함에 공감하고, 누구나 이해할 수 있는 직관적인 화면으로 표현하여, 결국 사용자와 서비스를 매끄럽게 연결하는 것.

How I Work

매번 다른 산업, 다른 사용자, 다른 예산 환경에서 작업해 왔습니다. 그럼에도 제가 흔들림 없이 지켜온 다섯 가지 설계 기준이 있습니다.

01

직감이 아닌 근거로 구조화합니다

감에 의존하지 않습니다. 시장의 유사 서비스를 분석해 검증된 패턴을 찾고, 확실한 데이터와 근거 위에서 정보 구조(IA)를 설계합니다. 디자이너의 개인적 취향이 아닌, 확인된 사실이 모든 설계의 출발점입니다.

02

비즈니스 목적에 맞는 핏을 찾습니다

공공기관은 신뢰와 접근성, 커머스는 탐색과 전환율, B2B 소프트웨어는 반복 작업의 효율이 최우선입니다. 모든 프로젝트에 같은 공식을 대입하지 않고, 해당 서비스의 성공 지표에 맞춘 잣대로 설계합니다.

03

사용자가 남긴 데이터에서 출발합니다

가장 많이 누르는 버튼, 이탈이 발생하는 구간, CS로 접수되는 불만 등 사용자는 이미 수많은 힌트를 남겨두었습니다. 추측으로 화면을 고치기 전에 데이터와 기록을 먼저 살피고 진짜 문제를 찾아냅니다.

04

실사용자의 눈높이에 맞춥니다

연령대가 다양한 퍼블릭 서비스는 글자를 키우고 동선을 단순하게, 실무자가 매일 쓰는 대시보드는 정보 밀도를 높이고 클릭을 최소화합니다. 프로덕트를 실제로 쓰는 사람이 누구인지 정의하는 것이 모든 디자인의 첫 단추입니다.

05

도구의 진화와 함께 성장합니다

도구도 사용자의 기대도 빠르게 바뀝니다. AI 툴을 적극적으로 활용해 프로토타입을 빠르게 검증하고, 프론트엔드 구현 환경을 고려하며 새로운 기술이 사용자 경험을 어떻게 확장할 수 있는지 끊임없이 탐구합니다. 멈춰 있는 디자인은 금방 낡기 마련입니다.

Contact

이 길을 함께 걷겠습니다 —
첫 스케치부터 마지막 픽셀까지.