Sound Transit DevOps

Get Started with Sound Transit
Sound Transit mobile app required a scalable solution to ensure consistency, reliability, and efficiency across platforms. As manual testing struggled to cover edge cases and keep up with expanding scope, a DevOps-driven automation framework was implemented. This solution reduced manual testing efforts by 60%, improved release efficiency by 40%, and streamlined development with CI/CD pipelines and automated Slack reporting, enabling faster iterations and seamless team collaboration.

Project Vision

This project focuses on automating iOS testing and monitoring to enhance reliability and performance by

- Building a self-hosted CI/CD pipeline for automated test execution
- Implementing scheduled and on-demand testing, running automated test suites daily to detect flaky issues (crashes, UI mismatch, performance bottlenecks)
- Automating test result reporting by pushing real-time test logs and failure insights to Slack and a monitoring dashboard.

My Role
DevOps Engineer
iOS Developer
Timeline
2024 Q3 - Present

Project Strategy

GET mobile App team WHO struggle with inconsistent app behavior, redundant API calls, and undetected crashes across mobile and web platforms TO automate detection and improve stability BY building a self-hosted CI/CD pipeline with scheduled tests, API monitoring, and real-time Slack reporting.

My Contributions

I led and executed three key initiatives to enhance test automation, reporting, and infrastructure reliability:
  • App & Web Autotest Framework Development: Designed and built a comprehensive 0→1 test automation framework, establishing end-to-end testing flows for both app and web environments.
  • Slack-Integrated Test Reporting: Implemented an automated reporting system that delivers daily test summaries, including logs and crash reports, directly to the project’s Slack channel.
  • Remote Autotest Server Setup: Deployed and configured a dedicated Mac mini as a remote test server, ensuring continuous test execution and seamless logging of results, errors, and crash reports.

Why DevOps?

  • 📱💻 Cross-Platform Consistency: Ensuring uniform behaviour across both mobile and web platforms is critical yet challenging, requiring robust automation to maintain consistency.
  • ⚠️ Flaky Issues in Real-Time Data: With high volumes of real-time traffic data, test stability is a key concern. A solid DevOps pipeline helps detect and mitigate flaky issues effectively.
  • 🛠 Continuous Deployment in Rapid Iteration: As the product undergoes fast-paced development, regression testing is essential to maintaining stability and ensuring the reliability of existing features.
Mission 1

Ensure Cross-Platform Consistency

Our goal: Keep App and Website consistent all the time
Our approach:
  1. App UI / Unit testing : XCTest
  2. Website UI crawling: selenium
  3. Cross-platform comparison scripts: shell
Mission 1

Find & Resolve

🔎 What we found:
1. Bus route order is mismatched
2. API Call timeout issue
⚠️ Limitation of Manual Testing:
1. Time-consuming
2. Limited Coverage
Mission 2

Identify & Mitigate Flaky Issues

Our goal: Detect and resolve flaky and hard-to-reproduce issues
Our approach:
  1. Scheduled testing and edge-case scenarios
  2. Leveraging logging and crash reports for pattern identification
Mission 2

Find & Resolve

🔎 What we found:
1. Crash issues related to Mapbox
⚠️ Limitation of Manual Testing:
1. Multi-threaded operations
2. Hard to reproduce
3. Occurred only on simulator
Mission 3

Establish CI/CD Workflow

Our goal: Streamline development & testing workflows
Our approach:
  1. Automating test execution on scheduled basis
  2. Integration with slack for real-time feedback
  3. Web portal to record test logs & crash reports

Slack Integration

  • Create slack message layout & style
  • Interact with portal for detailed logging & crash reports

Automation Test Portal

  • Portal for detailed logging & crash reports
  • Host in remote Mac-mini

What we've achieved 💪?

Multi-platform products often face significant consistency challenges, especially in fast-paced development cycles where the scope continuously expands. As manual testing covered fewer cases over time, the need for automated testing became increasingly critical. We built the entire DevOps automation framework from scratch, implementing a scalable auto-testing system that reduced manual testing efforts by 60%, improved release efficiency by 40%, and ensured greater consistency across platforms. Through this initiative, we significantly enhanced the Sound Transit mobile app’s reliability, robustness, and development efficiency, establishing a structured CI/CD pipeline that streamlined testing, reduced regression risks, and accelerated deployment cycles.

More projects

511 Traffic Alert
Native iOS Mobile App
UX Design, iOS Develop
2021
Alberta Highway Reporter
Native iOS Mobile App
UX Design, iOS Develop
2021
Florists
Ecommerce Mobile App
UX Design, UX Research
2022