RailYatri & IntrCity SmartBus
Modernizing consumer Android systems already operating at scale.
Two consumer products used by millions within a five-app production Android portfolio. I worked across architecture, implementation, reliability, security, testing, and releases; modernized substantial Java code to Kotlin; helped raise crash-free usage from 92% to 98%; and led two developers while remaining hands-on.
Project evidence
- 5
- production Android applications
- Millions
- users across two consumer products
- 92% → 98%
- crash-free usage
- 10 days
- failed audit to passing reassessment
The operating environment
Five Android applications, two consumer products used by millions.
I built and maintained five production Android applications, including RailYatri and IntrCity SmartBus. The work crossed architecture, UI, networking, local persistence, asynchronous state, testing, debugging, and releases.
At this scale, modernization had to improve the system without interrupting the product already in users' hands.
Architecture under load
Move the foundation forward while the product keeps running.
I modernized substantial legacy Java code to Kotlin and strengthened the architecture with MVVM/MVI patterns, Coroutines/Flow, Room/SQLite, and modular Gradle.
Profiling, observability, and reliability work helped raise crash-free usage from 92% to 98%. The résumé supports this improvement at the role level; it is not attributed here to one specific app without further evidence.
System map
Modernization without a stop-the-world rewrite
Legacy code was replaced incrementally while architecture, observability, security, and release practices improved around active production applications.
- 01Active Java codebase
Production features and existing users
- 02Incremental Kotlin migration
Modernize bounded product areas
- 03Stronger architecture
MVVM/MVI · Flow · Room · modular Gradle
- 04Profile and observe
Crash and reliability evidence
- 05Security hardening
Audit remediation and device integrity
- 06Production release
Ship improvements without disrupting delivery
- Active Java codebase connects to Incremental Kotlin migration.
- Incremental Kotlin migration connects to Stronger architecture.
- Stronger architecture connects to Profile and observe.
- Profile and observe connects to Production release.
- Security hardening connects to Production release.
- Production release connects to Active Java codebase: next bounded improvement.
A ten-day security response
Turn a failed government audit into a passing reassessment.
I helped remediate the findings behind a failed government security audit and reach a passing reassessment within ten days.
- Obfuscation and production configuration
- Secure local data and component exposure
- Dependency risk and device integrity
- Tamper and root detection
Team context
Lead two developers without leaving the code or the release path.
I led two developers while remaining hands-on across architecture, implementation, debugging, code quality, and production releases.
That combination of technical depth and coordination became the production-engineering foundation for my later 0→1 and Applied AI work.
Proprietary production code
About the source code.
The source code is proprietary to RailYatri (Stelling Technologies). I can discuss my responsibilities, architecture, testing strategy, security work, technical decisions, trade-offs, and outcomes without disclosing confidential material.