Grin
Cloud-native dental SaaS platform digitizing end-to-end practice workflows with AI-powered diagnostics, real-time patient engagement, and multi-channel communications.
The challenge
Traditional dental practices lacked digital patient management, remote treatment monitoring, automated diagnostics, and multi-provider coordination. The platform needed to unify these capabilities into a cohesive system that could scale across practices while maintaining real-time responsiveness and clinical accuracy.
My role
I build and maintain microservices across the backend, contribute to the React and React Native frontends, and integrate AI/ML pipelines into the core product. My work spans event-driven architecture design, real-time subscription infrastructure, and cross-platform feature delivery across web and mobile clients.
System architecture
What I built
Decoupled service communication through an event backbone with fan-out patterns. Services publish domain events that trigger downstream workflows without direct coupling, enabling independent scaling and deployment of each microservice.
Platform-wideState machine orchestrating the full patient treatment journey from initial assessment through active treatment to completion. Each transition triggers appropriate notifications, record updates, and provider alerts across the system.
Core workflowUnified notification system delivering messages across SMS, email, push notifications, and in-app channels. Channel selection is driven by patient preferences and message urgency, with delivery tracking and retry logic for each channel.
Patient engagementIntegration layer connecting 11 ML services for computer vision analysis and natural language processing. The pipeline handles image ingestion, model inference, confidence scoring, and result delivery back to the clinical workflow in real time.
ML integrationWebSocket-based infrastructure enabling live updates between providers, patients, and the platform. GraphQL subscriptions push treatment changes, appointment updates, and diagnostic results to connected clients without polling.
Provider experienceInternal SDK consumed by all microservices, providing standardized patterns for authentication, event publishing, database access, and error handling. Reduces boilerplate and enforces consistency across the 28-service architecture.
Developer platformTechnologies used
Key achievements
- Built and maintained 28+ microservices
- Designed event-driven architecture with fan-out patterns
- Full-stack delivery across web/mobile/serverless
- Integrated AI/ML services for real-time diagnostics
- Built multi-channel notification system
- Contributed to shared SDK used by all services