A year ago today, we opened Bifrost up.
The pitch was simple and slightly ridiculous: connect a GitHub repo, and we'll turn your Laravel app into signed iOS and Android binaries and push them to the stores. No Xcode. No build machine humming in the corner. No Mac at all, if you don't want one.
Twelve months later, one of you just ran the 10,000th successful build through Bifrost. Impeccable timing!
Ten thousand times, someone pushed a Laravel app and got back something they could install on a phone. We are genuinely, stupidly pleased about this, and it's entirely down to folks like you who have taken a chance on us.
So we've shipped six new things to celebrate. Four of them are about getting the busy work off your desk. The others is about where all of this is going.
1. A brand new Bifrost website#
We've spent months thinking about/discussing/agonizing over where NativePHP and Bifrost fit in this new world order.
We're extremely excited about what this tech can do and we're already seeing and hearing from teams who are shipping at incredible pace.
And 'pace' really is the word. We strongly believe that when you can have AI build anything, what you choose to build and how its built matter even more.
In the end, it's all just time and tokens, and we want to save you both, whether you're using AI or not.
We're working hard to make NativePHP and Bifrost the most time- and token-efficient ways to build and ship fully native, truly cross-platform experiences. Period.
Today, Bifrost is already leading the market as the fastest build service for iOS and Android, with wait times and build times over 2x faster than most other providers.
But we're on a mission to smooth over all points of friction that you feel shipping apps today.
Go check out the new website →
2. Bifrost is an MCP server#
You can now point your AI agent at Bifrost and let it drive.
If you're on Claude Code, it's one line:
claude mcp add --transport http bifrost https://bifrost.nativephp.com/mcp/oauth
Any other MCP client works too. Add https://bifrost.nativephp.com/mcp/oauth as a remote server, and it opens Bifrost in your browser so you can sign in and see exactly what access you're granting. No personal access tokens to generate, paste and then forget you left in a config file somewhere.
Once it's connected, your agent can find your teams and projects, kick off a build, watch it, cancel it, tell you how many credits you have left, upload signing credentials, list your workflows and run them, and fetch the diagnosis on a build that failed.
Which means "ship a build to TestFlight" becomes another cool thing you can tell your agent to do instead of a boring process you have to click through.
It comes in two parts: individual users need to authenticate their favorite agent to the Bifrost MCP server and Team Owners need to allow MCP connections for their teams, which is just a simple toggle. Then the magic can happen.
3. Workflows: stop clicking Ship it!#
Workflows run builds for you when something happens in your repo. There are currently seven triggers available:
- Pull request opened. Fires when a PR opens or reopens, and again on every new commit. Status checks and comments link straight back to the build.
- Push to a branch. Including merged PRs.
- Branch created.
- Tag created. The tag becomes your version number.
- Release published.
- Run by AI agent. This one only fires through the MCP server. It's a workflow with no automatic trigger at all, sitting there waiting for you to ask for it.
- Called from a webhook. An HTTP POST from whatever CI you already run.
A workflow has two stages. "When triggered" holds the builds, up to one per platform, so iOS and Android go out together, each with its own signing setup. "Then" runs after they finish: a signed webhook, a Slack message, a Discord ping, an email.
Most triggers take branch or tag filters, with wildcards, so release/* does what you'd expect. If two events land on the same commit inside ten minutes, we won't build it twice. And you can deactivate a workflow, so you can stop it from running without deleting it and losing its the config and history.
Workflows are available on every plan. Apprentice and Loki get one per app. Hela and Thor get as many as you like.
4. Managed Credentials: never think about certificates again#
Signing is the part of mobile development that makes people quit. So pick Managed Credentials in the setup wizard and we'll handle the lot.
On iOS, give us an App Store Connect API key and Bifrost registers your bundle ID in App Store Connect (if it doesn't already exist), generates the distribution or development certificate, keeps the private key safe, and creates and stores the provisioning profiles.
You can even turn on capabilities like Push Notifications without leaving Bifrost. We create one certificate per team and reuse it across your apps, because Apple's certificate limit is real and people hit it.
Profiles expire after a year, certificates after about three. We email the team owner 30 days before anything expires, and renewal is just a button click. Most of the time it won't need you at all.
Provide a Play Store service account key and we can generate app keystores for you too. They're good for 25 years and hand you an upload key to register in Play Console. It's separate from Google's Play App Signing key, and you can rotate the password yourself whenever you want.
Managing credentials for building and distributing your apps couldn't be simpler.
Read the Managed Credentials docs →
5. Failed builds that explain themselves#
When a build breaks, Claude reads the log and tells you what actually went wrong and how to fix it.
Not 4,000 lines of Gradle output. Not a stack trace with the useful line buried on page three. A sentence or two in plain English about what went wrong, and what you can do about it.
It's on by default, and your agent can pull the diagnosis through MCP too, so a failed build can go straight from the log to a proposed fix without you reading either.
Included for free on every plan.
6. Monorepos just work#
Point Bifrost at the folder your app lives in and builds run from there.
That's the whole feature. You shouldn't have to reorganise your repository to keep a build tool happy, and now you don't.
A birthday deal#
Bifrost is one today, so we're starting our Black Friday (yes, the one that is still more than 2 months away) deal absurdly early and running it right through to the end of the year.
Use HAPPYBIRTHDAY at checkout for 30% off. Good on annual Loki, Hela and Thor plans, on top of the discount annual billing already gets you.
Year two#
Look back at that list and there's a pattern. An MCP server. A workflow trigger that only an agent can fire. Build failures that come back as answers instead of logs. Credentials that renew themselves.
We think the interesting thing about shipping mobile apps in 2027 is that most of it shouldn't need a human at the controls. You should be able to say what you want built and have it built, signed and uploaded, and only get pulled in when something genuinely needs a decision.
We're not all the way there. But we're a lot closer than we were in September 2025, and the next twelve months are pointed squarely at bridging the gap.
Thanks for the 10K builds. Here's to year two and 10K builds per day! 🥂
Now go Make. Ship. Happen.
Shane & Simon