Skip to main content
← 홈

블로그

Fecit을 만들며 배운 이야기들.

회고 표시 바 하나 넣으려다 — 노랑 팔레트 교체부터 API 버그까지

태스크 리스트에 '이 태스크는 회고가 작성됐다'는 작은 표시 하나 넣으려다 SECONDARY 팔레트를 갈아엎고 API 버그까지 고친 이야기.

이야기가 없는 랜딩페이지

좋은 조각들은 있었지만 구조가 없었다. 섹션을 추가하고, 카피를 다시 쓰고, 랜딩페이지가 목록이 아니라 대화라는 걸 배운 이야기.

금요일에 만들었는데 수요일에 등록되는 시간표

아들 앞에서 시연하다 발견한 요일 버그. 출근길이 길었습니다.

디자이너 없이 앱스토어 스크린샷 20장 만들기

Claude와 Python Pillow로 앱스토어 스크린샷을 직접 만든 과정. 배경 그라디언트, 로고, 카피까지.

AI 서브태스크가 하나씩 나타나기까지

OpenAI 스트리밍 응답을 실시간으로 파싱하고, SSE로 클라이언트에 전달해서 서브태스크가 하나씩 생겨나는 경험을 만든 이야기.

첫 번째 사용자를 찾는 여정 — 설명하기 어려운 앱을 마케팅하기

의도적으로 복잡한 태스크 앱의 사용자를 찾으려는 솔직한 이야기. Reddit 필터, Google Ads, 그리고 Fecit이 어떤 앱인지 정직하게 말하는 법을 배우는 과정.

ASO 삽질기 — 앱 이름부터 설명까지 다시 쓰다

fecit의 앱스토어 제목, 부제, 키워드, 설명을 처음부터 다시 정리한 과정. Claude Code와 함께한 ASO 작업 기록.

가이드 모드 애니메이션 — 뿅 하고 나타나고, 뿅 하고 사라지고 싶었을 뿐인데

GuideBar에 슬라이드 애니메이션을 넣으려다 SafeArea, 키보드, 마운트/언마운트와 싸운 이야기.

앱이 말을 걸다 — 대화형 가이드 모드

태스크 작성을 대화처럼 안내하는 가이드 모드 구현기입니다. fecit 아이콘이 말풍선으로 질문하고, 격려하고, 마무리까지.

준비물에 비용을 — Preparation 섹션 강화

준비물 항목에 비용 추적 기능을 추가한 구현기입니다. 단가/총액 선택, 통화 자유입력, 자동 계산까지.

지금 어디를 편집하고 있지?

문서형 태스크 에디터에서 편집 중인 필드를 시각적으로 강조하는 포커스 하이라이트 구현기입니다.

네트워크가 끊겨도 내 글은 사라지지 않는다

API 호출 실패로 사용자의 콘텐츠가 증발하는 문제를 AsyncStorage 기반 임시저장으로 해결한 이야기.

여러 날에 걸친 일정, 타임라인에서 어떻게 드래그할까

일일 타임라인 뷰에서 여러 날짜에 걸친 일정 블록의 드래그 드랍을 개선한 과정. 클램핑, 리사이즈 핸들, 시각적 피드백까지.

하루는 항상 86,400초일까?

Hermes 엔진 크래시인 줄 알았던 버그의 진짜 원인은 addDays 함수 한 줄이었습니다.

현재와 기대 사이, 세 줄이면 충분합니다

Gap Analysis라는 거창한 이름이 붙어 있지만, 실은 세 가지 질문이 전부입니다.

아이콘 하나, 댓글 한 줄

필드 레이블에 아이콘을 붙이고, Task에 댓글 기능을 추가한 이야기.

알림 기능, 생각보다 쉬웠다

할 일 시작 전에 알림을 보내는 기능. 어려울 줄 알았는데 계산된 필드 하나로 끝났습니다.

드래그 중 자동 스크롤, 생각보다 어렵다

ScrollView 안에서 드래그 드랍하면서 자동 스크롤을 구현하는 과정. 세 번 실패하고 네 번째에 성공한 이야기.

3월 업데이트: 심사 대응, 캘린더 크래시, 그리고 Desktop 개선

애플 심사 거절 대응부터 Hermes GC 크래시 디버깅, Desktop UI 대폭 개선까지. 이틀간의 기록.

첫 번째 마일스톤 완료 — AI가 본 Fecit의 현재

Claude Code의 시선에서 바라본 Fecit. 코드베이스를 탐색하고, 함께 만들고, 때로는 실수하면서 도달한 첫 번째 마일스톤.

준비 항목에 사진을 붙이다

재료, 도구, 장소에 사진을 첨부할 수 있게 했습니다. 기존 첨부파일 패턴을 재사용하면서, 준비 항목이라는 새로운 맥락에 맞게 조정한 과정.

섹션을 보이고 숨기는 설정을 만들다

섹션이 많아서 복잡하다는 문제의 답을 구현했습니다. 문서별 설정, 기본값 설정, 그리고 준비 카테고리까지.

준비 섹션을 다듬다 — 공유 모델에서 카테고리별 분리까지

하나의 PreparationItemModel로 다섯 카테고리를 다루던 구조를 분리했습니다. 모델, 화면, 컴포넌트를 각각 독립시키고, 캐시 버그를 잡기까지.

준비 섹션을 만들었더니 섹션이 너무 많아졌다

할 일을 깊게 관리하고 싶어서 분석, 준비, 회고 섹션을 만들었습니다. 그랬더니 화면이 복잡해졌습니다. 가벼움과 깊이 사이의 줄다리기.

프로젝트 담당자 기능을 만들다

서버는 이미 준비되어 있었습니다. UI를 붙이고, 검색 화면을 만들고, 빠진 데이터를 채우기까지.

Tauri 삽질기 2탄 — DMG 하나 만드는 게 이렇게 어려울 줄이야

빌드는 됐는데 DMG가 안 만들어지고, 만들어졌는데 아이콘이 사라지고, 열었더니 damaged. Tauri 데스크톱 앱 배포까지의 여정.

Weekly Routine 알림이 오지 않았던 이유

Daily는 되는데 Weekly만 안 됐습니다. 원인은 빈 칸 하나였습니다.

주소 입력 UI를 갈아엎다

이틀 동안 열 가지 방법을 시도한 끝에, 문제를 해결하는 대신 문제 자체를 없애기로 했습니다.

주소 자동완성과 키보드의 전쟁

React Native에서 키보드가 올라간 상태로 드롭다운을 탭하는 것이 왜 이렇게 어려운지에 대한 기록.

SSE 실시간 동기화 구현기

FastAPI 서버에 SSE를 붙이고, 데스크톱과 모바일 클라이언트를 연결하기까지 부딪힌 문제들.

모바일과 데스크톱, 실시간으로 동기화검토

같은 API를 공유하는 두 클라이언트를 SSE로 연결하기까지의 고민 과정.

데스크탑 캘린더에 생명을 불어넣다

세 가지 뷰에 걸친 드래그앤드롭, 커서를 따라가는 가이드 라인, 낙관적 업데이트, 그리고 가독성을 바꾼 디자인 전환.

할 일에 장소를 붙였습니다

Apple Maps API로 주소 자동완성을 만들고, 지도 미리보기까지. 간단할 줄 알았는데 아니었습니다.

꼬리표라는 분류

할 일이 늘어나면 분류가 필요해집니다. 프로젝트와는 다른, 가볍고 유연한 분류 도구를 만든 이야기.

다듬고, 다듬고, 다듬는다

랜딩페이지 문구 하나를 몇 번이고 고치는 이야기. 완성은 없고, 다듬기만 있다.

이어주는 것, 그리고 도전

쉬운 일과 어려운 일을. 혼자와 함께를. 익숙한 것과 새로운 것을. 하나의 앱으로 이어줄 수 있을까?

랜딩 페이지 메시지를 다시 정렬하다

할 일 앱은 많다. 그중에 왜 Fecit인가? 이 질문에 답하기 위해 랜딩 페이지 전체를 다시 썼다.

Tauri로 데스크톱 앱 만들기 — 3시간의 절망

아이콘이 왜 이렇게 크지? 창은 왜 안 움직이지? Tauri로 데스크톱 앱을 만들면서 겪은 가장 절망적인 3시간.

Fecit 웹 버전을 배포하기까지

모바일 앱을 웹으로 옮기면서 겪은 서버 설정, 프록시, Apple/Google 로그인 삽질기.

바운스율 75%, 랜딩 페이지를 뜯어고친 하루

방문자 139명, 바운스율 75%. 전환율을 높이기 위해 하루 동안 랜딩 페이지를 어떻게 바꿨는지에 대한 기록.

할 일 앱, 뭘 써야 할까?

Todoist, TickTick, Things 3, Microsoft To Do, Apple 미리알림. 그리고 Fecit. 직접 써보고 느낀 것들.

습관에 요일을 붙였습니다

매일 반복하는 습관에서 요일별 루틴으로. 주간 습관를 만들면서 고민했던 것들.

Claude Code와 함께 개발하기

AI와 페어 프로그래밍을 하고 있습니다. 실제로 어떻게 쓰고 있는지, 뭐가 좋고 뭐가 아쉬운지에 대한 이야기.

AI 활용기

Fecit에서 AI가 하는 일들. 추천, 생성, 제안. 아직 실험 중인 것들에 대한 이야기.

할 일 하나를 끝내기까지

제목 하나로 시작해서 회고까지. 하나의 할 일이 만들어지는 과정에 대한 이야기.

드래그 앤 드롭 캘린더를 직접 만들었습니다

라이브러리 없이 캘린더를 처음부터. 무한 스크롤, 타임라인, 드래그 앤 드롭 일정 관리까지.

스텝 인디케이터 — 리스트 안의 작은 지도

서브태스크 목록에 git-graph 스타일의 흐름도를 넣으려고 했습니다. 레인, 베지어 곡선, 파란 점. 삽질의 기록.

서브태스크 그래프를 만들기까지

할 일의 흐름을 눈으로 볼 수 있다면? 노드와 엣지로 이루어진 그래프 에디터를 만들면서 겪은 이야기.

필요할 때 필요한 만큼 — Fecit의 설계 철학

제목 하나면 충분하되, 원하면 끝까지 깊어질 수 있는 구조를 만들기 위해 고민한 이야기.

템플릿이라는 도구

할 일을 끝낼 때마다 얻는 경험을 어디에 쌓을 것인가. 템플릿이라는 도구를 만들기까지의 이야기.

Fecit에 대해 — 해냈다!

Fecit은 라틴어로 '해냈다'라는 뜻입니다. 이 앱이 왜 만들어졌는지, 어디를 향해 가고 있는지에 대한 이야기.

VauDium 시작하겠습니다!

VolunTas에서 VauDium으로. 도메인 하나 못 사서 시작된 이름 바꾸기가, 회사의 방향을 바꿨습니다.