Khaled Elfakharany
Back to Projects
professionalcompleted

NavStation MacENCx64 - Marine Navigation Software

MainSail Holding LLC
Feb 2022 - Mar 2023
Team of 1
Overview

NavStation MacENCx64 is maritime navigation software originally written in the 1990s, serving both yacht owners and commercial vessels. Khaled maintained and modernized this critical safety software, working across a multi-language architecture spanning C, Objective-C, and Swift. The project involved careful code archaeology to understand and preserve decades of navigation algorithms while bringing the interface into the modern era.

Problem Solved

Preserving and modernizing critical maritime safety software that had decades of proven navigation algorithms but needed modern interface updates and platform compatibility

My Role: Senior macOS Developer
  • Maintained legacy C codebase containing core chart rendering and GPS calculations
  • Bridged legacy code through Objective-C middleware layer to modern Swift UI
  • Performed code archaeology to understand undocumented 1990s algorithms
  • Implemented incremental modernization without disrupting proven navigation logic
  • Ensured marine chart rendering accuracy for safety-critical applications
Key Outcomes
  • Maintained legacy navigation codebase with origins spanning back to the 1990s
  • Successfully bridged three programming language generations (C, Objective-C, Swift) in single application
  • Preserved critical maritime safety calculations while modernizing user interface
  • Supported software preservation after company acquisition by yacht owner committed to maintaining software for marine community
  • Delivered ongoing maintenance ensuring reliable navigation for yacht and commercial vessel operations

Performance

  • Maintained real-time GPS tracking and chart rendering performance

Technology Stack

Primary Technologies
CObjective-CSwift
Secondary Technologies
Electronic Navigation Charts (ENC)GPS integrationMarine chart rendering
Infrastructure
macOS
Tools
XcodeGit
Challenges & Solutions
Technical

Challenge

Understanding and maintaining code written in 1990s C without original documentation

Solution

Performed careful reverse engineering through code analysis and incremental testing, building understanding through systematic exploration of the codebase

Impact

Successfully maintained navigation accuracy while enabling ongoing modernization

Architecture

Challenge

Bridging C core with modern Swift UI through Objective-C intermediate layer

Solution

Maintained clean interface boundaries between language layers, ensuring each layer communicated through well-defined interfaces

Impact

Achieved stable multi-language integration enabling ongoing development

The Story

Situation

MainSail Holding LLC operated NavStation MacENCx64, a marine navigation software with origins in the 1990s. The software served yacht owners and commercial vessels with critical navigation capabilities. After the company was acquired by a yacht owner committed to preserving the software for the marine community, ongoing maintenance and modernization became essential.

Task

Khaled was engaged as a senior macOS developer to maintain and modernize the legacy codebase while preserving the proven navigation algorithms that had served mariners for decades.

Action

The developer approached the project as an exercise in code archaeology, systematically exploring the C codebase to understand undocumented navigation algorithms. Clean interface boundaries were maintained between the C core, Objective-C middleware, and Swift UI layers. Each modification was carefully tested to ensure navigation accuracy remained uncompromised. The modernization focused on the user interface while preserving the battle-tested calculation core.

Result

The software continued to serve the maritime community with reliable navigation capabilities. The multi-language architecture remained stable and maintainable, and the preservation effort ensured that decades of proven navigation logic would continue to protect mariners at sea.

What I Learned

Technical

  • Legacy code archaeology and reverse engineering
  • Multi-language application architecture (C/Objective-C/Swift)
  • Marine navigation systems and chart rendering
  • GPS integration and navigation calculations

Soft Skills

  • Working with undocumented legacy systems
  • Balancing modernization with preservation
  • Remote contractor collaboration

Key Insights

  • 💡 Decades-old code often contains proven algorithms that should be preserved rather than replaced
  • 💡 Multi-language architectures require clear boundaries and disciplined interface design