Your Chrome extension doesn’t work in Safari. I fix that.
Apple’s converter gives you an Xcode project that compiles. It does not give you a working extension or App Store approval. I’ve done that part at Honey and at ZeroClick.
Why me
The converter leaves a gap. I've spent years in it.
At Honey I built the company’s first iOS browser extension and ported its legacy Safari extension to Apple’s modern API. At ZeroClick I owned Safari and iOS for its Pie ad blocker: Swift app shells, Xcode Cloud deployment, and the content-blocking work Safari forces through DeclarativeNetRequest. I’ve also taken an iOS Safari extension through App Review alone: Unhabit, a distraction blocker I designed, built, and shipped end to end. TapSmart called it “much better and far more user-friendly than Apple’s solution.” The gap between WebExtension JavaScript and Apple’s toolchain is exactly where ports stall, and not many engineers work on both sides of it.
Start here
Know what a port will take.
- Every API that breaks, cataloged with the Safari-equivalent approach for each
- DeclarativeNetRequest migration plan, if you block or intercept requests
- App Store review risk assessment
- Fixed-bid quote for the full port (macOS and iOS separately)
- A written go/no-go recommendation, even if the answer is "don’t port"
What ports cost
The assessment produces a fixed bid, so you know the number before committing. These are the ranges most projects land in.
| Extension Safari macOSExisting MV3 extension, no request-blocking redesign. Ported and shipped. | 4–6 weeks | $15k–$25k |
| Content blocker Safari + iOSFull webRequest-to-DNR redesign, iOS app shell, App Store approval on both platforms. | 6–10 weeks | $25k–$45k |
| Safari maintenance retainerApp Store review, Xcode and OS upgrades, Safari API changes. | ongoing | $2k–$3.5k/mo |
How working with me goes
- Assessment
Fixed price, one week. The full technical picture and a quote before you commit to anything.
- The port
Fixed bid. I build the Safari macOS and/or iOS extension, handle Xcode and signing, and set up CI.
- App Store & handoff
I drive submission through approval, document the Safari layer, and hand off. A maintenance retainer is optional.
Guides
Read before you hire anyone
Written from shipping this work, not from the docs. If a guide solves your problem outright, you don’t need me.
- Getting your Chrome extension onto Safari and iPhone: the complete guideWhat the converter does, what breaks, DNR, signing, and App Review.
- Safari has no blocking webRequest. Here's what to do instead.The declarativeNetRequest migration: what survives, what needs redesign.
- The converter ran fine. So why is your extension broken?Six silent failure modes of converted extensions and how to diagnose each.
- Safari extension rejected? The usual reasons, and the fixes.App Review rejections translated into fixes, plus review notes that pass.
- When your dynamic rules stop installing, collide, or change meaning in SafariThe shared rule budget, encoding provenance in rule IDs, and teardown that does not break other features.
- The site never reloads, and your extension can't tell where it isWhy server-rendered metadata goes stale after client navigation, and how to keep a content script current.
- When your content script can't see the page's JavaScriptMAIN vs isolated world, registration order, and passing state between halves that cannot message each other.
Questions clients ask
Do we need our own Apple Developer account?
Yes. The extension ships under your account and your brand. Setting one up takes Apple a few days, so we start early.
Our extension uses webRequest to block or modify traffic. Is a port even possible?
Usually, but as a redesign rather than a translation, because Safari requires DeclarativeNetRequest. I shipped this migration for Pie Adblock. The assessment tells you what survives, what needs redesign, and what doesn’t make it.
How long does a full port take?
Four to ten weeks for most extensions, depending on API surface and whether iOS is included. The assessment gives you a number for your codebase.
Can your team maintain it after handoff?
That’s the goal: your JavaScript stays the source of truth, the Swift layer stays thin and documented, and CI means releases don’t depend on one person with a Mac.
Who owns the code? Will you sign an NDA?
Everything is work-for-hire, in your repos from day one. NDAs are fine.
Other things I’m hired for
MCP Server Development for SaaS
I build production MCP servers that put SaaS products inside Claude and ChatGPT.
Learn moreAI-Agent Development Enablement
I get engineering teams shipping production software with AI coding agents.
Learn moreAI-Built POC to Production
I take AI-built prototypes to production: tests, auth, data, deployment.
Learn moreYour users are already on Safari and iPhone.
Send me your extension's Chrome Web Store link and a sentence about what it does. I'll tell you within a day whether a port is worth exploring.