Halil Emre Özen

Halil Emre Özen

I always describe myself as an autodidact who is passionate about learning and exploring new things, and I'm always trying to broaden my perspective. I've created two start-ups, one of which was selected as "Turkey's Best 100th Startup" and was invested in twice by prominent investors. Now, I'm working as a Staff Software Engineer for Delivery Hero in Berlin / Germany.
Interests:
Continuous Performance Engineering in the LLM Era
React Day Berlin 2026React Day Berlin 2026
Upcoming
Continuous Performance Engineering in the LLM Era
AI has made writing code cheaper, but the hardware doesn’t get any cheaper.

I build React apps used worldwide, many running inside WebViews on affordable Android phones. These devices often represent the slowest 10% of user experiences. Even when all CI checks pass, performance issues can still slip through review.

AI has also made another part of this process harder. We can release more code, but reviewers still have the same time. With more changes in each PR, reviews get crowded, and it’s easier to miss performance problems.

To help with this, I built a loop around a coding agent. It reads runtime traces, runs the same benchmark every time, and compares the results with what we see from real devices in the field.

I find this setup is useful, but it’s not all about success; it brings new ways to make mistakes in different forms: the benchmark gives better numbers, but the user experience gets worse. LLMs say the changeset is a win, but the trace shows the opposite. While LLMs are working on performance improvements, I’m working on guardrails and more deterministic tools for LLMs to make this loop more successful.

In this talk, I’ll walk you through the setup I landed on: runtime traces, benchmarking, and the guardrails I put around the agent. I’ll also share a few places where my first assumptions turned out to be wrong.

Twenty minutes is not enough to cover everything about performance engineering, but it is enough to share questions that helped me build this loop. I hope this gives you a helpful starting point for your own projects.