---
description: Learn how StoryHunt uses Capawesome Cloud to replace custom-built solutions and ship updates to their travel app in hours instead of days.
title: Case Study: StoryHunt Ships Updates in Hours, Not Days - Capawesome
image: https://capawesome.io/docs/assets/images/social/blog/case-study-storyhunt.png
---

[ Skip to content](#case-study-storyhunt-ships-updates-in-hours-not-days) 

[ 🔐 Introducing the **Capacitor Vault** plugin — store secrets behind biometrics or a device passcode.](/blog/announcing-the-capacitor-vault-plugin/) 

* [  SDKs ](/docs/sdks/)
* [  Formbricks ](/docs/sdks/capacitor/formbricks/)
* [  Geocoder ](/docs/sdks/capacitor/geocoder/)
* [  Google Sign-In ](/docs/sdks/capacitor/google-sign-in/)
* [  Grafana Faro ](/docs/sdks/capacitor/grafana-faro/)
* [  libSQL ](/docs/sdks/capacitor/libsql/)
* [  Live Update ](/docs/sdks/capacitor/live-update/)
* [  Managed Configurations ](/docs/sdks/capacitor/managed-configurations/)
* [  Media Session ](/docs/sdks/capacitor/media-session/)
* [  ML Kit ](/docs/sdks/capacitor/mlkit/)
* [  Navigation Bar ](/docs/sdks/capacitor/navigation-bar/)
* [  NFC ](/docs/sdks/capacitor/nfc/)
* [  OAuth ](/docs/sdks/capacitor/oauth/)
* [  Pedometer ](/docs/sdks/capacitor/pedometer/)
* [  Photo Editor ](/docs/sdks/capacitor/photo-editor/)
* [  PostHog ](/docs/sdks/capacitor/posthog/)
* [  Printer ](/docs/sdks/capacitor/printer/)
* [  Purchases ](/docs/sdks/capacitor/purchases/)
* [  RealtimeKit ](/docs/sdks/capacitor/realtimekit/)
* [  Screen Orientation ](/docs/sdks/capacitor/screen-orientation/)
* [  Screenshot ](/docs/sdks/capacitor/screenshot/)
* [  Secure Preferences ](/docs/sdks/capacitor/secure-preferences/)
* [  Speech Recognition ](/docs/sdks/capacitor/speech-recognition/)
* [  Speech Synthesis ](/docs/sdks/capacitor/speech-synthesis/)
* [  Share Target ](/docs/sdks/capacitor/share-target/)
* [  Square Mobile Payments ](/docs/sdks/capacitor/square-mobile-payments/)
* [  SQLite ](/docs/sdks/capacitor/sqlite/)
* [  Superwall ](/docs/sdks/capacitor/superwall/)
* [  Torch ](/docs/sdks/capacitor/torch/)
* [  Vault ](/docs/sdks/capacitor/vault/)
* [  Wifi ](/docs/sdks/capacitor/wifi/)
* [  Zip ](/docs/sdks/capacitor/zip/)
* [  Cordova ](/docs/sdks/cordova/)
* [  Cloud ](/docs/cloud/)
* [  Integrations ](/docs/cloud/live-updates/integrations/)
* Concepts
* Reference
* [  Troubleshooting ](/docs/cloud/live-updates/troubleshooting/)
* [  FAQ ](/docs/cloud/live-updates/faq/)
* [  Native Builds ](/docs/cloud/native-builds/)
* [  Set Up Environments ](/docs/cloud/native-builds/environments/)
* [  Overwrite Native Configurations ](/docs/cloud/native-builds/native-configurations/)
* [  Auto-Increment Build Numbers ](/docs/cloud/native-builds/auto-incrementing-build-numbers/)
* [  Configure the Web Build Script ](/docs/cloud/native-builds/web-build-script/)
* [  Build from a Monorepo ](/docs/cloud/native-builds/monorepo/)
* [  Use pnpm or Yarn ](/docs/cloud/native-builds/package-managers/)
* [  Install Private npm Packages ](/docs/cloud/native-builds/npm-private-registry/)
* [  Override the Java Version ](/docs/cloud/native-builds/override-java-version/)
* [  Custom iOS Provisioning Profiles ](/docs/cloud/native-builds/custom-ios-provisioning-profiles/)
* [  Build without Git ](/docs/cloud/native-builds/build-without-git/)
* [  Access Git Behind a Firewall ](/docs/cloud/native-builds/firewall-access/)
* [  Integrations ](/docs/cloud/native-builds/integrations/)
* Reference
* [  Troubleshooting ](/docs/cloud/native-builds/troubleshooting/)
* [  FAQ ](/docs/cloud/native-builds/faq/)
* [  App Store Publishing ](/docs/cloud/app-store-publishing/)
* [  Submit a Build ](/docs/cloud/app-store-publishing/submit-a-build/)
* [  Submit Automatically After a Build ](/docs/cloud/app-store-publishing/submit-automatically/)
* [  Troubleshooting ](/docs/cloud/app-store-publishing/troubleshooting/)
* [  FAQ ](/docs/cloud/app-store-publishing/faq/)
* [  Automations ](/docs/cloud/automations/)
* [  Reference ](/docs/cloud/automations/reference/)
* [  Troubleshooting ](/docs/cloud/automations/troubleshooting/)
* [  FAQ ](/docs/cloud/automations/faq/)
* [  Assist ](/docs/cloud/assist/)
* [  CLI ](/docs/cloud/cli/)
* APIs and SDKs
* [  Webhooks ](/docs/cloud/webhooks/)
* [  Integrations ](/docs/cloud/integrations/)
* Account
* [  Organization ](/docs/cloud/organizations/)
* [  Two-Factor Enforcement ](/docs/cloud/organizations/two-factor-authentication/)
* [  Audit Logs ](/docs/cloud/organizations/audit-logs/)
* [  Billing ](/docs/cloud/organizations/billing/)
* [  License Keys ](/docs/cloud/license-keys/)
* [  AI ](/docs/ai/)
* [  Insiders ](/docs/insiders/)
* [  Billing & Plans ](/docs/insiders/billing-and-plans/)
* [  FAQ ](/docs/insiders/faq/)
* [  License ](https://capawesome.io/legal/eula/)
* [  Support ](/docs/support/)
* [  Contributing ](/docs/contributing/)
* Contributing code
* [  Code of Conduct ](/docs/contributing/code-of-conduct/)
* [  Questions ](https://docs.github.com/en/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion#creating-a-discussion)
* [  Blog ](/blog/)
* Categories

* [  Results ](#results)
* [  Get Started ](#get-started)
* [  Conclusion ](#conclusion)

# Case Study: StoryHunt Ships Updates in Hours, Not Days[¶](#case-study-storyhunt-ships-updates-in-hours-not-days "Permanent link")

[StoryHunt](https://www.storyhunt.io/) is a travel app that lets users explore destinations through interactive maps, audio stories, and personalized tours. Built by a small team based in Denmark, the app serves global travelers and tourism organizations looking to create engaging, on-location experiences. After replacing custom-built native solutions with Capawesome Cloud, StoryHunt cut their release cycle from days to hours while improving app stability across the board.

[ ![Build and deploy your Capacitor app with Capawesome Cloud](../../assets/external/cloud.capawesome.io/assets/banners/cloud-build-and-deploy-capacitor-apps.69628c3f.png) ](https://cloud.capawesome.io/) 

## Background[¶](#background "Permanent link")

StoryHunt helps travelers discover destinations by turning real-world places into interactive stories. Users can explore freely on a map, build their own routes, or follow curated tours created by local experts. The company also works with cities and destination organizations to showcase local attractions and distribute visitors beyond the main tourist spots.

The app is built with [Ionic](https://ionicframework.com/), [Angular](https://angular.dev/), and [Capacitor](https://capacitorjs.com/), running across iOS, Android, and the web from a single codebase. The backend is powered by [Firebase](https://firebase.google.com/) (Firestore, Functions, Auth), with [Mapbox](https://www.mapbox.com/) for maps and location data, plus additional services for AI-generated content and audio streaming.

StoryHunt is available on the [App Store](https://apps.apple.com/dk/app/storyhunt/id1563214352) and [Google Play](https://play.google.com/store/apps/details?id=dk.storyhunt.app).

## Pain Points[¶](#pain-points "Permanent link")

Before adopting Capawesome Cloud, StoryHunt relied heavily on web-based functionality and custom-built solutions to handle native features. This approach created several challenges:

**Stability Issues**: Custom implementations for critical features like media playback and offline data handling were prone to bugs. Audio playback — a core part of the StoryHunt experience — was particularly affected, leading to a frustrating user experience.

**Slow Release Cycles**: Deploying updates required submitting native builds through app store review processes, meaning even minor fixes took days to reach users. For a team iterating on a recently launched product, this was a serious bottleneck.

**Manual Deployment Overhead**: Releases required significant manual effort, pulling focus away from product development. Maintaining native functionality across both iOS and Android added further complexity and cost.

**Dependency on External Developers**: The complexity of maintaining custom native solutions meant the team relied on external developers for certain tasks, increasing both cost and turnaround time.

## Why Capawesome Cloud[¶](#why-capawesome-cloud "Permanent link")

StoryHunt previously relied on internal, custom-built solutions for native functionality and deployment, but the maintenance overhead wasn't worth the complexity. After evaluating their options, they chose Capawesome Cloud for several reasons:

**Complete Ecosystem**: Rather than piecing together multiple tools and vendors, StoryHunt found a single platform covering native functionality (through [Capawesome Insiders](/docs/insiders/) plugins), [live updates](/docs/cloud/live-updates/), [native builds](/docs/cloud/native-builds/), and [app store publishing](/docs/cloud/app-store-publishing/). This tight integration reduces complexity significantly.

**Developer Experience**: The platform integrates seamlessly into existing workflows. Everything works together out of the box, minimizing setup and configuration time.

**Responsive Support**: Support has been fast, responsive, and proactive — a critical factor for a small team that can't afford to get stuck on integration issues.

> "Capawesome Cloud gives us a tightly integrated setup across native functionality and deployment, making it easy to ship both code and updates fast without added complexity. The platform just works, and their support is fast, responsive, and genuinely helpful."
> 
> — Mathias Mølgaard, CEO at StoryHunt

## Integration & Workflow[¶](#integration-workflow "Permanent link")

StoryHunt integrated Capawesome Cloud into their existing development workflow using [GitHub Actions](https://github.com/features/actions) for CI/CD, automating builds and deployments across iOS and Android with minimal manual steps.

### Live Updates with Firebase Remote Config[¶](#live-updates-with-firebase-remote-config "Permanent link")

A key part of StoryHunt's setup is combining Capawesome Cloud [Live Updates](/docs/cloud/live-updates/) with [Firebase Remote Config](https://firebase.google.com/docs/remote-config) to control how updates are delivered. This combination gives them fine-grained control over the update experience:

* **Optional vs. required updates**: Remote Config flags determine whether an update is critical (requiring immediate action) or can wait until the next app reload
* **Staged rollouts**: Updates are tested through channel-based distribution before wider release
* **Rollback strategy**: A clear rollback plan allows the team to quickly revert changes if issues arise in production

### Native Builds & App Store Publishing[¶](#native-builds-app-store-publishing "Permanent link")

Beyond live updates, StoryHunt uses Capawesome Cloud's [Native Builds](/docs/cloud/native-builds/) and [App Store Publishing](/docs/cloud/app-store-publishing/) features to handle the full release lifecycle. Combined with [Automations](/docs/cloud/automations/), builds are triggered directly from their codebase with proper code signing across both platforms and published to the App Store and Google Play automatically.

This end-to-end automation means the team spends minimal time on release management and can focus on building the product.

## Results[¶](#results "Permanent link")

StoryHunt recently launched a new version of their app and is already seeing clear improvements:

**Faster Iteration Cycles**: Updates and fixes now reach users in hours instead of days. For a product centered around interactive audio experiences, the ability to quickly address playback issues or push content updates has been critical.

**Reduced Development Costs**: By replacing custom-built native solutions with Capawesome Insiders plugins — including plugins for [Firebase](/docs/plugins/firebase/authentication.md), [Purchases](/docs/plugins/purchases.md), and audio playback — StoryHunt eliminated significant maintenance overhead and reduced their dependency on external developers.

**Improved App Stability**: Moving from custom web-based implementations to native solutions through Capawesome plugins significantly improved reliability, especially for audio playback, which is core to the product.

**Faster Feature Development**: The streamlined deployment pipeline allows the team to ship features more efficiently, even as a small team. Combined with modern development tools, StoryHunt can move faster than ever.

## Get Started[¶](#get-started "Permanent link")

Want to see how Capawesome Cloud can streamline your team's development and deployment workflow? Book a demo to learn more.

[Book a Capawesome Cloud Demo](https://cal.com/team/capawesome/cloud-demo)

## Conclusion[¶](#conclusion "Permanent link")

StoryHunt's story shows how a small team can move fast by choosing the right tools. By replacing fragile custom solutions with a single, integrated platform, they gained stability, speed, and the freedom to focus on building a great product. Their approach of combining live updates with Firebase Remote Config for fine-grained update control is a practical pattern that other teams can adopt.

For more on how teams use Capawesome Cloud at scale, check out the [snapAddy case study](/blog/case-study-snapaddy-live-updates/) on deploying live updates to 200K+ monthly active users. Have questions or want to connect with other Capacitor developers? Join the [Capawesome Discord server](https://discord.gg/VCXxSVjefW). And to stay updated on new guides and features, subscribe to the [Capawesome newsletter](https://cloud.capawesome.io/newsletter).

June 10, 2026 

 Back to top 