---
title: "Donghwan Kim (@cattus-astro) | Hashnode"
description: "Web Frontend Developer. Read the latest articles by Donghwan Kim on Hashnode."
url: "https://hashnode.com/@cattus-astro"
---

@cattus-astro

# Donghwan Kim

@cattus-astro · Dublin, Ireland · Joined March 2026

Web Frontend Developer

### [실시간 라이브 채팅, 그 아래 있었던 문제들](https://blog-cattus.hashnode.dev/live-chat-module-issues?utm_source=hashnode&utm_medium=feed)

라이브 방송을 보며 실시간으로 채팅을 주고받는 모듈을 만들고 다듬으며 겪은 문제들을 정리했다. 가상 키보드 대응, iOS 웹뷰 전용 버그, 자동 스크롤 알고리즘의 경쟁 상태까지 — 어떤 요구사항 때문에 어떤 선택을 했는지와 그 문제를 어떻게 원인 분석해서 풀었는지를 기록했다.

13 min read · [blog-cattus.hashnode.dev](https://blog-cattus.hashnode.dev/live-chat-module-issues?utm_source=hashnode&utm_medium=feed)

[Aug 4](https://hashnode.com/posts/live-chat-module-issues/6a7263a4790657251973bd45)

### [Live Chat, and the Problems Underneath It](https://blog-cattus.hashnode.dev/live-chat-module-issues-en?utm_source=hashnode&utm_medium=feed)

A postmortem of building and maintaining the live-chat module for a live-shopping app — virtual keyboard handling, iOS in-app WebView bugs, and the race conditions behind an auto-scroll algorithm that went through several rewrites.

19 min read · [blog-cattus.hashnode.dev](https://blog-cattus.hashnode.dev/live-chat-module-issues-en?utm_source=hashnode&utm_medium=feed)

[Aug 4](https://hashnode.com/posts/live-chat-module-issues-en/6a72639a790657251973a4a1)

### [What I Ran Into Building Photo/Video/Voice Attachments for a Gift Message Card](https://blog-cattus.hashnode.dev/gift-message-card-dev-log-en?utm_source=hashnode&utm_medium=feed)

A postmortem of building photo, video, and voice attachments for a gift message card feature — which of two internal file storages to use, the "correct" security option we had to give up on, an iOS-only audio bug, and why we hand-rolled an image editor instead of using the vendor's crop API. Problems, the calls we made, and what we still left unsolved.

16 min read · [blog-cattus.hashnode.dev](https://blog-cattus.hashnode.dev/gift-message-card-dev-log-en?utm_source=hashnode&utm_medium=feed)

[Aug 4](https://hashnode.com/posts/gift-message-card-dev-log-en/6a724ccc4e008058988ca060)

### [선물 메시지카드에 이미지·동영상·음성을 붙이는 기능을 만들며 겪은 문제들](https://blog-cattus.hashnode.dev/gift-message-card-dev-log?utm_source=hashnode&utm_medium=feed)

이전에 담당했던 작업 중 하나는, 선물을 보낼 때 함께 전달할 수 있는 '메시지카드'에 사진·동영상·음성을 첨부하는 기능이었다. 텍스트만 있던 메시지카드에 미디어 첨부가 붙으면서, 정적 파일 업로드·트랜스코딩·보안·크롭 편집기까지 이런저런 문제를 순서대로 만났다. 이 글은 그 과정에서 무엇이 문제였고 어떻게 풀었는지(혹은 결국 못 풀고 남겨뒀는지)를 기록한

12 min read · [blog-cattus.hashnode.dev](https://blog-cattus.hashnode.dev/gift-message-card-dev-log?utm_source=hashnode&utm_medium=feed)

[Aug 4](https://hashnode.com/posts/gift-message-card-dev-log/6a724cc44e008058988c86a6)

### [사진이 화면에서 회전되어 보이는 이유 — Exif Orientation을 JS로 직접 읽어보기](https://blog-cattus.hashnode.dev/exif-orientation?utm_source=hashnode&utm_medium=feed)

input으로 받은 사진이 렌더링 경로에 따라 제각각 다르게 돌아가 보이는 원인을 Exif의 Orientation 태그에서 찾고, JPEG 바이너리를 JS의 ArrayBuffer·DataView로 직접 읽어 이 값을 얻고 다시 회전시켜보는 과정을 정리했다.

10 min read · [blog-cattus.hashnode.dev](https://blog-cattus.hashnode.dev/exif-orientation?utm_source=hashnode&utm_medium=feed)

[Aug 4](https://hashnode.com/posts/exif-orientation/6a72459607f6ebcf1df80037)
