Blending design and code to craft intuitive user experiences