/***atMediquitous**-기간: 2022.11 ~ 현재*-역할: FE Developer*-MAU 100만 일본 커머스 플랫폼 NUGU를 개발하고 있습니다.*-참고: 메디쿼터스*-참고: 일본 패션 플랫폼 NUGU***/function atMediquitous(): ResumeBuilder<Developer<"frontend", "ux-first">> {const stack = { fe: { react: [ 'Next.js 15 (page router)', // 12 -> 14 -> 15 'tailwindcss', // bootstrap -> tailwind 'Jotai', 'Tanstack Query', 'Tanstack Virtual', 'Storybook', { testing: ['Vitest', 'testing-library/react'] }, ], svelte: ['SvelteKit', 'Svelte 4'], }, be: { python: { django: ['Django REST Framework'] }, }, vcs: ['git', 'GitHub'],}return resume.withStack(stack).().().().().().()}
/***buildContentCMS**-프로모션 제작의 개발자 의존과 프리뷰-실서비스 불일치를 줄이기 위해 콘텐츠 CMS 에디터를 구축했습니다.*-다양한 블록 편집, 템플릿 재사용, WYSIWYG 프리뷰, 런타임 반영 구조를 정리해 운영 효율을 높였습니다.**/function buildContentCMS(): ResumeBuilder<Developer<"frontend", "ux-first">> {return resume.pushExperience(experienceItem)}
/***migrateBootstrapToTailwind**-Bootstrap 스타일을 TailwindCSS로 이관했습니다.*-CSS 번들 사이즈를 크게 줄여(약 61.9%) 빌드 산출물 효율을 높였습니다.**/function migrateBootstrapToTailwind(): ResumeBuilder<Developer<"frontend", "ux-first">> {return resume.pushExperience(experienceItem)}
/***scalePromotionPlatform**-기획전/프로모션 기능을 확장 가능한 구조로 개편했습니다.*-유형 분기, 예약 노출, 운영 설정 모델 개선으로 요구사항 대응 속도를 높였습니다.**/function scalePromotionPlatform(): ResumeBuilder<Developer<"frontend", "ux-first">> {return resume.pushExperience(experienceItem)}
/***optimizeMallPerformance**-컴포넌트 분리, 전역/지역 상태 재설계, 가상화 적용으로 렌더링 비용을 줄였습니다.*-번들 0.5MB 감소, 상품 카드 렌더링 요소 최대 95% 감소, CLS 0을 달성했습니다.**/function optimizeMallPerformance(): ResumeBuilder<Developer<"frontend", "ux-first">> {return resume.pushExperience(experienceItem)}
/***leadStylingTF**-스타일링 서비스 TF에서 FE 리드 역할을 수행했습니다.*-주니어와 페어 프로그래밍/리뷰를 병행해 예정된 일정에 맞춰 안정적으로 런칭했습니다.**/function leadStylingTF(): ResumeBuilder<Developer<"frontend", "ux-first">> {return resume.pushExperience(experienceItem)}
/***improveEngineeringSystem**-TS 설정 개선(verbatimModuleSyntax), PR 템플릿 도입 등 개발 시스템을 정비했습니다.*-빌드/리뷰 효율을 높이는 방향으로 팀 협업 경험을 개선했습니다.**/function improveEngineeringSystem(): ResumeBuilder<Developer<"frontend", "ux-first">> {return resume.pushExperience(experienceItem)}