Overview
Toucan wanted a mobile Safari extension — the company's first attempt. I was tasked solo with porting the desktop browser extension to mobile Safari. Apple’s extension model had very little documentation at the time. When the obvious path failed, I relied on tinkering and educated guesses from prior extension experience until it worked. It shipped as one of the first mobile extensions on the App Store extension marketplace.
My Role
- Title
- Senior Software Engineer I → II (early engineer)
- Context
- Solo owner of the mobile Safari port; separate from the main browser extension team flow in year one.
- Scope
- End-to-end port from desktop extension to mobile Safari with no playbook.
The Problem
Toucan had no mobile Safari presence and almost no internal knowledge of how to get there — Apple's extension APIs and docs were thin, and this was the company's first try.
What I Built
Chrome-to-Safari mobile port
- Problem
- The desktop extension couldn't run on mobile Safari without a ground-up port, and documentation didn't explain how.
- Fix
- Solo port of extension logic and behavior to mobile Safari — experimenting when docs ran out and guessing from extension experience when builds failed.
- Result
- A working mobile Safari extension where none existed before.
First marketplace ship
- Problem
- Mobile extension distribution was new territory for both Toucan and the App Store ecosystem.
- Fix
- Pushed the port through Apple's extension submission path until it was accepted.
- Result
- Shipped among the first mobile extensions on the App Store extension marketplace — early proof that Toucan could live outside desktop browsers.
Tech Stack
Outcome / Impact
I got Toucan's first mobile Safari extension live with no template to follow — solo, under-documented APIs, and iterative debugging. Do not claim to be the absolute first extension on the store; it was one of the early mobile extensions on the marketplace when that surface was new.