I start with the user, not the implementation. Before writing code, I try to understand the use case, the people using the product, and what we're actually trying to solve. If something isn't clear, I believe it's an engineer's responsibility to question the requirement.
I like interfaces that are simple, intentional, and expressive. Clean layouts, elegant typography, restrained colors, and the occasional pop of color are what I naturally gravitate towards. I believe visual design is what makes someone want to stay and explore.
The small details matter too. Micro-interactions, subtle transitions, and near-instant feedback can turn a functional interface into an experience that feels alive. Accessibility is equally important—I don't believe a beautiful interface should come at the cost of being usable.
On the code side, I value readability over cleverness and pragmatism over unnecessary abstraction. I want today's implementation to leave room for tomorrow's changes, without making future refactoring painful.
I care about performance, but I don't optimize blindly. If a trade-off isn't something the user can actually feel, I'd rather keep the code simple and maintainable. Ultimately, I want to build software that feels fast, thoughtful, accessible, and human.