Hi! I’m a UI/UX Designer.

I love finding order out of chaos. It’s what lets me translate unclear and shifting requirements into meaningful product designs.

With a background in technology, psychology, and design, UI/UX design is definitely my calling!


I have an open mind when it comes to design. Different projects have different needs, so I prefer to be pragmatic rather than dogmatic. My view of design is straightforward:

  • Requirements


    Understanding user goals and product goals is essential for successful design.

    Ideally, this involves seeing and talking with users in context. That’s not always possible, so I’ve often had to rely on indirect info from folks who have better access to actual users. Either way, understanding the user is essential.

  • Design


    Understanding tasks and workflows; identifying and representing the concepts involved; considering how users interact with these. To me, this is the essence of UI design.

    Conceptual Designs: I generally start with paper and pencil: sketches, lists, flowcharts and state diagrams, wireframes, and jotted notes.

    Wireframes: I don’t usually do much wireframing beyond paper sketches (or whiteboards), unless there’s a need for something more formal.

    Mockups: When I render screen designs in a graphics tool, Fireworks used to be my go-to app. Nowadays, I’m using Sketch.

    Prototypes: In the past, I often skipped doing mockups and went straight to prototyping directly in HTML, CSS, and JS. As apps become more dynamic, I find this is becoming less efficient, so I’m relying more on mockups going forward, and limiting the scope of high-fidelity prototypes.

  • Review


    Gathering feedback is just as important for design as gathering requirements.

    Whether it’s pitching concepts to stakeholders, usability testing designs with users, or just stepping back and being honest about what works (or doesn’t), critical review is essential for good design.

  • Iterate


    Designs are never perfect. Even a great UI design changes the landscape of a user’s needs, so change is inevitable. Expect to rinse and repeat.

    Still, it’s also worth remembering that perfect is the enemy of the good. Don’t let seeking perfection prevent you from shipping!


I have technical chops. I’ve found my technical grounding and development skills useful, even when my role doesn’t call for it.

  • CD-ROM

    CD-ROM Years

    My first “real” job was writing Macintosh applications in C/C++. This gave me an early break into design.

    When I ported DOS applications to the Mac, I didn’t just copy the UI, but transformed it into a design worthy of a Mac.

    Design wasn’t something we’d done explicitly. But it seems management was getting positive feedback from clients. That triggered a change in how we did things. I didn’t just officially become a designer; I formed a team and hired 3 more designers.

  • Netscape Navigator

    World Wide Web

    When I first learned about the Web, I saw the writing on the wall for CD-ROM. I switched my focus, and embarked on a wild ride!

    It soon became clear that I wouldn’t be able to ride the wave I could see from Ohio, so I moved to California (with an ache in my heart).

    I really lucked out at my first dot-com startup, both because we did an IPO (learned a lot from that), but also because I got to work with my mentor, Bruce “Tog” Tognazzini.

  • Firefox

    Web 2.0

    The emergence of libraries like jQuery, made working with the DOM less tedious and more fun.

    One of the challenges became choosing a toolkit from among the many. I think it’s fair to say that jQuery won that competition.

    But while more functionality was moving to the frontend, much was still dependent on the backend as well. When it comes to the LAMP stack, I consider myself a “full-stack” developer.

  • Google Chrome

    The “Postmodern” Web

    With the rise of single-page web and mobile applications, so much has changed. As a UI/UX specialist, I mostly focus on the front-end.

    Yet, even on the front-end there is a plethora of new technologies. Preprocessers, polyfills, transpilers, all bringing changes to the functions and languages we use, at a crazy pace. As for app frameworks, Angular and React are the big names competing these days. I’ve also been looking at Vue, which takes some of the best concepts of both.

    So, the “Browser Wars” continue, in a way. We still must choose the foundation we build upon. And hope it isn’t built on sand!