Guiding functional and aesthetic product design with an emphasis on building clear information architectures. Balancing fast development with maintainable software.