About
Hi, I’m Geomseong Ahn, a product engineer based in Korea.
This blog is where I write down the problems I run into while building and running software, the calls I made, and how they turned out.
What I do
From 2023 to 2025 I worked on Spring Boot backends at a travel platform company. The early posts here (JPA and Querydsl performance work, Redis distributed locks, rolling out Kong as an API gateway) come from that time.
Since 2025 I’ve been a product engineer at a manufacturing company. I design our internal platform from scratch and own it all the way through deployment and operations. The recent posts are a record of the decisions I’ve made along the way, and why.
What I write about
- Backend: Spring Boot and JPA performance, concurrency control, circuit breakers, module structure
- Auth and security: JWT session design, making permission changes take effect immediately, cookies and BFFs
- Frontend and real-time: running Next.js in production, WebSocket reconnects, unread counts
- Infrastructure and deployment: zero-downtime deploys on bare metal with Kamal, API gateways, containers
- AI-native development: adopting coding agents and building a harness for them, LLMs inside the product
How I write
- Start with the problem. What broke, and why it mattered.
- Show the reasoning. Which options I compared and why I picked the one I did.
- Make it reproducible. The actual code and config I shipped, plus the numbers I measured.
These are the decisions I made at the time, not the one right answer. If you know a better way, I’d love to hear it.
Contact
- GitHub: github.com/nogamsung
- Email: gs97ahn@naver.com
The original posts are written in Korean, and the English versions are adapted from them. If you spot a mistake or have a question, leave a comment or drop me an email.