What automation frameworks have you built from scratch, and what architectural decisions did you make to ensure they were scalable?