아래 두 프로젝트는 Vue 실무 경험에서 얻을 수 없었던 React · Zustand 경험을 쌓기 위해 직접 설계/배포한 개인 프로젝트입니다.
취미인 필름 사진 촬영 시 촬영 시간/위치 정보 등 촬영 데이터 관리의 불편함을 해결하기 위해 만들었으며,
두 프로젝트가 모두 필름 사진 촬영을 다루며 filo의 촬영 데이터를 fixif에서 붙여넣어 활용할 수 있는 등
맥락적/기능적으로 밀접하게 연계되어 있어 모노레포로 구성하여 Vercel을 통해 배포해 사용 중입니다.
위치 및 개인정보 이슈에서 자유로울 수 있게 서버 없이 클라이언트에서 모두 처리 가능한 구조로 구현했습니다.
filoReactTypeScriptZustandIndexedDBPWAViteVercel
localStorage 데이터가 유실되는 이슈를 확인하고, Zustand persist 미들웨어의 저장소를 localStorage 대신 IndexedDB로 교체하여 데이터 영속성을 확보 fixifReactTypeScriptexifrpiexifjsViteVercel
exifr(읽기)와 piexifjs(쓰기)를 조합해, 사진 파일이 서버를 거치지 않고 브라우저 내에서만 처리되도록 구현 — 로컬 브라우저 내에서 처리가 완료되어 프라이버시를 확보하고 서버 비용을 제거 filo에서 내보낸 촬영 데이터를 프레임 번호 기준으로 자동 매칭하여 다량의 사진 파일에 EXIF 정보를 일괄 기록 — 두 앱을 연계한 촬영 데이터 처리 워크플로우 완성 아래 프로젝트는 직접 코드에 관여하지 않고 AI 에이전트만으로 어느 정도까지 개발할 수 있는지 테스트해보기 위해,
복잡한 규칙을 가지고 있어 까다로운 설계를 요하는 보드게임 유틸리티 앱을 만들어 본 프로젝트입니다.
에이전트와의 조율을 통해 요구사항/설계를 확정하였으며,
일부 배포 설정 등 반드시 필요한 부분만 직접 진행, 코드 레벨에서의 개입을 최소화하고
프로젝트 하네스 구성과 자동화 루프를 통해 '바이브 코딩' 방식의 개발이 어느 정도까지 유효한지 검증해 보았습니다.
ronnyaReactTypeScriptViteVercel