.NET Backend Developer
SMS.ir (IPE)
Tehran, Iran
- Architected RESTful APIs and MediatR CQRS handlers for bulk SMS, P2P messaging, scheduled and A/B campaigns, and inbound SMS routing — the public Developer API handled 8M+ requests/day from external integrators.
- Designed and delivered a developer sandbox mirroring production behavior, enabling cost-free API testing without real traffic or carrier delivery, fully isolated from the live platform.
- Built a plan-based access control system enforcing per-tier feature gating at scale across SMS.ir's user base.
- Developed an FAQ module using Elasticsearch similarity search, enabling accurate natural-language query resolution without exact keyword matching.
- Built the archive reporting service on Elasticsearch for full-text search and multi-field filtering across large datasets, with automatic SQL Server fallback when Elasticsearch was unavailable.
- Executed a zero-downtime server migration using SQL Server pub/sub replication — continuous data sync to the new server with under 5 minutes of cutover downtime.
- Rewrote the Hangfire-based archive service, eliminating recurring job timeouts and cutting processing time to under 5 minutes; resolved a memory leak and reduced application startup time.
- Built invoicing service with Sepidar ERP sync and Parbad payment gateway integration; implemented HTTP API integrations with multiple Iranian telecom operators for message dispatch.
- Conducted code reviews for junior developers, enforcing Clean Architecture and SOLID principles before every production release.
- Maintained open-source SmsPanelV2.DotNet and SmsPanelV2.DotNetFramework — official .NET SDKs for SMS.ir. Authored smsir-cli (14 ★), a Go-based CLI for the SMS.ir API.