1<!DOCTYPE html><html lang="en" data-astro-cid-37fxchfa> <head><meta charset="UTF-8"><meta name="description" content="Discover why we created Dreamcraft Tale - the AI story generator that brings affordable, personalized bedtime stories to families. Built by a parent for parents who want creative alternatives to traditional storybooks."><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="icon" type="image/png" href="/favicon.png"><meta name="generator" content="Astro v5.13.7"><title>Our Story - Dreamcraft Tale | From a Parent Who Created AI Bedtime Stories</title><!-- Canonical URL --><link rel="canonical" href="https://dreamcrafttale.com/our-story/"><!-- Block indexing on non-production environments --><!-- Open Graph / Facebook --><meta property="og:type" content="website"><meta property="og:url" content="https://dreamcrafttale.com/our-story/"><meta property="og:title" content="Our Story - Dreamcraft Tale | From a Parent Who Created AI Bedtime Stories"><meta property="og:description" content="Discover why we created Dreamcraft Tale - the AI story generator that brings affordable, personalized bedtime stories to families. Built by a parent for parents who want creative alternatives to traditional storybooks."><meta property="og:image" content="https://dreamcrafttale.com/assets/images/feature.webp"><meta property="og:image:alt" content="Dreamcraft Tale - Magical storytelling app for kids"><meta property="og:site_name" content="Dreamcraft Tale"><!-- Twitter --><meta name="twitter:card" content="summary_large_image"><meta name="twitter:url" content="https://dreamcrafttale.com/our-story/"><meta name="twitter:title" content="Our Story - Dreamcraft Tale | From a Parent Who Created AI Bedtime Stories"><meta name="twitter:description" content="Discover why we created Dreamcraft Tale - the AI story generator that brings affordable, personalized bedtime stories to families. Built by a parent for parents who want creative alternatives to traditional storybooks."><meta name="twitter:image" content="https://dreamcrafttale.com/assets/images/feature.webp"><meta name="twitter:image:alt" content="Dreamcraft Tale - Magical storytelling app for kids"><!-- Fonts - Non-blocking loading --><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><!-- Async CSS with preload --><link rel="preload" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" onload="this.onload=null;this.rel='stylesheet';this.removeAttribute('as')" as="style"><!-- No-JS fallback --><noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap"></noscript><!-- External Resources --><link rel="preconnect" href="https://www.buzzsprout.com" crossorigin><link rel="preconnect" href="https://pixel-config.reddit.com" crossorigin><link rel="preconnect" href="https://alb.reddit.com" crossorigin><!-- Global Styles imported above --><!-- Styles --><!-- Google Tag Manager -->
1<script>
vendor: 338 bytes, lines 1-6
1 2 (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 3 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 4 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 5 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 6 })(window,document,'script','dataLayer','
6GTM-PBDXXGC2
vendor: 6 bytes, lines 6-7
6'); 7
7</script>
7<!-- End Google Tag Manager --><link rel="stylesheet" href="/_astro/about-acceptance.DCom7teV.css"> 8<style>.prose[data-astro-cid-h74ngwd7]{color:#374151;max-width:none}.prose[data-astro-cid-h74ngwd7] h2[data-astro-cid-h74ngwd7]{color:#111827;font-weight:700}.prose[data-astro-cid-h74ngwd7] p[data-astro-cid-h74ngwd7]{line-height:1.75;margin-bottom:1.5rem} 9</style></head> <body data-astro-cid-37fxchfa> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-PBDXXGC2" height="0" width="0" style="display:none;visibility:hidden" data-astro-cid-37fxchfa></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <header class="bg-white shadow-sm border-b border-gray-200" data-astro-cid-3ef6ksr2> <div class="container mx-auto px-4 py-4" data-astro-cid-3ef6ksr2> <div class="flex items-center justify-between" data-astro-cid-3ef6ksr2> <!-- Logo --> <a href="/" class="flex items-center space-x-2" data-astro-cid-3ef6ksr2> <img src="/assets/images/icon_small.webp" alt="Dreamcraft Tale" class="w-8 h-8 rounded-lg" data-astro-cid-3ef6ksr2> <span class="text-xl font-bold text-gray-900" data-astro-cid-3ef6ksr2>Dreamcraft Tale</span> </a> <!-- Navigation --> <nav class="hidden xl:flex items-center space-x-8" data-astro-cid-3ef6ksr2> <a href="/" class="text-gray-600 hover:text-indigo-600 transition-colors" data-astro-cid-3ef6ksr2>Home</a> <a href="/story-library" class="text-gray-600 hover:text-indigo-600 transition-colors" data-astro-cid-3ef6ksr2>Story Library</a> <a href="/our-story" class="text-gray-600 hover:text-indigo-600 transition-colors" data-astro-cid-3ef6ksr2>Our Story</a> <a href="/quality-and-safety" class="text-gray-600 hover:text-indigo-600 transition-colors" data-astro-cid-3ef6ksr2>Safety</a> <a href="/for-educators" class="text-gray-600 hover:text-indigo-600 transition-colors" data-astro-cid-3ef6ksr2>For Educators</a> <a href="/blog" class="text-gray-600 hover:text-indigo-600 transition-colors" data-astro-cid-3ef6ksr2>Blog</a> <a href="/contact" class="text-gray-600 hover:text-indigo-600 transition-colors" data-astro-cid-3ef6ksr2>Contact</a> </nav> <!-- CTA Buttons --> <div class="flex items-center space-x-3" data-astro-cid-3ef6ksr2> <a href="https://apps.apple.com/app/id6752249916?utm_source=website&utm_medium=header&utm_campaign=our-story" target="_blank" rel="noopener noreferrer" class="btn-primary text-sm px-4 py-2 hidden xl:inline-block" data-download-cta data-platform="app_store" data-medium="header" data-campaign="our-story" data-ios-url="https://apps.apple.com/app/id6752249916?utm_source=website&utm_medium=header&utm_campaign=our-story" data-android-url="https://play.google.com/store/apps/details?id=com.piimobile.ai.story&utm_source=website&utm_medium=header&utm_campaign=our-story" data-astro-cid-3ef6ksr2> 10Download App 11</a> <!-- Mobile menu button --> <button id="mobile-menu-button" class="xl:hidden p-2 rounded-md text-gray-600 hover:text-gray-900 hover:bg-gray-100" data-astro-cid-3ef6ksr2> <svg id="menu-open-icon" class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-3ef6ksr2> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16" data-astro-cid-3ef6ksr2></path> </svg> <svg id="menu-close-icon" class="w-6 h-6 hidden" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-3ef6ksr2> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" data-astro-cid-3ef6ksr2></path> </svg> </button> </div> </div> <!-- Mobile menu --> <div id="mobile-menu" class="hidden xl:hidden mt-4 pb-4" data-astro-cid-3ef6ksr2> <nav class="flex flex-col space-y-4" data-astro-cid-3ef6ksr2> <a href="/" class="text-gray-600 hover:text-indigo-600 transition-colors px-4 py-2 hover:bg-gray-50 rounded-md" data-astro-cid-3ef6ksr2>Home</a> <a href="/story-library" class="text-gray-600 hover:text-indigo-600 transition-colors px-4 py-2 hover:bg-gray-50 rounded-md" data-astro-cid-3ef6ksr2>Story Library</a> <a href="/our-story" class="text-gray-600 hover:text-indigo-600 transition-colors px-4 py-2 hover:bg-gray-50 rounded-md" data-astro-cid-3ef6ksr2>Our Story</a> <a href="/quality-and-safety" class="text-gray-600 hover:text-indigo-600 transition-colors px-4 py-2 hover:bg-gray-50 rounded-md" data-astro-cid-3ef6ksr2>Safety</a> <a href="/for-educators" class="text-gray-600 hover:text-indigo-600 transition-colors px-4 py-2 hover:bg-gray-50 rounded-md" data-astro-cid-3ef6ksr2>For Educators</a> <a href="/blog" class="text-gray-600 hover:text-indigo-600 transition-colors px-4 py-2 hover:bg-gray-50 rounded-md" data-astro-cid-3ef6ksr2>Blog</a> <a href="/contact" class="text-gray-600 hover:text-indigo-600 transition-colors px-4 py-2 hover:bg-gray-50 rounded-md" data-astro-cid-3ef6ksr2>Contact</a> <div class="border-t border-gray-200 pt-4 mt-2 flex gap-3 px-4" data-astro-cid-3ef6ksr2> <a href="https://apps.apple.com/app/id6752249916?utm_source=website&utm_medium=header&utm_campaign=our-story" target="_blank" rel="noopener noreferrer" data-download-cta data-platform="app_store" data-medium="mobile_menu" data-campaign="our-story" data-astro-cid-3ef6ksr2> <img src="/assets/images/app_store_dark.svg" alt="Download on the App Store" class="h-11 w-auto" data-astro-cid-3ef6ksr2> </a> <a href="https://play.google.com/store/apps/details?id=com.piimobile.ai.story&utm_source=website&utm_medium=header&utm_campaign=our-story" target="_blank" rel="noopener noreferrer" data-download-cta data-platform="google_play" data-medium="mobile_menu" data-campaign="our-story" data-astro-cid-3ef6ksr2> <img src="/assets/images/google_play_dark.svg" alt="Get it on Google Play" class="h-11 w-auto" data-astro-cid-3ef6ksr2> </a> </div> </nav> </div> </div> </header>
11<script type="module">const i=document.getElementById("mobile-menu-button"),e=document.getElementById("mobile-menu"),n=document.getElementById("menu-open-icon"),d=document.getElementById("menu-close-icon");i&&e&&n&&d&&(i.addEventListener("click",()=>{e.classList.contains("hidden")?(e.classList.remove("hidden"),n.classList.add("hidden"),d.classList.remove("hidden")):(e.classList.add("hidden"),n.classList.remove("hidden"),d.classList.add("hidden"))}),e.querySelectorAll("a").forEach(s=>{s.addEventListener("click",()=>{e.classList.add("hidden"),n.classList.remove("hidden"),d.classList.add("hidden")})}));</script>
11 <main data-astro-cid-37fxchfa> <section class="bg-gradient-to-br from-indigo-50 via-white to-purple-50 py-20" data-astro-cid-h74ngwd7> <div class="max-w-4xl mx-auto px-4 sm:px-6 lg:px-8" data-astro-cid-h74ngwd7> <div class="text-center mb-12" data-astro-cid-h74ngwd7> <h1 class="text-4xl md:text-5xl font-bold text-gray-900 mb-6" data-astro-cid-h74ngwd7> 12Our Story: From a Parent, For Parents 13</h1> <p class="text-xl text-gray-600" data-astro-cid-h74ngwd7> 14The journey that led to creating Dreamcraft Tale 15</p> </div> </div> </section> <section class="py-16 bg-white" data-astro-cid-h74ngwd7> <div class="max-w-4xl mx-auto px-4 sm:px-6 lg:px-8" data-astro-cid-h74ngwd7> <div class="prose prose-lg max-w-none" data-astro-cid-h74ngwd7> <h2 class="text-3xl font-bold text-gray-900 mb-6" data-astro-cid-h74ngwd7>A Parent's Challenge</h2> <p class="text-gray-700 mb-6" data-astro-cid-h74ngwd7> 16Like many parents, I have two young daughters who absolutely love reading. Every night, we'd curl up together for storytime, exploring magical worlds and going on incredible adventures. But as any parent knows, keeping up with a young reader's appetite for books can be challengingâboth financially and logistically. 17</p> <p class="text-gray-700 mb-6" data-astro-cid-h74ngwd7> 18I tried everything to make reading more affordable and accessible for my daughters: 19</p> <ul class="list-disc pl-6 text-gray-700 mb-6 space-y-2" data-astro-cid-h74ngwd7> <li data-astro-cid-h74ngwd7><strong data-astro-cid-h74ngwd7>Buying books overseas</strong> where prices were slightly lowerâbut we'd have to wait almost a month for shipping. My daughters' excitement would fade by the time the books arrived.</li> <li data-astro-cid-h74ngwd7><strong data-astro-cid-h74ngwd7>Kindle Unlimited</strong> seemed promising, but the lack of color illustrations and audio narration disappointed my girls. Plus, the really good books weren't includedâwe still had to purchase them individually, ranging from $0.99 to $6.99 each. The costs added up fast.</li> <li data-astro-cid-h74ngwd7><strong data-astro-cid-h74ngwd7>Local and school libraries</strong> are wonderful resources, and we still use them, but the selection is limited. My daughters would often finish all the age-appropriate books they were interested in within weeks.</li> <li data-astro-cid-h74ngwd7><strong data-astro-cid-h74ngwd7>Reading together as a family</strong> had its own challenges. My wife isn't a native English speaker, so reading aloud was often slow and she worried about pronouncing words incorrectly. This made storytime exhausting for her and sometimes frustrating for our daughters who were eager to know what happened next.</li> </ul> <p class="text-gray-700 mb-6" data-astro-cid-h74ngwd7> 20I found myself searching for a better solutionâsomething that could provide endless variety and personalization without breaking the bank, while still maintaining the quality, color, and engagement that makes reading special for young children. 21</p> <h2 class="text-3xl font-bold text-gray-900 mb-6 mt-12" data-astro-cid-h74ngwd7>The Discovery</h2> <p class="text-gray-700 mb-6" data-astro-cid-h74ngwd7> 22That's when I discovered the potential of AI-generated stories with audio narration. I started experimenting, creating personalized tales featuring my daughters' names and incorporating elements from their real livesâtheir favorite toys, our family adventures, their friends at school. The results were remarkable. 23</p> <p class="text-gray-700 mb-6" data-astro-cid-h74ngwd7> 24My daughters were captivated. Seeing themselves as the heroes of their own stories sparked their imagination in ways I hadn't seen before. They'd excitedly share these stories with their friends and teachers, proudly showing off their personalized adventures. The engagement was genuine, the learning was natural, and the joy was undeniable. 25</p> <p class="text-gray-700 mb-6" data-astro-cid-h74ngwd7> 26Even better, with audio narration, my daughters could enjoy their stories independently while my wife worked on other things in the same room. No more pronunciation worries, no more reading fatigueâjust quality time together while each person could focus on what they needed to do. 27</p> <h2 class="text-3xl font-bold text-gray-900 mb-6 mt-12" data-astro-cid-h74ngwd7>The Mission</h2> <p class="text-gray-700 mb-6" data-astro-cid-h74ngwd7> 28That's when I realized this could help other families too. Not every parent has the time or technical knowledge to generate these stories themselves, but every child deserves access to personalized, engaging content that makes them the star of their own adventures. 29</p> <p class="text-gray-700 mb-6" data-astro-cid-h74ngwd7> 30So we built Dreamcraft Taleâan app that makes it easy for any parent to create beautiful, personalized stories for their children. No technical expertise required, no expensive book purchases needed, no shipping delays, no limited library selections. Just pure imagination and the joy of storytelling. 31</p> <h2 class="text-3xl font-bold text-gray-900 mb-6 mt-12" data-astro-cid-h74ngwd7>Why This Matters</h2> <p class="text-gray-700 mb-6" data-astro-cid-h74ngwd7> 32I understand the concerns many parents have about AI-generated content. As a parent myself, I share those concerns. That's why we've built Dreamcraft Tale with the highest standards for quality, safety, and age-appropriateness. Every feature is designed with children's well-being in mind. 33</p> <p class="text-gray-700 mb-6" data-astro-cid-h74ngwd7> 34This isn't about replacing traditional books or human creativity. It's about providing families with another toolâan affordable, accessible way to spark imagination, encourage literacy, and create special moments together. 35</p> <h2 class="text-3xl font-bold text-gray-900 mb-6 mt-12" data-astro-cid-h74ngwd7>Our Commitment to You</h2> <p class="text-gray-700 mb-6" data-astro-cid-h74ngwd7> 36As Dreamcraft Tale grows, our commitment remains the same: to provide a safe, high-quality platform that serves families first. We're not a faceless corporation or AI tech giantâwe're parents who built this app to solve a real problem for our own family, and now we want to share that solution with yours. 37</p> <p class="text-gray-700 mb-6" data-astro-cid-h74ngwd7> 38Every feature we build, every story we enable, and every decision we make is guided by one simple question: "Would we want this for our own daughters?" 39</p> <p class="text-gray-700 mb-8" data-astro-cid-h74ngwd7> 40Thank you for trusting Dreamcraft Tale with your family's storytelling journey. I can't wait to see the magical stories your children will create. 41</p> <div class="bg-indigo-50 p-8 rounded-xl mt-12" data-astro-cid-h74ngwd7> <p class="text-gray-800 italic text-lg mb-2" data-astro-cid-h74ngwd7> 42"Every child has a storyteller within them. Our mission is to help them discover it." 43</p> <p class="text-gray-600 font-semibold" data-astro-cid-h74ngwd7> 44â The Dreamcraft Tale Team 45</p> </div> </div> </div> </section> <section class="py-20 bg-gradient-to-r from-indigo-600 to-purple-600" data-astro-cid-h74ngwd7> <div class="max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 text-center" data-astro-cid-h74ngwd7> <h2 class="text-3xl md:text-4xl font-bold text-white mb-6" data-astro-cid-h74ngwd7> 46Join Our Story 47</h2> <p class="text-xl text-indigo-100 mb-8" data-astro-cid-h74ngwd7> 48Start creating magical, personalized stories with your children today. 49</p> <div class="flex flex-col sm:flex-row gap-4 justify-center" data-astro-cid-h74ngwd7> <a href="https://apps.apple.com/app/id6752249916?utm_source=website&utm_medium=cta&utm_campaign=our_story" target="_blank" rel="noopener noreferrer" class="transition-all duration-200 hover:opacity-80 transform hover:-translate-y-0.5" onclick="window.dataLayer = window.dataLayer || []; window.dataLayer.push({ 'event': 'download_app', 'platform': 'app_store', 'source': 'website', 'medium': 'cta', 'campaign': 'our_story' });" data-astro-cid-h74ngwd7> <img src="/assets/images/app_store_dark.svg" alt="Download on the App Store" class="h-14 w-auto" data-astro-cid-h74ngwd7> </a> <a href="https://play.google.com/store/apps/details?id=com.piimobile.ai.story&utm_source=website&utm_medium=cta&utm_campaign=our_story" target="_blank" rel="noopener noreferrer" class="transition-all duration-200 hover:opacity-80 transform hover:-translate-y-0.5" onclick="window.dataLayer = window.dataLayer || []; window.dataLayer.push({ 'event': 'download_app', 'platform': 'google_play', 's
49ource': 'website', 'medium': 'cta', 'campaign': 'our_story' });" data-astro-cid-h74ngwd7> <img src="/assets/images/google_play_dark.svg" alt="Get it on Google Play" class="h-14 w-auto" data-astro-cid-h74ngwd7> </a> </div> </div> </section> </main> <footer class="bg-gray-50 border-t border-gray-200"> <div class="container mx-auto px-4 py-12"> <div class="grid grid-cols-1 md:grid-cols-4 gap-8"> <!-- Company Info --> <div class="col-span-1 md:col-span-2"> <div class="flex items-center space-x-2 mb-4"> <img src="/assets/images/icon_small.webp" alt="Dreamcraft Tale" class="w-8 h-8 rounded-lg"> <span class="text-xl font-bold text-gray-900">Dreamcraft Tale</span> </div> <p class="text-gray-600 mb-4 max-w-md"> 50The magical app that turns your child's ideas into beautifully illustrated stories. Join our community, create unforgettable adventures, and explore thousands of stories shared by families worldwide. 51</p> <div class="flex space-x-4"> <a href="https://www.youtube.com/@dreamcrafttale" target="_blank" rel="noopener noreferrer" class="text-gray-400 hover:text-indigo-600 transition-colors" aria-label="YouTube"> <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 24 24"> <path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"></path> </svg> </a> <a href="#" class="text-gray-400 hover:text-indigo-600 transition-colors" aria-label="TikTok"> <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 24 24"> <path d="M19.59 6.69a4.83 4.83 0 0 1-3.77-4.25V2h-3.45v13.67a2.89 2.89 0 0 1-5.2 1.74 2.89 2.89 0 0 1 2.31-4.64 2.93 2.93 0 0 1 .88.13V9.4a6.84 6.84 0 0 0-1-.05A6.33 6.33 0 0 0 5 20.1a6.34 6.34 0 0 0 10.86-4.43v-7a8.16 8.16 0 0 0 4.77 1.52v-3.4a4.85 4.85 0 0 1-1-.1z"></path> </svg> </a> </div> </div> <!-- Quick Links --> <div> <h3 class="text-sm font-semibold text-gray-900 uppercase tracking-wider mb-4">Product</h3> <ul class="space-y-2"> <li><a href="/#features" class="text-gray-600 hover:text-indigo-600 transition-colors">Features</a></li> <li><a href="/#how-it-works" class="text-gray-600 hover:text-indigo-600 transition-colors">How It Works</a></li> <li><a href="/our-story" class="text-gray-600 hover:text-indigo-600 transition-colors">Our Story</a></li> <li><a href="/quality-and-safety" class="text-gray-600 hover:text-indigo-600 transition-colors">Quality & Safety</a></li> <li><a href="/for-educators" class="text-gray-600 hover:text-indigo-600 transition-colors">For Educators</a></li> <li><a href="/blog" class="text-gray-600 hover:text-indigo-600 transition-colors">Blog</a></li> <li><a href="/download" class="text-gray-600 hover:text-indigo-600 transition-colors">Download</a></li> </ul> </div> <!-- Legal & Support --> <div> <h3 class="text-sm font-semibold text-gray-900 uppercase tracking-wider mb-4">Support</h3> <ul class="space-y-2"> <li><a href="/contact" class="text-gray-600 hover:text-indigo-600 transition-colors">Contact Us</a></li> <li><a href="/privacy-policy" class="text-gray-600 hover:text-indigo-600 transition-colors">Privacy Policy</a></li> <li><a href="/terms-of-service" class="text-gray-600 hover:text-indigo-600 transition-colors">Terms of Service</a></li> </ul> </div> </div> <!-- Bottom Bar --> <div class="border-t border-gray-200 mt-8 pt-8"> <div class="flex flex-col md:flex-row justify-between items-center"> <p class="text-gray-600 text-sm"> 52© 2025 Dreamcraft Tale team (Pii Mobile Limited). All rights reserved. 53</p> <div class="flex space-x-6 mt-4 md:mt-0"> <a href="/privacy-policy" class="text-gray-600 hover:text-indigo-600 text-sm transition-colors">Privacy</a> <a href="/terms-of-service" class="text-gray-600 hover:text-indigo-600 text-sm transition-colors">Terms</a> <a href="/contact" class="text-gray-600 hover:text-indigo-600 text-sm transition-colors">Contact</a> </div> </div> </div> </div> </footer> <div id="sticky-download-bar" class="fixed bottom-0 left-0 right-0 z-40 md:hidden hidden bg-white border-t border-gray-200 shadow-[0_-2px_12px_rgba(0,0,0,0.08)]"><div class="flex items-center gap-3 px-4 py-3"><img src="/assets/images/icon_small.webp" alt="" class="w-10 h-10 rounded-lg flex-shrink-0"><div class="min-w-0 flex-1"><p class="text-sm font-semibold text-gray-900 leading-tight truncate">Read the full story</p><p class="text-xs text-gray-500 leading-tight truncate">Illustrations & narration</p></div><a href="https://apps.apple.com/app/id6752249916?utm_source=website&utm_medium=sticky_bar&utm_campaign=our-story" target="_blank" rel="noopener noreferrer" class="flex-shrink-0 rounded-lg px-3 py-2 text-sm font-semibold text-white whitespace-nowrap" style="background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);" data-download-cta data-platform="app_store" data-medium="sticky_bar" data-campaign="our-story" data-ios-url="https://apps.apple.com/app/id6752249916?utm_source=website&utm_medium=sticky_bar&utm_campaign=our-story" data-android-url="https://play.google.com/store/apps/details?id=com.piimobile.ai.story&utm_source=website&utm_medium=sticky_bar&utm_campaign=our-story"> 54Get the App 55</a><button id="sticky-download-dismiss" type="button" aria-label="Dismiss" class="flex-shrink-0 p-1 -mr-1 text-gray-400 hover:text-gray-600"><svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
55<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path></svg></button></div></div>
55<script type="module">const s=document.getElementById("sticky-download-bar"),t=document.getElementById("sticky-download-dismiss"),d="dc_sticky_download_dismissed";s&&sessionStorage.getItem(d)!=="1"&&(s.classList.remove("hidden"),document.body.classList.add("has-sticky-download-bar"));t?.addEventListener("click",()=>{s?.classList.add("hidden"),document.body.classList.remove("has-sticky-download-bar");try{sessionStorage.setItem(d,"1")}catch{}});</script>
55
55<script> 56 // One handler for every store link on the site. Elements opt in with 57 // data-download-cta and describe themselves with data-* attributes, so a 58 // CTA can never silently ship without tracking. 59 (function () { 60 function isIOS() { 61 var ua = navigator.userAgent || ''; 62 // iPadOS 13+ reports as Macintosh, so check for touch too. 63 return /iPad|iPhone|iPod/.test(ua) || (/Macintosh/.test(ua) && navigator.maxTouchPoints > 1); 64 } 65 66 // Point device-aware buttons at the store the visitor can actually use. 67 document.querySelectorAll('[data-download-cta][data-ios-url][data-android-url]').forEach(function (el) { 68 var ios = isIOS(); 69 el.setAttribute('href', ios ? el.dataset.iosUrl : el.dataset.androidUrl); 70 el.dataset.platform = ios ? 'app_store' : 'google_play'; 71 }); 72 73 document.addEventListener('click', function (event) { 74 var el = event.target.closest && event.target.closest('[data-download-cta]'); 75 if (!el) return; 76 window.dataLayer = window.dataLayer || []; 77 window.dataLayer.push({ 78 event: 'download_app', 79 platform: el.dataset.platform || 'unknown', 80 source: 'website', 81 medium: el.dataset.medium || 'unknown', 82 campaign: el.dataset.campaign || 'unknown', 83 }); 84 }); 85 })(); 86 </script>
86 </body> </html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.