All Posts

Thoughts, learnings, and snippets from the journey back to dev.

한국어는 생각보다 라는 말을 많이 한다.

생각보다라는 말을 많이 쓰는 한국사람들...

#일상다반사

구글 플레이 프로덕션 승인 완료

구글플레이 프로덕션 승인 완료

#구글플레이#앱등록

구글 플레이 콘솔 — 비공개 테스트 후 프로덕션 등록하기

비공개 테스트 14일 완료 후 프로덕션 액세스 신청까지 채워야 하는 항목과 실제 답변 정리

#Google Play Console#앱 출시#비공개 테스트

Supabase Free 사용 제한

Supabase 무료 사용 제한 내용

#Supabase

에이전트 활용 방법 및 생성

AI 에이전트 블로그에서 활용하기

#AI Agent#Claude Code

[정보] 모바일 신분증을 활용한 블록체인 & AI 해커톤

모바일 신분증을 활용한 블록체인 & AI 해커톤 지원할까?

#Hackathon#AI#BlockChain

Ollama 사용후기 (각 모델별 사용 느낌)

각 모델별 사용후기 — DeepSeek, EXAONE, QWEN 비교

#Ollama#AI#로컬 AI#DeepSeek#EXAONE#Qwen

Ollama 설치 및 로컬 AI 시작하기

로컬 AI 사용을 위한 Ollama 설치와 모델 선택 가이드

#Ollama#AI#로컬 AI#macOS

구글 플레이스토어 앱 등록 A-Z — 스크린샷으로 전 과정 정리

앱 생성부터 비공개 테스트 통과까지, 구글 플레이 콘솔의 전 과정을 스크린샷으로 정리한 실전 가이드

#GooglePlay#Android#AppStore#앱출시

[에세이] 학습이 되어 간다

블로그 시작 7주 차, 이것저것 만들다 보니 어느새 AI 개발 공부에 빠져 있었다

#일상다반사

구글 애드센스 거절당했다 — 콘텐츠 없는 도구 사이트의 현실

애드센스 심사에서 "가치 없는 콘텐츠"로 거절당한 뒤, 도구 사이트에 콘텐츠를 채워 재신청한 과정

#AdSense#React#i18n#SEO#사이드프로젝트

WiFi QR 코드 생성기를 만들었다 — AI로 처음 완성한 사이드 프로젝트

손님에게 WiFi 비밀번호 알려주기가 불편해서 만든 QR 코드 생성기 — React + i18n + 인쇄까지

#React#TypeScript#i18n#사이드프로젝트#qrcode

YouTube Premium 없이 쓰는 나만의 플레이리스트 앱 — React Native(Expo)로 직접 만들기

Expo SDK 54 + TypeScript로 유튜브 플레이리스트 앱을 처음부터 만들면서 겪은 삽질과 해결법

#React Native#Expo#TypeScript#YouTube#Android

안드로이드 앱 직접 설치하는 방법들 — APK부터 USB 디버깅까지

구글 플레이 없이 안드로이드 앱을 설치하는 방법들과 ADB USB 디버깅으로 바로 설치하는 법까지 한 번에 정리

#Android#ADB#React Native#Expo#앱개발

GitHub Actions 자동 커밋이 잔디에 안 심어지는 이유 — KST timezone 설정으로 해결

GitHub Actions가 자동으로 커밋해도 잔디에 반영이 안 되는 timezone 문제. TZ=Asia/Seoul 한 줄로 해결하는 방법을 정리했다.

#GitHub#GitHubActions#잔디#자동화

React Native YouTube 앱 만들면서 삽질한 것들 — Android WebView 재생 버그부터 키보드 이슈까지

Android WebView 보안 정책, KeyboardAvoidingView 함정, 자동재생 타이밍 버그까지 — YT Player 앱 개선 과정에서 만난 문제와 해결법을 정리했다

#ReactNative#Expo#Android#WebView#버그수정#YouTube

React Native 앱 Play Store 첫 출시 — 빌드부터 소개글 카피라이팅까지

AAB 빌드 자동화, versionCode 오류 해결, 스토어 소개글 작성, Play Console 권장 조치 분석까지 첫 출시에서 겪은 것들 정리

#Android#Play Store#React Native#Expo#ASO

Claude Code, 대화가 길어질수록 느려지는 이유와 /clear 활용법

Claude Code에서 context가 쌓이면 왜 느려지고 비싸지는지, /clear로 어떻게 해결하는지 실용적으로 정리

#Claude Code#context window#토큰 관리#AI 개발 도구

구글이 내 블로그를 무시했던 이유 — Next.js SEO 버그 2가지 수정기

Google Search Console에서 색인 누락을 발견하고 canonical 태그와 footer 404 링크를 수정한 과정

#Next.js#SEO#canonical#i18n#Google Search Console

Obsidian Git 모바일 설정 — 안드로이드에서 GitHub 동기화하기

안드로이드에서 Obsidian Git 플러그인으로 GitHub 레포를 클론하고 자동 동기화까지 설정하는 방법

#Obsidian#Git#Android#GitHub#모바일

Obsidian Git 플러그인 설정하다가 xcrun 에러 만난 이야기

Obsidian을 GitHub에 연결하고 Git 플러그인을 설정하는 과정에서 만난 xcrun 에러 해결법

#Obsidian#Git#macOS#GitHub#xcode

Supabase service role로 멀티 유저 앱 만들다 터진 데이터 격리 버그들

RLS 없이 service role 클라이언트만 쓸 때 빠지기 쉬운 데이터 격리 함정 4가지와 해결법

#Supabase#Next.js#PostgreSQL#PostgREST#멀티유저

Android 백그라운드 재생이 왜 이렇게 어렵냐 — Doze, WakeLock, Foreground Service 삽질기

카세트 뮤직 플레이어 앱에서 화면 꺼지면 트랙 전환이 안 되는 버그를 Foreground Service + PARTIAL_WAKE_LOCK으로 해결한 과정

#Android#React Native#Expo#백그라운드 재생#WakeLock

[JobRadar 7편] Google OAuth "Database error" — Supabase 트리거 버그 찾기까지

Google 로그인이 "Database error saving new user"로 계속 실패하는 이유를 찾아 새 프로젝트까지 팠다가, 결국 트리거 함수 한 줄로 해결한 삽질기

#JobRadar#Supabase#OAuth#디버깅#사이드프로젝트

[JobRadar 6편] 커버레터 완성, UX 개선, 그리고 로그인 붙이기

커버레터 저장/다운로드/AI재검토, 메모·상태 관리, JD 직접 입력, Supabase Auth까지 하루에 몰아서 만든 이야기

#JobRadar#Supabase#NextJS#TypeScript#사이드프로젝트

Claude Code로 블로그 운영하는 법 — 작성부터 예약 배포까지 자동화

포스트 작성, 번역, 등록, 예약 배포까지 Claude Code와 함께 블로그를 운영하는 전체 워크플로우를 정리했다.

#ClaudeCode#블로그#자동화

Claude 콘솔 크레딧 구매 버튼이 비활성화될 때 — 결제 안 되는 원인과 해결법

Claude Console에서 결제 정보를 다 입력해도 구매 버튼이 활성화되지 않는 문제. 원인은 언어 전환 시 도시 선택값이 초기화되는 버그였다.

#Claude#ClaudeConsole#트러블슈팅

JobRadar 개발기 5편: 자동화의 환상을 버리고 현실적인 파이프라인을 만들었다

Playwright 자동 스크래핑을 포기하고, URL 붙여넣기 → JD 스크래핑 → AI 매칭 → 커버레터 생성까지 이어지는 on-demand 파이프라인을 구축한 과정.

#JobRadar#NextJS#Playwright#cheerio#AI#사이드프로젝트

JobRadar 4편: Playwright 버리고 cheerio로 갈아탄 이유 — 4일차 방향 전환기

3일 동안 Playwright와 씨름하다 포기했다. 4일차에 접어들어 방향을 완전히 바꿨다. 자동 수집 대신 URL 기반 on-demand 스크래핑, cheerio + JSON-LD 구현까지.

#JobRadar#cheerio#스크래핑#Vercel

Claude 고객센터에 이메일 보내는 법 — AI 챗봇 말고 직접 연락하기

Claude support 챗봇이 AI로만 응답할 때, 실제 이메일 티켓을 만들어 사람에게 연락하는 방법을 단계별로 정리했다.

#Claude#고객지원

Claude Code 커스텀 에이전트 만들기 — blog-auto-draft로 배우는 실전 세팅

반복 작업을 자동화하는 Claude Code 커스텀 에이전트 만드는 법. blog-auto-draft 예시로 파일 구조부터 호출까지 단계별로 정리합니다.

#ClaudeCode#Agent#자동화

[클로드 콘솔] 결제 안됨. 조직 삭제하면 안됨!!!

Claude Console Deletion of organization

JobRadar 3편: Vercel에 Playwright 올렸더니 터졌다 — @sparticuz/chromium 삽질기

로컬에서 잘 되던 스크래퍼가 Vercel에만 올리면 터지는 이유. @sparticuz/chromium 도입부터 ETXTBSY, 60초 타임아웃 대응까지 삽질 전 과정.

#JobRadar#Playwright#Vercel#서버리스

Claude Code에서 MCP로 Gemini 연결하기 — 토큰 걱정 없이 두 AI 함께 쓰기

Claude Code 안에서 Gemini를 MCP 툴로 연결해 토큰 부담 없이 두 AI를 상황에 맞게 나눠 쓰는 방법을 단계별로 정리합니다.

#ClaudeCode#MCP#Gemini#AI

[JobRadar 2편] Supabase 설계 + Playwright 스크래퍼 — 삽질 기록

JobRadar 2편. Supabase 멀티유저 스키마 설계부터 Indeed · Seek Playwright 스크래퍼 구현까지. Glassdoor 차단, ETXTBSY, 모듈 누락까지 삽질 과정 전부 정리.

#JobRadar#Playwright#Supabase#스크래핑

Claude Code Hooks — "이 작업 끝나면 자동으로 해줘"를 설정하는 법

파일 저장 시 자동 포맷, 응답 완료 알림, 승인 요청 알림까지 — Claude Code Hooks로 반복 작업을 자동화하는 방법을 단계별로 정리했다.

#ClaudeCode#Hooks#자동화

[JobRadar 1편] 프로젝트 세팅 — 내 취업을 위해 AI 툴을 직접 만들었다

채용공고 자동 수집부터 AI 매칭까지 — JobRadar 사이드 프로젝트 1편. Next.js + Supabase + Vercel 초기 세팅을 단계별로 정리했다.

#JobRadar#NextJS#Vercel#사이드프로젝트

앱 만들었는데 어떻게 올리지? 구글 플레이 콘솔 등록 처음부터 끝까지

구글 플레이 콘솔에 앱을 처음 등록하는 전체 과정을 단계별로 정리합니다. 개발자 계정 등록부터 AAB 업로드, 심사 제출까지.

#Android#Google Play#앱 배포#React Native

[앱 출시] 테스터 12명 모으는 법 — Google Groups를 써야 하는 이유

Google Play 테스트 트랙 등록 시 테스터 12명을 효율적으로 모으는 방법. 이메일 수동 등록 대신 Google Groups를 써야 하는 이유와 순서 정리.

#앱스토어등록#앱테스터#GooglePlay

DeepL API 사용법 — Next.js에서 번역 기능 붙이기

DeepL API Free 플랜으로 Next.js 앱에 번역 기능을 붙이는 방법을 단계별로 정리합니다. API 키 발급부터 서버 라우트 구현까지.

#DeepL#번역 API#Next.js#API 연동

GitHub Actions로 블로그 포스트 예약 배포하기

GitHub Actions 워크플로우를 만들어 특정 날짜에 블로그 포스트가 자동으로 발행되도록 설정하는 방법을 실제 구현 경험 기반으로 설명합니다.

#GitHub Actions#자동화#CI/CD#Vercel#블로그

2026년 기준 Google Play 콘솔(개발자 계정) 등록 방법

Google Play 콘솔 등록 방법

#Google Play 콘솔

번역 API 3종 비교 — MyMemory vs DeepL vs Claude, 뭘 써야 할까?

블로그 어드민에 번역 기능을 붙이면서 MyMemory, DeepL, Claude API를 직접 써본 경험을 비교 정리합니다.

#번역 API#DeepL#MyMemory#Claude API#Next.js

React SPA에서 페이지별 title과 meta 태그 바꾸기 — react-helmet-async

SEO작업 중 react-helmet에 대한 설명

#React#SEO#react-helmet-async#SPA

앱 테스트시 빠르게 폰에서 하는법 (무선디버깅 사용법)

안드로이드 무선디버깅 하는법

#android

[클로드 코드] 스킬(Skill) 만들고 사용하는 법 — 나만의 슬래시 커맨드

Claude Code에서 반복 작업을 자동화하는 스킬(Skill)을 직접 만들고 사용하는 방법을 실습과 함께 정리합니다.

#Claude Code#Skill#자동화#슬래시 커맨드

내 사이트, 구글에서 검색되게 만들기 — Next.js SEO 세팅법

Next.js App Router 기반 블로그에 robots.txt, sitemap.xml, Open Graph, JSON-LD를 추가해서 구글에 노출되는 방법을 실제 작업 기반으로 정리합니다.

#SEO#Next.js#Google Search Console#Open Graph

[앱] 카세트 플레이어 앱 개발중_02

카세트 테이프 플레이어 앱 개발 일지 02

#React Native#카세트앱

[앱] 카세트 플레이어 앱 개발중_01

카세트 테이프 플레이어 앱 개발 일지 01

#React Native#카세트앱

Replit vs Claude Code 초보자에게 좋은 플랫폼은?

Replit과 ClaudeCode를 비교 사용해본 후기.

#Replit#ClaudeCode

데이터 근친교배

AI에 의지하는 인간이 작성하는 데이터가 더이상 늘지 않을때....

우리는 도서관에 책 표지를 보러 간다.

#일상#Essay

[클로드 코드] 효율적으로 빠르게 배울수 있는 클로드코드 스터디 가이드라인

클로드 코드 공부할 방향 및 기본 공부 순서

#Claude Code Study#Study Guideline

[AI] Stitch 사용후기

디자인AI 인 Stitch 사용한 후기

#Stitch#디자인시스템

[AI_개발시작04] 세션유지하기

작업하다가 네트워크 변경되면, 가끔 세션이 끊어짐.ㅠㅠ

#AI개발시작#세션유지

나는 레거시 개발자 였다.

#AI개발#레거시

[AI 개발시작_000] AI 개발에 대한 의견 (가이드라인)

AI 개발에 대한 의견 및 생각

#AI개발시작

[AI 개발시작_003] 다국어 기능 만들기

다국어 기능을 만드는 방법

#AI개발시작#다국어 기능

[AI 개발시작_001] 클로드 코드 시작

ai 클로드 코드로 이 블로그 만들기 시작

#클로드 코드 시작

[AI 개발시작_002] 이미지 삽입 추가

이미지 삽입기능 추가

#블로그 이미지 추가.ai

40대 다시 개발 시작

이 사이트를 만든 이유

#BackToDev