Ailem ASELSAN

Ailem ASELSAN

Corporate mobile app owned by ASELSAN — joined ongoing development within a cross-functional team.

Year

2025-2026

Role

Software Developer

Company

Hellospace

Stack

React NativeExpoTypeScriptAxiosFirebase Cloud MessagingExpo NotificationsSentryReact NavigationReact Native PaperTanStack Query

Overview

Ailem ASELSAN is a corporate social platform owned by ASELSAN, one of Turkey's leading technology companies. I joined the ongoing development of the mobile app within a cross-functional team. My work focused on the core infrastructure of the app — rebuilding the HTTP layer, handling a domain migration with SSL pinning, and reworking the notification system for reliable background delivery.

The Challenge

The app had an existing codebase with an HTTP layer that needed a more robust token refresh mechanism. During my time on the project, the backend team migrated to a new domain, which required reconfiguring SSL certificate pinning without disrupting the existing user base. The notification system also needed improvements to ensure reliable delivery and accurate badge counts, especially when the app was in the background or killed.

Solution

I rebuilt the HTTP layer by implementing a module-level Axios interceptor with a queued retry mechanism. When a 401 response arrives, subsequent requests are suspended in a shared promise queue while a single token refresh executes through an isolated Axios client — preventing infinite refresh loops. Once the new token is obtained, all queued requests are automatically replayed. The session is propagated immediately through config object mutation by reference, so retried requests pick up the fresh token without waiting for React state updates.

For the domain migration, I configured SSL public key hash pinning across both the testing and production domains, each with backup pin hashes for certificate rotation. Pinning failures are captured and reported to Sentry with the failing hostname for monitoring.

I reworked the notification system to handle background delivery reliably. Background messages are processed before the React runtime initializes, updating only the badge count. Foreground notifications use a duplicate prevention mechanism with a TTL-based Set that drops repeated messages within a 2-second window. The badge count follows a two-source design — the backend sends an authoritative count in the FCM data payload, while the client-side React Query cache re-syncs the count when notifications are read in-app. I also improved layout responsiveness with safe area insets and introduced loading overlays for smoother data fetching transitions.

Key Features

  • Queued Axios interceptor with automatic token refresh and request replay
  • SSL public key hash pinning with backup hashes and Sentry failure reporting
  • Background notification handling with duplicate prevention
  • Two-source badge count system (backend-authoritative + client-side sync)
  • Safe area inset support and loading state improvements

Results

The app is live on the App Store, serving ASELSAN's corporate user base. The rebuilt HTTP layer handles token expiry seamlessly without user-facing errors, and the notification system delivers reliable background notifications with accurate badge counts. This project was a valuable experience in working within a cross-functional team on an enterprise-level codebase.