Skip to content

Commit

Permalink
✨ Simplify resume
Browse files Browse the repository at this point in the history
  • Loading branch information
dohyun-ko committed Sep 14, 2024
1 parent e3b793c commit 851e284
Show file tree
Hide file tree
Showing 17 changed files with 172 additions and 173 deletions.
2 changes: 1 addition & 1 deletion build/404.html
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@
region: "eu",
});
</script>
<script type="module" crossorigin src="/assets/index-5f9cb0ba.js"></script>
<script type="module" crossorigin src="/assets/index-14589612.js"></script>
<link rel="stylesheet" href="/assets/index-32718201.css">
</head>
<body>
Expand Down
104 changes: 52 additions & 52 deletions build/assets/index-5f9cb0ba.js → build/assets/index-14589612.js

Large diffs are not rendered by default.

4 changes: 4 additions & 0 deletions build/assets/link-d75ae928.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion build/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@
region: "eu",
});
</script>
<script type="module" crossorigin src="/assets/index-5f9cb0ba.js"></script>
<script type="module" crossorigin src="/assets/index-14589612.js"></script>
<link rel="stylesheet" href="/assets/index-32718201.css">
</head>
<body>
Expand Down
22 changes: 19 additions & 3 deletions src/locales/ko-KR/current.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,29 @@ const current = {
url: "https://github.com/gsainfoteam/ziggle-fe",
startedAt: "2023-04",
description:
"GIST 통합 공지 플랫폼인 Ziggle의 프론트엔드를 개발하고 있습니다. React로 초기버전 개발 및 Next.js로 migration을 하였으며, GraphQL, Apollo Client 등 다양한 기술을 적극 도입하고 있습니다. 교내에 성공적으로 정착하여 학부 인원의 25%인 DAU 200명을 유지중입니다.",
whatIDid: ["팀장 및 프론트엔드 개발"],
"GIST 통합 공지 플랫폼인 Ziggle의 팀장 및 프론트엔드를 개발하고 있습니다.",
whatIDid: [
"React로 초기버전 개발 및 Next.js로 migration",
"GraphQL, Apollo Client 등 다양한 기술 도입",
"학부생의 25%인 DAU 200명 유지 중",
],
techStacks: ["React", "TypeScript", "Next.js", "Tailwind CSS"],
},
{
name: "IdP 프론트엔드",
name: "프론트엔드 코어",
isImportant: true,
startedAt: "2022-09",
description:
"팀 내 프론트엔드 기술 수준을 향상시키기 위해 노력하고 있습니다.",
whatIDid: [
"i18n 도입으로 다국어 지원",
"Atomic 패턴 도입 및 Storybook으로 문서화",
"Playwright를 이용한 E2E 테스트 자동화",
],
},
{
name: "IdP 프론트엔드",
isImportant: false,
url: "https://idp.gistory.me",
startedAt: "2024-03",
description:
Expand Down
74 changes: 30 additions & 44 deletions src/locales/ko-KR/experience.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,12 @@ const experience = {
startedAt: "2024-01",
endedAt: "2024-05",
description:
"AI의 추론능력을 평가하는 벤치마크 [ARC](https://github.com/fchollet/ARC) 사람 풀이 데이터 수집을 위한 툴 O2ARC 3.0을 개발했습니다. 기존 툴에서 수집된 데이터는 학습에 쓰기 어려운 형태였으며, 이를 유저가 취할 수 있는 행동을 제한해 AI 학습에 유리한 형태의 데이터 1만개 이상을 수집하였습니다. IJCAI 2024에 공동 1저자로 논문을 게재하였습니다.",
"[ARC](https://github.com/fchollet/ARC)(AI 추론능력 벤치마크)를 사람이 푼 데이터를 수집하기 위해 O2ARC 3.0을 개발했습니다. 스타트업 프로덕트처럼 접근해 데이터 수집량을 대폭 늘렸습니다.",
whatIDid: [
"전체적인 프론트엔드 UI 및 그리드 조작 로직 개발",
"이벤트 관련 Nestjs API 및 role guard 개발",
"수집 데이터 품질 개선을 위한 UX 디자인 및 유저 데이터 수집",
"JQuery 기반 시스템을 React로 전부 재작성",
"그리드 조작 UX 개선으로 매우 저조하던 오브젝트 액션(AI 학습에 적합) 사용 빈도가 문제당 7회 이상으로 증가",
"유저가 자발적으로 문제를 풀도록 gamification과 이벤트 및 타겟 광고 도입. 데이터 수집속도가 6개월간 2천개 -> 3개월간 1만개로 증가",
"IJCAI 2024에 공동 1저자로 논문 게재",
],
techStacks: [
"React",
Expand Down Expand Up @@ -59,12 +60,12 @@ const experience = {
startedAt: "2022-08",
endedAt: "2023-03",
description:
"AI 기반으로 강아지 사이즈를 측정하고, 맞는 옷을 추천해주는 쇼핑몰 Doggly의 FE를 개발했습니다. 결제모듈을 포함한 쇼핑몰의 전체적인 기능과 판매자용 페이지, admin용 페이지를 전부 개발하였으며 retention 향상을 위해 PWA와 웹뷰 android/ios 앱도 개발하였습니다. 유저 퍼널 개선을 위해 로깅과 A/B 테스팅도 수행하였습니다.",
"AI 기반으로 강아지 사이즈를 측정하고, 맞는 옷을 추천해주는 쇼핑몰 Doggly(유저수 2000+)의 FE를 개발했습니다.",
whatIDid: [
"쇼핑몰의 전체적인 프론트엔드 개발, 반응형 작업 및 유지보수",
"Android(Jetpack Compose) & iOS(SwiftUI) 웹뷰 앱 개발 및 js bridge를 이용한 결제 모듈(포트원) 연동",
"퍼널 개선을 위한 UI A/B 테스팅",
"zero install과 Vite 도입으로 CI/CD 속도 개선",
"쇼핑몰, 판매자 페이지, 관리자 페이지 프론트엔드 대부분 개발, 반응형 작업 및 유지보수",
"PWA & Android(Jetpack Compose) & iOS(SwiftUI) 웹뷰 앱 개발 및 js bridge를 이용한 결제 모듈(포트원) 연동",
"에러 사후 대응을 위한 로깅 도입, 결제 오류 시 30분 내로 유저에게 연락할 수 있도록 개선",
"UI A/B 테스팅으로 한 달간 유저 전환율(상품 확인) 40% 이상으로 증가",
],
techStacks: [
"React",
Expand All @@ -77,54 +78,39 @@ const experience = {
],
},
{
name: "러시아워 프론트엔드",
name: "러시아워",
isImportant: true,
url: "https://introduce.rushhourkorea.com/",
startedAt: "2023-05",
endedAt: "2023-07",
endedAt: "2023-12",
description:
"지하철 빈 자리를 알려주는 서비스인 러시아워의 프론트엔드와 웹뷰 앱을 개발했습니다. 웹뷰지만 네이티브 앱과 구별할 수 없는 사용자 경험을 제공하기 위해 노력했습니다.",
"지하철 혼잡도와 빈 자리를 알려주는 서비스인 러시아워의 프론트엔드/앱/ML을 개발했습니다.",
whatIDid: [
"러시아워 웹뷰용 프론트엔드 개발",
"러시아워 android & ios 웹뷰 앱 개발",
"러시아워 웹뷰용 프론트엔드 전체 개발, 네이티브 앱처럼 느껴지도록 스크롤과 네비게이션 조정",
"GA, Amplitude, Smartlook, 자체 로깅 시스템을 통해 유저의 모든 행동 로깅",
"지하철 혼잡도 데이터를 이용해 ML 기반으로 역/시간대별 혼잡도를 예측하는 AI 개발",
],
techStacks: [
"React",
"TypeScript",
"Jetpack Compose",
"SwiftUI",
"Flutter",
"Firebase",
],
techStacks: ["React", "TypeScript", "Jetpack Compose", "SwiftUI"],
},
{
name: "러시아워 앱",
isImportant: true,
url: "https://introduce.rushhourkorea.com/",
startedAt: "2023-07",
endedAt: "2023-10",

description:
"러시아워의 플러터 버전 개발에 참여했습니다. GA, Amplitude, Smartlook, 자체 로깅 시스템을 통해 유저 로그를 수집하였고, 웹 상에서 리텐션, 퍼널을 계산할 수 있는 자체 로그 분석 툴도 개발하였습니다.",
whatIDid: ["러시아워 Flutter 앱 개발", "앱 유저 로그 기록"],
techStacks: ["Flutter", "Firebase", "React", "TypeScript"],
},
{
name: "러시아워 AI",
isImportant: true,
startedAt: "2023-09",
endedAt: "2023-12",

description:
"지하철 혼잡도 데이터를 이용해 ML 기반으로 혼잡도를 예측하는 AI를 개발하였습니다.",
whatIDid: ["지하철 혼잡도 및 빈자리 예측 AI 개발"],
techStacks: ["Scikit-learn", "Pandas"],
},
{
name: "기타",
name: "기획자/개발자 생산성 향상",
isImportant: true,
startedAt: "2022-02",
endedAt: "2023-12",
description:
"스타트업의 개발자로서 기획자의 업무를 자동화하고 개발자의 생산성을 향상시키기 위해 노력했습니다. 초기창업팀의 일원으로서 박람회 및 펫페어 부스 운영, 유저 인터뷰, 협력사 미팅 등 다양한 업무를 수행하였습니다. 특히 현장에서 피드백을 받고 반영할 일이 많았기에 작업 속도를 높이고 자동 배포 시간을 단축(3분->1분)했습니다.",
"스타트업의 개발자로서 기획자의 업무를 자동화하고 개발자의 생산성을 향상시키기 위해 노력했습니다. 초기창업팀의 일원으로서 박람회 및 펫페어 부스 운영, 유저 인터뷰, 협력사 미팅 등 다양한 업무를 수행하였습니다.",
whatIDid: [
"랜딩 페이지 및 관리자 페이지 개발",
"유저 로그 분석 툴 개발, 분석통계",
"업무 자동화",
"Yarn Workspaces를 이용한 모노레포 통합",
"zero install과 Vite 도입으로 CI/CD 속도 개선 (3분 -> 1분)",
"Amplitude 사용이 어렵다는 피드백을 받아 러시아워에 필요한 기능만을 모은 웹 기반 분석 툴 개발. 유저 플로우, 퍼널리텐션 분석 기능 제공",
"상품 승인, 로그 추출 등 기획자의 반복 업무 자동화",
"프론트엔드 재사용성을 높이기 위해 Yarn Workspaces를 이용한 모노레포 통합",
],
techStacks: [
"React",
Expand Down
33 changes: 11 additions & 22 deletions src/locales/ko-KR/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ import current from "./current";
import experience from "./experience";

export const main = {
title: { developer: "개발자", name: "고도현 | Dohyun Ko" },
title: { developer: "Generalist FE 개발자", name: "고도현 | Dohyun Ko" },
introduction:
"스타트업에서 2년간 일하며 프론트엔드, 백엔드, 앱, 자동화, ML 등 다양한 분야를 주도적으로 작업했습니다. 이후 AI 연구실에서 일하며 데이터 수집 툴을 제작했고 UX 관련으로 논문을 작성했습니다. 개발인력이 늘 부족한 곳에서 일했기에 생산성과 유지보수의 편의성을 항상 중시합니다. 모노레포와 라이브러리를 제작해 생산성을 높이며 atomic 패턴과 Storybook로 동료가 보기 쉬운 코드를 짜려 노력합니다.",
"스타트업의 유일한 FE 개발자로 2년간 일하며 프론트엔드, 백엔드, 앱, 자동화, ML 등 다양한 분야를 주도적으로 작업했습니다. 이후 AI 연구실에서 일하며 데이터 수집 툴을 제작했고 UX 관련 논문을 작성했습니다. 개발인력이 늘 부족한 곳에서 일했기에 생산성과 유지보수의 편의성을 중시하며 동료가 보기 쉬운 코드를 짜려 노력합니다. 유저 행동 분석도 중요시하기에 유저가 수행하는 모든 액션을 로깅하고 다양한 분석 툴 접목하기를 좋아합니다.",
current,
education: {
attendedLectures: [
Expand Down Expand Up @@ -32,7 +32,7 @@ export const main = {
url: "https://www.ijcai.org/proceedings/2024/1034",
publisher: "IJCAI 2024 | 공동 1저자",
description:
"ARC 문제의 사람 풀이 데이터가 부족하며, 수집된 데이터의 품질도 AI 학습에 적합하지 않다는 문제를 해결하기 위해 O2ARC 3.0을 개발했습니다. 기존 툴의 UI/UX에서 특정 부분을 불편하게 만들어 데이터 수집 품질을 개선한 방법과 gamification을 통해 데이터 수집량을 늘린 방법을 소개합니다.",
"ARC 문제의 사람 풀이 데이터가 부족하며, 수집된 데이터의 품질도 AI 학습에 적합하지 않다는 문제를 해결하기 위해 O2ARC 3.0을 개발했습니다. 기존 툴의 그리드 조작 로직을 개편해 데이터 수집 품질을 개선한 방법과 gamification을 통해 데이터 수집량을 늘린 방법을 소개합니다.",
},
],
},
Expand All @@ -46,11 +46,10 @@ export const main = {
startedAt: "2023-07",
endedAt: "2023-07",
description:
"개인적으로 자주 사용하는 React 컴포넌트를 모아 npm에 배포한 라이브러리입니다. atomic design 패턴을 따르며, Storybook을 사용해 문서화했습니다. 이 이력서와 개인 웹페이지에 사용중입니다.",
"개인적으로 자주 사용하는 React 컴포넌트를 모아 npm에 배포한 라이브러리입니다. 이 이력서와 개인 웹페이지에 사용중입니다.",
whatIDid: [
"React 컴포넌트 개발",
"Atomic 패턴에 따라 라이브러리 개발 및 RollUp을 이용한 번들링, npm 배포",
"Storybook을 사용한 컴포넌트 문서화",
"npm 배포",
],
techStacks: ["React", "TypeScript", "RollUp", "Storybook", "npm"],
},
Expand All @@ -61,9 +60,7 @@ export const main = {
startedAt: "2024-01",
endedAt: "2024-02",
description:
"[삼정 KPMG 아이디어톤](https://kpmgkr.notion.site/kpmgkr/2024-KPMG-1fcd8a808f3d4f36a5ae8ad6e9bc413e)에 참여해 문서 작업에 VCS를 도입하고 LLM을 이용한 streamlined-ai-search를 구현한 플랫폼 Docuflow를 개발했습니다. 비개발자도 VCS를 직관적으로 사용할 수 있도록 drag & drop을 적극 이용하였으며, 최대 1분까지 걸릴 수 있는 AI 응답을 기다릴 수 있는 UI를 중시했습니다.",
whatIDid: ["프론트엔드 개발"],
techStacks: ["React", "TypeScript", "Tailwind CSS"],
"[삼정 KPMG 아이디어톤](https://kpmgkr.notion.site/kpmgkr/2024-KPMG-1fcd8a808f3d4f36a5ae8ad6e9bc413e)에 참여해 문서 작업에 VCS를 도입하고 LLM으로 맥락 유지 구글링을 구현한 플랫폼 Docuflow의 FE를 개발했습니다. [보도자료](https://www.newsworker.co.kr/news/articleView.html?idxno=322280)",
},
{
name: "Kaggle - Regression with a Mohs Hardness Dataset: 4등",
Expand All @@ -73,8 +70,6 @@ export const main = {
endedAt: "2023-12",
description:
"Kaggle의 광물 모스 경도 예측 대회에서 4등을 차지했습니다. 점수 공식이 MedAE인 점을 이용해 독특한 후처리 기법을 사용했습니다.",
whatIDid: ["ML 모델 개발"],
techStacks: ["Python", "Scikit-learn", "Pandas"],
},
{
name: "2023 Creative Space G A.I. & IoT Makerthon: 🥈 2등",
Expand All @@ -93,12 +88,7 @@ export const main = {
startedAt: "2023-06",
endedAt: "2023-12",
description:
"2023 Net Chanllenge에 참여했습니다. CCTV 데이터를 AI로 분석해 실시간으로 위협을 감지하고, 위협이 감지되면 주변 유저들에게 알림을 보내며 지도에 표시해주는 서비스를 개발했습니다.",
whatIDid: [
"React와 PWA를 사용한 앱 개발",
"Mapbox를 사용해 실시간 위협 위치 표시",
],
techStacks: ["React", "TypeScript", "Mapbox", "PWA"],
"CCTV 데이터를 AI로 분석해 실시간으로 위협을 감지하고, 위협이 감지되면 주변 유저들에게 알림을 보내며 지도에 표시해주는 PWA 앱을 개발했습니다.",
},
{
name: "Dutch: OOP Final Project",
Expand All @@ -107,13 +97,12 @@ export const main = {
startedAt: "2023-04",
endedAt: "2023-06",
description:
"프론트엔드와 백엔드 모두 C++로만 작성된 더치페이 플랫폼입니다. Emscripten을 이용해 C++를 웹 어셈블리로 트랜스파일할 수 있다는 점과 디자인 패턴을 이용해 React의 navigator, state, router, function component, style 등 핵심 기능을 구현했습니다. 성능 테스트 결과 해시 반복 연산 작업에서 React보다 110배 가량 빠른 성능을 보였습니다. [발표자료](https://docs.google.com/presentation/d/1z5m_s2rTHaUCb3rpHDB-zI-1NMvKHpysNDFqbwSA2LE/edit?usp=sharing)",
"프론트엔드와 백엔드 모두 C++로만 작성된 더치페이 플랫폼입니다. Emscripten을 이용해 C++를 Web Assembly로 트랜스파일할 수 있다는 점을 이용했습니다. [발표자료](https://docs.google.com/presentation/d/1z5m_s2rTHaUCb3rpHDB-zI-1NMvKHpysNDFqbwSA2LE/edit?usp=sharing)",
whatIDid: [
"C++과 웹 어셈블리를 사용한 프론트엔드 UI 개발",
"ReactFlutter와 유사한 프레임워크 구현",
"State, Navigator, Router, Style 등 프론트엔드 로직 개발",
"React의 navigator, state, router, function component, style 등 핵심 기능을 C++로 구현",
"React, Flutter와 비슷한 형태의 프레임워크 개발",
"브라우저 환경에서 성능 테스트 결과 해시 반복 연산 작업에서 React보다 110배 가량 빠른 성능을 보임",
],
techStacks: ["C++", "WebAssembly", "Emscripten"],
},
{
name: "Speaking Melona: 편의점 음식이 서로 대화를 해요",
Expand Down
2 changes: 1 addition & 1 deletion src/pages/home/printable/PrintablePage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ const PrintablePage = () => {
<Content width={"92%"}>
<TitleSection />

<Spacer height={"30px"} />
<Spacer height={"20px"} />

<ExperienceSection />

Expand Down
40 changes: 21 additions & 19 deletions src/pages/home/printable/components/ProjectCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -37,26 +37,28 @@ const ProjectCard = ({ project }: ProjectCardProps) => {

<ReactMarkdown>{description}</ReactMarkdown>

<ul
style={{
margin: "0px",
paddingLeft: "20px",
}}
>
{whatIDid.map((whatIDid) => (
<li key={whatIDid}>
<Text size={font(0.75)}>{whatIDid}</Text>
</li>
))}
{whatIDid && whatIDid.length > 0 && (
<ul
style={{
margin: "0px",
paddingLeft: "20px",
}}
>
{whatIDid.map((whatIDid) => (
<li key={whatIDid}>
<Text size={font(0.75)}>{whatIDid}</Text>
</li>
))}

{techStacks && techStacks.length > 0 && (
<li>
<Text size={font(0.75)}>
사용 기술: {techStacks.map((techStack) => techStack).join(", ")}
</Text>
</li>
)}
</ul>
{techStacks && techStacks.length > 0 && (
<li>
<Text size={font(0.75)}>
사용 기술: {techStacks.map((techStack) => techStack).join(", ")}
</Text>
</li>
)}
</ul>
)}
</Flex>
);
};
Expand Down
2 changes: 1 addition & 1 deletion src/pages/home/printable/sections/ExperienceSection.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ const ExperienceSection = ({}: ExperienceSectionProps) => {

<Spacer height={"10px"} />

<Flex flexDirection={"column"} gap={"30px"}>
<Flex flexDirection={"column"} gap={"20px"}>
{organizations.map((experience) => (
<OrganizationCard key={experience.name} organization={experience} />
))}
Expand Down
2 changes: 1 addition & 1 deletion src/pages/home/printable/sections/PublicationSection.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ const PublicationSection = ({}: PublicationSectionProps) => {
<>
<SectionTitle>Publications</SectionTitle>

<Spacer height={"30px"} />
<Spacer height={"15px"} />

<Flex flexDirection={"column"} gap={"20px"}>
{(
Expand Down
Loading

0 comments on commit 851e284

Please sign in to comment.