Building an AI Property Recommendation System — How We Handle 'Recommend me a new apartment near Gangnam Station, around 30 pyeong'
Hi, I’m Jeongil Jeong, a backend developer at a proptech platform. It seems like many companies these days are thinking hard about how to integrate AI into their services in ways that deliver real value. Our company is no different. We’ve been continuously exploring how we could use AI to provide a ...
March 25, 2026
API Performance P95 7s → 0.1s Backend Optimization — Finding the Bottleneck Was Harder Than Fixing It
Hi, I’m Jeongil Jeong, a backend developer working at a proptech platform. One day, as usual, I was checking the Grafana dashboard for monitoring. The average response times were mostly within a few hundred milliseconds, so I was about to move on thinking “looks fine” — but out of habit, I glanced a...
March 4, 2026
CI Took 45 Minutes After Switching to Modular Monolith - Optimizing Our Spring Test Pipeline by 77%
Hi, I’m Jeongil Jeong, a backend developer working at a proptech platform. In a previous post, I wrote about how I, as the sole remaining backend developer, consolidated 13 microservices into a modular monolith. At the end of that post, I mentioned: “After the transition, we experienced CI test buil...
February 27, 2026
MSA Was Too Much for Us - Our Journey to Modular Monolith
Hello. I’m Jeongil Jeong, a backend developer working at a proptech platform. Our company had successfully completed a zero-downtime migration from a legacy Java Servlet monolithic service to MSA and was operating it in production. The process wasn’t easy, but we learned a great deal by experiencing...
February 20, 2026
The Ever-Changing AI Coding Agent Ecosystem: oh-my-opencode, oh-my-claudecode, OpenClaw, Agent Teams
Hello. I’m Jeongil Jeong, a 3rd-year backend developer working at a proptech platform. The AI coding tool ecosystem has been changing incredibly fast lately. A tool that was trending a few days ago gets blocked the next week, then ships as an official feature the week after… It’s been a rollercoaste...
February 9, 2026
3AM Error Alerts? Let AI Fix Them: Automating Error Response with OpenClaw
Hi, I’m Jeongil Jeong, a 3-year backend developer working at a proptech platform. TL;DR I automated 3AM error alert responses with OpenClaw. Using Loki/Tempo polling + Telegram Forward hybrid approach, AI handles everything from error analysis to PR creation, while humans only review code. AI ag...
February 6, 2026
What Happens When You Skip DB Normalization — A Firsthand Experience
Everyone knows database normalization is important, but in practice, it seems surprisingly easy to overlook. There are plenty of moments where denormalization wins out for reasons like “one fewer JOIN means better performance” or “it’s just easier to store it as text.” I joined my current team in Ma...
February 3, 2026
Understanding RPC: JSON-RPC, gRPC, and Common Misconceptions
A while ago, while writing about MCP (Model Context Protocol), I found myself dealing with JSON-RPC. As I was writing, a question popped into my head. “JSON-RPC and gRPC are said to be lightweight, but how are they different from REST over HTTP?” To answer this question clearly, I realized I needed ...
January 27, 2026
Understanding MCP (Model Context Protocol): A Standard Protocol Connecting AI to External Systems
Lately, there’s been a lot of talk about MCP (Model Context Protocol) in the AI field. In a previous post, I shared my experience building and using my own MCP server. However, while using MCP, I had questions like “What exactly is MCP’s structure?” and “How does the LLM communicate with the MCP ser...
January 25, 2026
[Reflections on MSA 7/7] Do We Really Need MSA?
Previous: [Reflections on MSA 6/7] Event-Based Data Consistency Issues and Solutions in MSA Over the past six parts, we’ve explored various aspects of MSA. How to divide services, how to communicate between them, how to respond to failures, and how to separate data while maintaining consistency. I’v...
January 22, 2026