Before I write a single line of code or pick a color, I spend time really understanding who will use the site and what they need from it. I believe good design happens when you put real people at the center of every decision.
Here's how I approach each project—from that first "aha!" moment to a polished site that actually works for everyone who visits it.
I start every project by asking lots of questions. Who's going to use this site? What are they trying to accomplish? What frustrates them about similar sites they've used before? This detective work shapes everything that comes next.
Why this matters: When I understand what users actually need, I can design something that genuinely helps them instead of just looking pretty.
Once I know what users need, I figure out how to organize everything in a way that makes sense to them—not just to me. This is where I map out how people will actually move through the site.
This might sound boring, but it's where the magic happens. Good organization means people can find what they need without getting frustrated and leaving.
Here's where I get my hands dirty with wireframes—basically rough sketches that show where everything goes without worrying about colors or fancy graphics yet. It's like building the frame of a house before decorating.
Mobile-first thinking: If it works on a tiny phone screen, it'll work everywhere. Plus, most people are browsing on their phones anyway!
Now comes the fun part—adding color, choosing fonts, and making everything look polished. But it's not just about making things pretty; every visual choice has to serve a purpose and help users accomplish their goals.
The goal is a design that looks great but also feels intuitive. When someone lands on the site, they should immediately know what to do next.
Every choice I make comes back to these core beliefs about what makes a website truly work for people.
I design for people who use screen readers, have vision differences, or navigate with just a keyboard. When sites work for everyone, they work better for everyone.
I start with the smallest screen and work my way up. If the core experience works on a phone, everything else falls into place.
I watch how people actually use the sites I build and keep tweaking based on what I learn. The best designs evolve over time.
Nobody wants to wait for a slow site to load. I optimize everything so pages load fast, even on slower connections.
Here's the thing about good design—it's never actually "done." After a site launches, I keep watching how people use it, gathering feedback, and making it better bit by bit.
I run usability tests with real users, check that accessibility features are working well, and monitor site performance. When I spot something that could work better, I fix it. That's how sites stay fresh and useful as both technology and user needs evolve.