All Posts

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

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 개발 공부에 빠져 있었다

#일상다반사

Google AdSense Rejected Me — The Reality of a Tool-Only Site

After being rejected for "low value content," I expanded content and reapplied to AdSense on a WiFi QR code generator site

#AdSense#React#i18n#SEO#SideProject

I Built a WiFi QR Code Generator — My First Completed Side Project with AI

A WiFi QR code generator I made because sharing passwords to guests was annoying — React + i18n + print support

#React#TypeScript#i18n#SideProject#qrcode

Why GitHub Actions Commits Don't Show on Your Contribution Graph — Fix with KST Timezone

The timezone issue where GitHub Actions auto-commits don't appear on the contribution graph. One line — TZ=Asia/Seoul — fixes it.

#GitHub#GitHubActions#ContributionGraph#Automation

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

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

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

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#멀티유저

Why Is Android Background Playback So Hard — Doze, WakeLock, and Foreground Service

How I fixed a bug where track transitions stopped working when the screen turned off in a cassette music player app, using Foreground Service + PARTIAL_WAKE_LOCK

#Android#React Native#Expo#BackgroundAudio#WakeLock

[JobRadar Part 7] Google OAuth "Database error" — Down the Supabase Trigger Rabbit Hole

Google login kept failing with "Database error saving new user" — I dug all the way to creating a new Supabase project before finding the fix was one line in a trigger function

#JobRadar#Supabase#OAuth#Debugging#SideProject

[JobRadar Part 6] Cover Letters Done Right, UX Polish, and Adding Login

Cover letter save/download/AI review, memo and status management, direct JD input, and Supabase Auth — everything built in one day

#JobRadar#Supabase#NextJS#TypeScript#SideProject

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

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

#ClaudeCode#블로그#자동화

[Claude Console] Buy Credits button is disabled - Causes and solutions for not checking out

In the Claude Console, the Buy button would not activate even after all payment information was entered. The cause was a bug that reset the city selection when switching languages.

#Claude#ClaudeConsole#Troubleshooting

JobRadar Part 5: Dropping the Automation Fantasy and Building a Practical Pipeline

After giving up on Playwright auto-scraping, I built an on-demand pipeline — URL paste → JD scraping → AI matching → cover letter generation — over two days.

#JobRadar#NextJS#Playwright#cheerio#AI#SideProject

JobRadar Part 4: Why I Ditched Playwright for cheerio — The Day-4 Pivot

After three days fighting Playwright, I gave up. On day 4, I completely changed direction — from auto-collection to URL-based on-demand scraping, using cheerio + JSON-LD.

#JobRadar#cheerio#Scraping#Vercel

How to Email Claude Support — Bypassing the AI Chatbot

When Claude support only gives you AI responses, here's the step-by-step process to create a real email ticket and reach an actual person.

#Claude#Support

Building a Claude Code Custom Agent — A Practical Guide with blog-auto-draft

How to create Claude Code custom agents to automate repetitive tasks. A step-by-step walkthrough using blog-auto-draft as a real example, from file structure to invocation.

#ClaudeCode#Agent#Automation

[Claude Console] Payment Broken. DO NOT Delete Your Organization!!!

Claude Console organization deletion accidentally deleted the account — a cautionary tale

JobRadar Part 3: Deploying Playwright to Vercel Blew Up — The @sparticuz/chromium Journey

Why a scraper that ran fine locally kept exploding on Vercel. From @sparticuz/chromium adoption to ETXTBSY, 60-second timeouts, and everything in between.

#JobRadar#Playwright#Vercel#Serverless

Connecting Gemini to Claude Code via MCP — Using Two AIs Without Token Anxiety

A step-by-step guide to connecting Gemini as an MCP tool inside Claude Code, so you can delegate token-heavy tasks to Gemini without leaving your workflow.

#ClaudeCode#MCP#Gemini#AI

[JobRadar Part 2] Supabase Schema + Playwright Scraper — Debugging Notes

JobRadar part 2. From Supabase multi-user schema design to Indeed and Seek Playwright scraper implementation. Glassdoor blocks, ETXTBSY, missing modules — all the pain points documented.

#JobRadar#Playwright#Supabase#Scraping

Claude Code Hooks — Automate Tasks When Claude Finishes

Auto-format on save, response completion alerts, approval request notifications — a step-by-step guide to automating repetitive tasks with Claude Code Hooks.

#ClaudeCode#Hooks#Automation

[JobRadar Part 1] Project Setup — I Built an AI Tool to Help Me Find a Job

From automated job scraping to AI matching — JobRadar side project part 1. A step-by-step walkthrough of the initial Next.js + Supabase + Vercel setup.

#JobRadar#NextJS#Vercel#SideProject

I Built an App — Now How Do I Publish It? Google Play Console from Start to Finish

A step-by-step walkthrough of publishing an app on Google Play Console for the first time — from developer account registration to AAB upload and review submission.

#Android#Google Play#App Publishing#React Native

[App Launch] How to Gather 12 Testers — Why You Should Use Google Groups

How to efficiently recruit 12 testers for a Google Play test track. Why Google Groups beats manual email registration, and the exact order of steps that actually works.

#AppStore#AppTesting#GooglePlay

DeepL API Integration — Adding Translation to a Next.js App

A step-by-step guide to adding translation functionality to a Next.js app using the DeepL API Free plan. From getting an API key to building a server-side route.

#DeepL#Translation API#Next.js#API Integration

Scheduled Blog Post Publishing with GitHub Actions

How to set up a GitHub Actions workflow that automatically publishes blog posts on a specified date — based on a real implementation experience.

#GitHub Actions#Automation#CI/CD#Vercel#Blog

How to Register a Google Play Developer Account (2026 Guide)

A complete step-by-step guide to creating a Google Play Console developer account and completing identity verification as of 2026.

#Google Play Console

Comparing 3 translation APIs - MyMemory vs DeepL vs Claude, what should I use?

I'm comparing and contrasting my experience with MyMemory, DeepL, and Claude APIs while adding translation functionality to my blog admin.

#Translation API#DeepL#MyMemory#Claude API#Next.js

Changing Page Title and Meta Tags per Page in React SPA — react-helmet-async

How to dynamically control title and meta tags per page in a React SPA using react-helmet-async for better SEO.

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

Wireless ADB Debugging — Install APKs Without a Cable

How to set up wireless ADB debugging between a MacBook and an Android device. Install APKs over Wi-Fi with a single command — no USB cable needed.

#android

[Claude Code] How to Create and Use Skills - Your Own Slash Commands

Learn how to create and use Skills to automate repetitive tasks in Claude Code with hands-on exercises.

#Claude Code#Skill#Automation#Slash commands

Getting Your Site on Google — Next.js SEO Setup Guide

How to add robots.txt, sitemap.xml, Open Graph, and JSON-LD to a Next.js App Router blog to get it indexed on Google — based on a real implementation.

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

[App] Developing Cassette Player App_02

Cassette Tape Player App Development Journal 02

#React Native#Cassette App

[App] Developing Cassette Player App_01

Cassette tape player app development journal 01

#React Native#Cassette App

What is a good platform for beginners to Replit vs Claude Code?

Reviews comparing Replit and ClaudeCode.

#Replit#ClaudeCode

Data inbreeding

When the data produced by AI-dependent humans stops growing, what happens to AI?

We go to the library to look at book covers.

#Routine#Essay

[Claude Code] Claude Code Study Guidelines to Learn Efficiently and Quickly

Claude Code The direction to study and the basic study sequence

#Claude Code Study#Study Guideline

[AI] Stitch review

Reviews using Design AI in Stitch

#Stitch#Design system

[AI_StartDevelopment04] Maintain Session

If the network changes while working, the session is sometimes broken.: (

#AI coding start#Session

I was a legacy developer.

#AI Development#Legacy

[Start AI Development_000] Opinion on AI Development (Guidelines)

Comments and Thoughts on AI Development

#AI coding start

[AI development start_003] Create multilingual features

How to create multilingual features

#AI coding start#multilingual

[AI Start_001] Claude Code Start

start creating this blog with ai clod code

#Start Claude Code

[AI Start Development_002] Add Image

Add image embedding feature

#Add blog image.ai

Re-development started in the 40s

Why did you create this site?

#BackToDev