I had a phone screen with a recruiter, followed by a chat with the hiring manager, then a coding challenge and system design interview. This was followed by a chat with the CTO and a product manager. Finally, after some chats with the hiring manager, I was given an offer. Throughout the process, the team was extremely kind and pleasant. I was sad to decline the opportunity, as the team seemed wonderful. Despite the process being lengthy, I believe it was fair and gave good exposure to the company's culture and everyday life.