
Event-Driven Microservices with NestJS, Kafka & MongoDB for TGV Maintenance
At SNCF Voyageurs, industrial maintenance of the French TGV high-speed fleet is a critical operational domain. The SPID Program (Système de Pilotage Industriel Digitalisé) unifies maintenance scheduling, slot allocation, and train lifecycles across national maintenance centers.
As Lead Tech, I lead an engineering team of 5 developers, 2 Business Analysts, and 1 QA, taking full ownership of technical architecture, quality standards, and production reliability.
Core Architectural Pillars - Microservices with NestJS & Kubernetes: Deployed on Kubernetes clusters, services are decoupled around bounded contexts (ProgOne for maintenance appointments; H00 for timeline milestones and operational slot tracking). - Kafka Event Backbone: Inter-service communication relies on Apache Kafka for asynchronous event distribution, ensuring message ordering and fault isolation during peak scheduling periods. - Real-Time MongoDB Change Detection (<200ms): Rather than scattered writes, we designed a centralized event-driven write-service called Persist coupled with MongoDB Change Streams. Inter-service data synchronization latency was reduced to below 200ms with complete audit trails. - Angular 13 → 21 Migration with Signals: Upgraded the operational frontend to Angular 21, adopting the new control flow syntax (`@if`, `@for`) and reactive Signals. Measured results in production showed significant bundle size reduction and notable improvements in Core Web Vitals (LCP and INP). - AWS Lambda Cold Start Optimization (~50%): Implemented performance benchmark suites and fine-tuned Lambda memory provisioning and execution triggers, cutting cold starts by approximately 50%. - Generative AI POC for Predictive Maintenance: Explored predictive analysis of TGV maintenance slot scheduling, leveraging LLM models to identify recurring logistical bottlenecks and assist dispatchers.
Engineering Standards We enforced automated CI/CD pipelines via GitHub Actions, strict code reviews, and high automated test coverage to maintain zero regression across mission-critical railway deployments.
Related Posts

Modernizing Kraken: Migrating an Offline-First Application to NestJS, GraphQL & Angular
How we migrated ASN's mission-critical Kraken application from a legacy system to a modern NestJS + GraphQL + Angular stack with zero post-deployment regressions.

Building LIVE Solution: Real-Time Passenger Information for 5M+ Travelers
Serving as React Technical Referent in a 42-developer SAFe organization at SNCF Connect. Real-time passenger display, AWS Serverless stack, and 90%+ TDD/BDD coverage.