API Design and Product Architecture for Modern Applications