글자 크기

시간이 어긋난 앱은 몸을 맡길 수 없다

시간이 제대로 표시된 건강 기록

시간이 어긋난 앱은 몸을 맡길 수 없다

오늘 하루를 한 문장으로 요약하면 이거다.
시간이 틀린 건강 앱은 신뢰를 잃는다.

💡 시간이 틀리면,
기록은 그냥 메모가 된다.

문제의 시작: 기록했는데, 지금이 아니다

건강 기록을 남겼다.
오한이 와서 타이레놀을 먹었고, 몇 시간 뒤 한 알을 더 먹고 괜찮아졌다.
그날의 몸 상태를 있는 그대로 남겼다.

그런데 기록 화면에 찍힌 시간은 묘했다.

  • 내가 방금 남긴 기록인데 어제 시간으로 보였고
  • 어떤 화면에서는 영어로 된 날짜가 떴다

December 25, 2025 18:41

순간 이런 생각이 들었다.

이 앱… 나보다 과거에 살고 있네.


단순한 타임존 문제가 아니었다

처음엔 단순한 서버 타임존 문제라고 생각했다.

  • UTC ↔ Asia/Seoul
  • 9시간 차이
  • Rails 설정 한두 줄이면 끝나는 문제

…일 줄 알았다.

하지만 파고들수록 상황은 복잡했다.

  • 어떤 화면은 고쳐졌는데, 어떤 화면은 그대로였고
  • health_logs, health_records, home, dashboard — 시간을 찍는 방식이 제각각
  • 어떤 뷰는 l(time, format: :long)
  • 어떤 곳은 strftime
  • 어떤 곳은 그냥 to_s

시간은 여러 군데에서, 서로 다른 언어로 말하고 있었다.


어디서 시간이 나오고 있는지부터 다시 추적

그래서 접근 방식을 바꿨다.

고치기 전에, 흐름을 먼저 이해하자.

  • home_controller에서 오늘 기록 요약이 어떻게 만들어지는지
  • 실제 사용자가 보고 있는 화면이 어디인지
  • 모바일에서 보이는 화면과 웹이 같은 뷰를 쓰는지
  • recorded_at이 언제 생성되고, 언제 표시되는지

하나씩 파일을 열어보고,
이 시간은 어디서 왔지?를 계속 물었다.


핵심 전환점: 시간은 한 군데서 말해야 한다

결국 결론은 이거였다.

시간 표현은 단일 진입점이 있어야 한다.

그래서 했다.

  • TimeHelper를 중심으로 시간 포맷 통합
  • 한국 시간, 한국 로케일 강제
  • 뷰에서 직접 to_s, strftime 쓰는 것 제거
  • health_records의 index / show 뷰 누락 문제 해결
  • AI 채팅 화면에서 시간 파싱도 한국 시간으로 수정

그리고 마지막으로,
배포와 캐시 문제까지 의심하고 정리했다.

Elementor

결과: 시간이 돌아왔다

그리고 다시 기록을 남겼다.

화면에 이렇게 찍혔다.

수정

2025년 12월 26일 04시 11분 (6분 전)

이 순간 묘하게 안심이 됐다.

  • 내가 기록한 시간
  • 지금의 나
  • 앱이 가리키는 현재

이 셋이 같은 시점에 있었다.


이게 왜 중요하냐면

건강 기록 앱은
예쁘거나, 빠르거나, 똑똑하기 전에

믿을 수 있어야 한다.

  • 언제 아팠는지
  • 언제 약을 먹었는지
  • 얼마나 지나서 괜찮아졌는지

이 모든 건 시간 위에서만 의미를 갖는다.

시간이 틀리면,
기록은 그냥 메모가 된다.


오늘의 교훈

  • 버그는 코드에만 있지 않다
  • 신뢰는 아주 사소한 디테일에서 무너진다
  • 그리고 때로는 지금을 제대로 표시하는 것이 기능 10개보다 중요하다

오늘은 새로운 기능을 만들지 않았다.
대신 앱이 현재에 살도록 만들었다.

💡 기능 10개보다 중요한 것.
지금을 제대로 표시하는 것.

이걸로 충분한 하루였다.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다