Step One: After expressing interest and sending in my resume I was reached out to and a phone interview with the head of HR was scheduled. This was partially a gague-interest/check out the fit interview, but also involved some more serious knowledge questions. It was about an hour and very pleasant!
Step Two: A phone interview with the head of the team I would be joining. We talked about my past experience, the things I liked the most, and what I liked doing. He had clearly looked through my resume sincerely and also done some online research, looking at my github and codepen. It was a really pleasant conversation as well as a chance to talk about my experience and abilities. Because most of my background is explicitly development they asked me to send in a portfolio of design work I had done.
Step Three: They sent me a code test! The code test for my position involves using a json file and taking a wireframe of a loose product concept to a working reality and designing it along the way. I was on vacation during it so they gave me a few days to get it done. I had a good time writing it out, it wasn't overly challenging, but still had fun problems to solve.
Step Four: Because I lived elsewhere at the time, I flew in to Chicago for a day of interviews. I met with 7 people, two on the team I would be joining, a front end developer, the art director, a project manager, the CTO and HR. We talked about my passions and ambitions, my code test, design. I was run through a whiteboard exercise and some javascript exercises by the more technical and asked about design choices, etc by the more design. Afterwards I had some social time with the team because I had flown in from out of town. It was a great chance to decompress a bit and feel out the social vibe more.