Deeplink Encoder/Decoder

During the development of Canvas Dx, our iOS and Android teams were often slowed down by the nature of developing with our server driven navigation and UI. The foundation of this system is a deep link URL that includes a data parameter. The value of this parameter is a base64-encoded data blob that holds a securely encrypted JSON object. While we used a variety of tools to inspect server responses, these deep link URLs held data necessary to debug a variety of issues.

Seeing the need to quickly decode and generate these deep link URLs led me to build a macOS app used throughout the engineering team. This minimal app used the core Cognoa frameworks for decrypting the encoded data. I translated the Ruby logic from the server into Swift so that the app could offer encoding as well*. Thanks to the availability of an open-source SwiftUI code editor view, I was able to build an app in a day that paid for itself over years of work. It was particularly helpful in onboarding new team members and illustrating how the navigation system works.

* Later, this code was instrumental in building the dummy server.

Project categories: Software Engineer

Redirector app displaying JSON payload and encoded URL.
Redirector displaying JSON errors
Close
Go top