미리보기
기본 정보

[사용자를 생각하는 사고의 시작] 어릴 때 부터 가족의 건강을 챙기며, 주변을 관찰하고 문제를 해결하려는 습관이 자연스레 자리 잡았습니다. 대학 시절, 고혈압 환자인 가족을 위해 고혈압 관리 앱을 기획하고 UI/UX 를 설계한 프로젝트를 수행했습니다. 단순히 기능을 나열하는 것이 아니라, 사용자의 흐름에 따라 구조를 짜고 시각적 전달력을 높이는 데 집중하였습니다. 이 경험은 제가 프론트엔드 개발에 관심을 가지게 된 계기였고, 기술이 사용자 경험을 변화시킨다는 점을 몸소 체험하게 해주었습니다. [기록하는 습관, 성장하는 코드] 새로운 개념이나 헷갈리는 부분을 마주할 때마다, 체계적으로 정리와 기록을 하며 지식을 내 것으로 만드는 습관을 길렀습니다. 이 기록 과정은 단순한 메모가 아닌, 지식을 재구성하고 깊게 이해하는 방법이 되었습니다. 덕분에 복잡한 프론트엔드 기술도 명확하게 이해하고 오래 기억할 수 있게 되었으며, 이렇게 쌓인 기록들은 현재 제가 문제를 해결하는 데 귀중한 자산이 되었습니다. 어떤 상황에서도 긍정적인 마인드로 도전을 즐기며, 이런 활기찬 에너지로 함께 일하는 동료들에게 좋은 영향을 주는 것을 좋아합니다.
기술 스택
JavaScript, TypeScript, React, Next.js, Firebase, Figma, HTML/CSS, TailwindCSS, zustand, react-query, GitHub, REST API, Slack
프로젝트
방방콕콕
기타
2025.04. ~ 2025.05.
팀원 4명
프로젝트 목적
기존 sns 의 과도한 정보속에서 사진 중심의 여행기록 서비스 필요성을 느껴 구현하게
되었습니다.
맡은 페이지
• 알림페이지
• 글쓰기 페이지
• qna 페이지
• 팔로우 버튼 기능
• not-found 페이지
문제점 (어려웠던 점) / 해결방안
1. 알림페이지 날짜 순으로 불러오기
알림페이지에서 최신순으로 불러와야 하는 데 파이어베이스에 문자열로 저장되어서 날짜순으로
불러오는 것처럼 보여지지만 중간에 옛날알림들이 섞여있다는 문제점이 있었습니다.
해결방안
찾아보니 파이어베이스의 Timestamp 타입이 있다는 것을 알게 되어 활용해서 파이어베이스에
날짜로 저장될 수 있었습니다. 최종적으로는 데이터베이스에서 알림을 가져 올때 날짜를
최신순으로 받아올 수 있게 되었습니다.
2. 글쓰기페이지에서 강조효과
글쓰기 페이지에서 글쓰는 페이지를 시각적으로 나타내기 위해 타이핑효과를 주고 싶었습니다.
해결방안
검색을 통해 제가 원하는 react-type-animation 이라는 라이브러리를 발견했습니다. 제가 원하는
효과랑 비슷했고 그 결과 사용자에게 시각적으로 게시글을 쓰는 페이지라는 것을 강조 할 수
있었습니다.
사용언어및 개발환경
• TypeScript, React, Next.js, Tailwind Css, tailwind-merge, Reactquery, Zustand, React
context
• Database/서비스연동
o Firebase, Kakaoapi, Tourapi
참고자료
requirements-project
기타
개인 프로젝트
프로젝트 목적
엑셀로 요구사항을 관리하는 것은 번거로운 작업이었습니다.
또한 이동 중이거나 컴퓨터가 없는 환경에서도 언제든지 요구사항을 확인하고 수정할 필요성을
느꼈습니다.
주요업무 및 상세역할
기능
• 수정/삭제 버튼을 통하여 자신의 프로젝트이면 수정과 삭제가 가능하도록 구현상세역할 • 공유버튼을 구현하여서 클릭시 링크가 복사되도록 하였습니다.
• 프로젝트의 제목을 클릭하여 들어가면 요구사항을 작성할 수 있도록 하였습니다.
• 요구사항에는 진행상태/요구사항이름/담당자/요구사항내용등 요구사항을 적을때 필요한 내용들을 입력할 수 있습니다.
o 누구나 볼 수 있도록 공유를 하기 위해 checkbox 를 클릭시 다른 유저도 볼 수 있도록 기능 구현
사용언어및 개발환경
• TypeScript, React, nexr.js, React-router-dom. Tailwindcss, tailwind-merge, React context
• Database
o Firebase
참고자료
Dazone
기타
개인 프로젝트
프로젝트 목적
React, TypeScript 사용경험 및 숙련도 향상을 위해 진행
주요업무 및 상세역할
기능 (md 파일들에 상세히 작성 되어있습니다. )
• 상품 클릭 시 디테일 페이지로 이동
• 상품가격 * 상품 개수 장바구니에 담기
• 결제할 때 토스 페이먼츠로 결제 비스므리한 시스템 도입
• 결제페이지에서 수량 수정 가능
• 장바구니에서 결제할 아이템만 별도 선택 가능
• 결제한 아이템만 장바구니에서 삭제 후 나의 주문내역으로 이동
• 회원 정보 수정 가능
• 다크모드 구현
사용언어및 개발환경
• TypeScript, React, React-router-dom, Tailwindcss, Vanilla extract, React context, React-query, Zustand
• Database
o Firebase
참고자료
Github : https://github.com/tmdtmddl/dazone
find-crew
기타
개인 프로젝트
프로젝트 목적
React, TypeScript 사용경험 및 숙련도 향상을 위해 진행
소개
개발자,디자이너,기획자의 프로젝트 팀 매칭 프로젝트
주요업무 및 상세역할
기능• 홈페이지에서 개발자랑 디자이너,기획자에 따라 미리 어떤직군을 찾는지 미리
선택해서 회원가입을 할 수 있도록 구현
• 팀 목록에서 내가 찾는 직군만 표시될 수 있도록 직군선택필터를 구현
• 직접 공고를 올릴 수 있도록 기능 구현
• 종료된 공고는 다시 재공고 할 수 있도록 개발
• 팀 매칭 시작하기 버튼을 누르면 공고를 스크랩 하도록 구현
o 스크랩한 공고는 나의 매칭 진행중 팀에서 확인할 수 있도록 기능 구현
• 매칭이 완료된 팀은 나와 매칭완료로 이동
• 프로필에서 이름을 변경 가능
• 자신이 등록한 공고는 수정이 가능
• 공고를 통해 지원자들중에 내가 원하는 지원자를 선택 가능
문제점 (어려웠던 점) / 해결 방안
문제점: 웹소켓대신 실시간 채팅 구현 중 useEffect 와 Firebase 실시간 리스너 충돌
Firebase 의 onSnapshot 실시간 리스너를 사용하여 채팅 기능을 구현하던 중, useEffect 가
반복적으로 계속 감시를 하면서 호출이 되었습니다.
해결방안 및 임시 조치
• useEffect 의존성 배열을 최소화.
• 웹소켓 미도입 상태에서 Firebase 리스너만으로 기능을 최소한으로 구현.
한계 및 계획
• 현재 구현 방식은 Firebase 의 실시간 리스너에 의존하고 있어, 정밀한 타이밍 제어나
이벤트 처리 한계 존재.
• 추후 WebSocket 기반으로 전환 예정
사용언어 및 개발환경
• TypeScript, React, React-router-dom, Tailwind Css, Tailwind-merge, React context, React Query, Zustand
• Database
o Firebase
참고자료
포트폴리오
교육
DW아카데미
사설 교육 | 디자인 시각화 UI 개발자트랙
2024.11. ~ 2025.05. | 수료
대전보건대
대학교(전문학사) | 식품영양학과
2019.03. ~ 2023.02. | 졸업
자격증
운전면허증
1종 | 경찰청(운전면허시험관리단)
2019.10.
자기소개
1. 성격의 장단점 - “협업에 강한 개발자”
저는 주변을 살피고 먼저 행동하는 솔선수범형 성격입니다. 팀 프로젝트에서는 조원이 어려움을 겪을 때 먼저
다가가 도우며, 팀 전체의 완성도를 높이고자 노력했습니다.
다만, 책임감이 지나쳐 팀원의 업무까지 떠안아 결과적으로 제 작업에 지장을 준 경험도 있습니다. 이를 통해
현재는 업무 분장과 책임 범위를 명확히 하면서도 유연하게 소통하는 태도를 갖추게 되었고, 회의와 피드백을
통해 팀 전체의 생산성을 고려하는 습관이 생겼습니다.
2. 학창시절 및 협업 경험 - “빠르게 실험하고 함께 완성하는 사람”
대학교에서는 다양한 조별 과제를 수행하며 협업의 본질은 상호 보안에 있다는 점을 깨달았습니다. 전공 과제를
함께 수행하며 자료조사와 질의응답을 나누고, 부족한 부분을 서로 채워가며 공동의 목표를 완수한 경험은 개발
팀워크에서도 중요한 기반이 되었습니다.
또한 Git 과 Figma 를 활용해 팀 프로젝트를 지행하며, 단순히 기능을 나누는 것을 넘어 전체 목표를 이해하고
조율하며 완성도 높은 결과물을 만들어내는 경험을 쌓았습니다.
3. 포부 - “사용자 경험을 완성하는 개발자가 되겠습니다”
입사 후에는 프론트엔드개발자로서 팀과 함께 사용자 중심의 화면을 구현하고, 데이터를 명확하게 전달할 수
있는 UI/UX 를 설계하며 실무 경험을 넓혀가고 싶습니다.
작은 업무 부터 책임감 있게 수행하며, 팀의 코드 스타일과 개발 흐름을 빠르게 익혀 실질적인 기여를 할 수
있는 개발자로 자리잡겠습니다.
장기적으로는 단순한 UI 구현을 넘어 서비스 흐름 전반을 이해하고 개선점을 제안하며, 사용자에게 더 나은
경험을 제공하는 화면을 설계하는 역할을 맡고 싶습니다.
기술과 사용자의 접점을 설계하는 접점을 설계하는 프론트엔드 개발자로서, 변화하는 서비스와 함께
성장하겠습니다.