sapsaldog's blog
Fragments of thought and traces of craft.
Full-stack DevOps generalist with 16+ years of experience. Founding Engineer at WeTrials, formerly Senior SWE at Mastercard. CS & Mechanical Engineering at Korea University. Published tech book translator and open-source contributor.
I finished 30+ English PDF books in six months with Translator Pro by reading the AI translation first, then checking the original when it mattered.
How rapid test growth exposed two kinds of flaky CI failures—and how we fixed them by restructuring MongoDB index setup and limiting CPU contention
From Builder to Decision Maker
2026-04-20
Working with AI didn't just explode productivity — it exploded the volume of decisions, and that came back as a new kind of fatigue. An attempt to map the developer's new coordinate by borrowing the doctor·judge·lawyer quadrant, and to sketch the response: harness and scheduler.
Supabase doesn't support Naver as a provider. Custom OIDC failed due to Naver's non-standard API response. Here's how I solved it with an Edge Function proxy.
Promptfoo #2: TDD for Prompts
2026-03-15
Write failing tests first with Promptfoo eval, then fix your prompts to make them pass. TDD-style prompt engineering with a real Vision model debugging story.
Promptfoo, the LLM testing framework acquired by OpenAI. Prompt regression testing, model comparison, Red Teaming, and hands-on experience applying it to a real translation app.
Running OpenAI Symphony with Claude Code
2026-03-07
Forking OpenAI's coding agent orchestrator Symphony to add a Claude Code backend
Using a Git post-checkout hook to automatically copy .env files when creating worktrees
Setting Up CJK Fonts in Ghostty on macOS
2026-02-02
How to fix ugly fallback fonts for Korean (CJK) text in Ghostty by installing Noto Sans Mono CJK KR
Starting a Blog
2026-01-20
Why bother starting a blog in the age of AI