Khaled Elfakharany
Back to Projects
professionalcompleted

AX1 Media Management Platform

Axle Media
Feb 2019 - Nov 2019
Team of 3
Overview

A complete architectural reimagining of a 5-year-old browser-based enterprise media management solution, rebuilt as a native macOS application in 6 months under hard deadline. The platform achieved 15-20x performance improvements across media compression, video transcoding, search/indexing, and metadata extraction. Integrated MLKit for on-device machine learning enabling intelligent content-based search with physical storage location tracking. Served major media corporations including NBC, CNN, BBC, and Times.

Problem Solved

Professional media organizations needed faster, more intelligent media management - the browser-based solution was too slow for enterprise workflows handling thousands of high-resolution video files

My Role: macOS Developer (promoted to Senior Developer)
  • Led complete architectural reimagining from web to native macOS
  • Built FFMPEG integration with hardware acceleration for media processing
  • Implemented MLKit integration for on-device scene detection and face recognition
  • Designed sophisticated GCD queue architecture for parallel processing
  • Created Core Data model optimized for 10,000+ media assets
Key Outcomes
  • Achieved 15-20x performance improvement across all operations compared to browser-based solution
  • Rebuilt 5-year-old web application as native macOS in 6 months under hard deadline
  • Served major media corporations: NBC, CNN, BBC, Times
  • Integrated MLKit for on-device ML: scene detection, object recognition, face detection
  • Enabled intelligent natural language search with physical storage location tracking (SD cards, hard disks)
  • Leveraged native hardware acceleration via VideoToolbox for H.264/H.265
  • Built sophisticated GCD queue architecture parallelizing work across all CPU cores
  • Became Axle's primary competitive differentiator in media management market
  • Set new industry benchmarks for media compression and search efficiency

Performance

  • 15-20x improvement in compression speed
  • 15-20x improvement in transcoding speed
  • Millisecond search across 10,000+ assets (previously seconds)
  • Real-time metadata extraction (previously batch overnight)

Scale

  • 10,000+ media assets per library
  • 4K video transcoding in under 2 minutes (previously 30+ minutes)
  • Tens of gigabytes per file handling

Technology Stack

Primary Technologies
SwiftObjective-CAppKit
Secondary Technologies
FFMPEG 4.1AVFoundationMLKitCore Data
Infrastructure
VideoToolboxSQLite FTS5
Tools
XcodeInstrumentsCore Data debugging
Challenges & Solutions
Web-to-Native Migration

Challenge

Complete architectural reimagining of 5-year-old web application under 6-month hard deadline - browser logic fundamentally incompatible with native paradigms

Solution

Intensive product owner sessions to understand application by heart, then complete rework replacing web workers with GCD, IndexedDB with optimized Core Data, and leveraging native frameworks (AVFoundation, VideoToolbox, MLKit) impossible in browsers. Strategic prioritization of features by user impact and technical feasibility.

Impact

Delivered native application exceeding web version with 15-20x performance improvements

FFMPEG Integration

Challenge

FFMPEG is massive C-based codebase designed for command-line, not tight Swift/AppKit integration. Professional media organizations used exotic formats from legacy broadcast to modern 4K codecs.

Solution

Built robust Objective-C wrapper for Swift interoperability with careful memory management. Implemented intelligent hardware acceleration detection for VideoToolbox vs software fallback. Created real-time progress tracking and safe cancellation mechanisms.

Impact

Supported all professional formats (ProRes, DNxHD, XDCAM, H.264, H.265) with optimal performance

Memory Management

Challenge

Professional media files are massive (tens of GB), libraries contain thousands - processing without loading into memory while avoiding Core Data batch faulting issues

Solution

Streaming architecture using AVAssetReader for frame-by-frame processing. Careful fetch request batch sizes, prefetching relationships, denormalized search tables. RAII patterns with defer blocks and @autoreleasepool for FFMPEG contexts.

Impact

Stable operation processing massive libraries without memory exhaustion

Multi-Threading Coordination

Challenge

15-20x performance required parallel processing across all CPU cores, but coordinating dozens of concurrent operations risked race conditions, resource exhaustion, and disk thrashing

Solution

Tiered GCD queue architecture with QoS levels, DispatchSemaphore limiting concurrency, intelligent same-disk serialization, CPU thermal monitoring with dynamic parallelism reduction, parent-child Core Data contexts for thread safety

Impact

Maximum throughput without system instability across varied hardware

The Story

Situation

Axle's browser-based media management platform served enterprise clients like NBC, CNN, BBC, and Times, but performance limitations were becoming critical. Processing thousands of 4K video files, overnight batch jobs for compression, and slow search across massive libraries created friction in deadline-driven professional workflows. The 5-year-old web codebase couldn't leverage modern hardware capabilities.

Task

Rebuild the entire platform as a native macOS application in 6 months, achieving dramatic performance improvements while maintaining feature parity for enterprise customers.

Action

Khaled led the complete architectural reimagining, starting with intensive sessions with the product owner to understand the application by heart. Rather than translating code, he reimagined every component for native capabilities: web workers became sophisticated GCD queue architecture, IndexedDB became optimized Core Data with FTS5 full-text search, and browser sandbox restrictions gave way to FFMPEG with VideoToolbox hardware acceleration. He integrated MLKit for on-device machine learning, enabling automatic scene detection, object recognition, and face tagging that competitors couldn't match. The tiered queue architecture balanced maximum throughput with system stability, while streaming architecture handled multi-gigabyte files without memory exhaustion.

Result

The native platform achieved 15-20x performance improvements across all operations. What previously took hours now completed in minutes. Search across 10,000+ assets returned in milliseconds instead of seconds. The MLKit integration enabled searches like 'find all videos with beach scenes on SD card #5' - impossible in the web version. AX1 became Axle's primary competitive differentiator, and the project validated Khaled's transition from mobile developer to senior engineer building enterprise-grade software for major media corporations.

What I Learned

Technical

  • macOS AppKit development transitioning from iOS UIKit
  • FFMPEG deep expertise (codecs, containers, encoding pipelines)
  • Hardware acceleration with VideoToolbox
  • MLKit on-device machine learning integration
  • Core Data at enterprise scale with thousands of entities
  • GCD queue architecture with QoS and resource management
  • Memory management for large media files

Soft Skills

  • Strategic product thinking under deadline constraint
  • Deep product understanding through product owner collaboration
  • Remote work and async communication across time zones
  • Self-directed problem-solving without real-time collaboration

Key Insights

  • 💡 Native apps can be orders of magnitude faster than web apps by leveraging platform capabilities
  • 💡 Desktop applications have fundamentally different performance expectations than mobile
  • 💡 Engineering decisions are product decisions - performance improvements are competitive advantages
  • 💡 Shipping 'good enough' on time beats 'perfect' late